< prev index next >
src/hotspot/cpu/arm/arm.ad
Print this page
*** 5314,5325 ****
%}
// Prefetch instructions.
// Must be safe to execute with invalid address (cannot fault).
! instruct prefetchAlloc_mp( memoryP mem ) %{
! predicate(os::is_MP());
match( PrefetchAllocation mem );
ins_cost(MEMORY_REF_COST);
size(4);
format %{ "PLDW $mem\t! Prefetch allocation" %}
--- 5314,5324 ----
%}
// Prefetch instructions.
// Must be safe to execute with invalid address (cannot fault).
! instruct prefetchAlloc( memoryP mem ) %{
match( PrefetchAllocation mem );
ins_cost(MEMORY_REF_COST);
size(4);
format %{ "PLDW $mem\t! Prefetch allocation" %}
*** 5331,5357 ****
#endif
%}
ins_pipe(iload_mem);
%}
- instruct prefetchAlloc_sp( memoryP mem ) %{
- predicate(!os::is_MP());
- match( PrefetchAllocation mem );
- ins_cost(MEMORY_REF_COST);
- size(4);
-
- format %{ "PLD $mem\t! Prefetch allocation" %}
- ins_encode %{
- #ifdef AARCH64
- __ prfm(pstl1keep, $mem$$Address);
- #else
- __ pld($mem$$Address);
- #endif
- %}
- ins_pipe(iload_mem);
- %}
-
//----------Store Instructions-------------------------------------------------
// Store Byte
instruct storeB(memoryB mem, store_RegI src) %{
match(Set mem (StoreB mem src));
ins_cost(MEMORY_REF_COST);
--- 5330,5339 ----
< prev index next >