--- 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) %{