Integrated: 8282528: AArch64: Incorrect replicate2L_zero rule

Eric Liu eliu at openjdk.java.net
Wed Apr 13 04:25:15 UTC 2022


On Thu, 24 Mar 2022 09:14:16 GMT, Eric Liu <eliu at openjdk.org> wrote:

> This patch fixes the wrong matching rule of replicate2L_zero. It was
> matched "ReplicateI" by mistake so that long immediates(not only zero)
> had to be moved to register first and matched to replicate2L finally. To
> fix this trivial bug, this patch fixes the typo and extends the rule of
> replicate2L_zero to replicate2L_imm, which now supports all possible
> long immediate values.
> 
> The final code changes are shown as below:
> 
> replicate2L_imm:
> 
>         mov   x13, #0xff
>         movk  x13, #0xff, lsl #16
>         movk  x13, #0xff, lsl #32
>         dup   v16.2d, x13
> 
>         =>
> 
>         movi  v16.2d, #0xff00ff00ff
> 
> [Test]
> test/jdk/jdk/incubator/vector, test/hotspot/jtreg/compiler/vectorapi
> passed without failure.

This pull request has now been integrated.

Changeset: c3559028
Author:    Eric Liu <eliu at openjdk.org>
Committer: Pengfei Li <pli at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/c35590282d54d8388f2f7501a30365e0a912bfda
Stats:     497 lines in 7 files changed: 395 ins; 36 del; 66 mod

8282528: AArch64: Incorrect replicate2L_zero rule

Reviewed-by: aph

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

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


More information about the hotspot-dev mailing list