RFR: 8282049: AArch64: Use ZR for integer zero immediate volatile stores [v2]

Paul Hohensee phh at openjdk.java.net
Thu Feb 17 18:33:17 UTC 2022


On Thu, 17 Feb 2022 15:10:49 GMT, Dmitry Chuyko <dchuyko at openjdk.org> wrote:

>> Rules and encodings for volatile stores of immediate zero byte, char, int, long and pointers were added in aarch64.ad. E.g. storeimmN0_volatile() and aarch64_enc_stlrw0(). They use stlr instructions with ZR similar to what is already done for non-volatile zero stores and str instructions.
>> 
>> So for example
>> 
>> mov x13, xzr
>> stlr x13, [x11]
>> 
>> turns into
>> 
>> stlr xzr [x11]
>> 
>> There's no direct effect in dedicated micro-benchmarks on N1 but 1 register and 1 instruction are saved.
>> 
>> Testing: jtreg tier1, tier2, applications/jcstress on bare metal Graviton 2.
>
> Dmitry Chuyko has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into JDK-8282049
>  - Added rules for stlr zr, mem

Lgtm.

-------------

Marked as reviewed by phh (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7515


More information about the hotspot-compiler-dev mailing list