Integrated: 8282049: AArch64: Use ZR for integer zero immediate volatile stores

Dmitry Chuyko dchuyko at openjdk.java.net
Fri Feb 18 16:06:14 UTC 2022


On Thu, 17 Feb 2022 13:55:53 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.

This pull request has now been integrated.

Changeset: 413bef68
Author:    Dmitry Chuyko <dchuyko at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/413bef6890e9ba820590aa48017c4c7b1d691d24
Stats:     91 lines in 1 file changed: 91 ins; 0 del; 0 mod

8282049: AArch64: Use ZR for integer zero immediate volatile stores

Reviewed-by: adinn, phh

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

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


More information about the hotspot-compiler-dev mailing list