src/hotspot/cpu/arm/arm.ad
changeset 54915 278600885731
parent 53686 3047cf8c3bc2
child 58019 86b95fc6ca32
--- a/src/hotspot/cpu/arm/arm.ad	Fri May 17 00:21:10 2019 +0200
+++ b/src/hotspot/cpu/arm/arm.ad	Thu May 16 18:45:30 2019 -0400
@@ -4348,7 +4348,8 @@
 // Prefetch instructions.
 // Must be safe to execute with invalid address (cannot fault).
 
-instruct prefetchAlloc( memoryP mem ) %{
+instruct prefetchAlloc_mp( memoryP mem ) %{
+  predicate(VM_Version::has_multiprocessing_extensions());
   match( PrefetchAllocation mem );
   ins_cost(MEMORY_REF_COST);
   size(4);
@@ -4360,6 +4361,20 @@
   ins_pipe(iload_mem);
 %}
 
+instruct prefetchAlloc_sp( memoryP mem ) %{
+  predicate(!VM_Version::has_multiprocessing_extensions());
+  match( PrefetchAllocation mem );
+  ins_cost(MEMORY_REF_COST);
+  size(4);
+
+  format %{ "PLD $mem\t! Prefetch allocation" %}
+  ins_encode %{
+    __ pld($mem$$Address);
+  %}
+  ins_pipe(iload_mem);
+%}
+
+
 //----------Store Instructions-------------------------------------------------
 // Store Byte
 instruct storeB(memoryB mem, store_RegI src) %{