RFR: 8282528: AArch64: Incorrect replicate2L_zero rule
Eric Liu
eliu at openjdk.java.net
Thu Mar 24 09:21:20 UTC 2022
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.
-------------
Commit messages:
- 8282528: AArch64: Incorrect replicate2L_zero rule
Changes: https://git.openjdk.java.net/jdk/pull/7939/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7939&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8282528
Stats: 408 lines in 5 files changed: 350 ins; 7 del; 51 mod
Patch: https://git.openjdk.java.net/jdk/pull/7939.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7939/head:pull/7939
PR: https://git.openjdk.java.net/jdk/pull/7939
More information about the hotspot-dev
mailing list