RFR: 8301739: AArch64: Add optimized rules for vector compare with immediate for SVE
changpeng1997
duke at openjdk.org
Tue Mar 28 02:13:29 UTC 2023
We can use SVE compare-with-integer-immediate instructions like cmpgt(immediate)[1] to avoid the extra scalar2vector operations.
The following instruction sequence
movi v17.16b, #12
cmpgt p0.b, p7/z, z16.b, z17.b
can be optimized to:
cmpgt p0.b, p7/z, z16.b, #12
This patch does the following:
1. Add SVE compare-with-7bit-unsigned-immediate instructions to C2's backend.
SVE cmp<cc>(immediate) instructions can support vector comparing with 7bit unsigned integer immediate (range from 0 to
127)or 5bit signed integer immediate (range from -16 to 15).
2. Add optimized match rules to generate the compare-with-immediate instructions.
[1]: https://developer.arm.com/documentation/ddi0596/2021-12/SVE-Instructions/CMP-cc---immediate---Compare-vector-to-immediate-
-------------
Commit messages:
- 8301739: AArch64: Add optimized rules for vector compare with immediate for SVE
Changes: https://git.openjdk.org/jdk/pull/13200/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13200&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8301739
Stats: 895 lines in 8 files changed: 578 ins; 4 del; 313 mod
Patch: https://git.openjdk.org/jdk/pull/13200.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13200/head:pull/13200
PR: https://git.openjdk.org/jdk/pull/13200
More information about the hotspot-compiler-dev
mailing list