Integrated: 8301739: AArch64: Add optimized rules for vector compare with immediate for SVE
Chang Peng
duke at openjdk.org
Sat May 6 07:23:28 UTC 2023
On Tue, 28 Mar 2023 02:06:41 GMT, Chang Peng <duke at openjdk.org> wrote:
> 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-
This pull request has now been integrated.
Changeset: 0dca573c
Author: changpeng1997 <Chang.Peng at arm.com>
Committer: Xiaohong Gong <xgong at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/0dca573ca5d357157565072e22e24d6a9bee717a
Stats: 1010 lines in 10 files changed: 653 ins; 13 del; 344 mod
8301739: AArch64: Add optimized rules for vector compare with immediate for SVE
Reviewed-by: aph, eliu
-------------
PR: https://git.openjdk.org/jdk/pull/13200
More information about the hotspot-compiler-dev
mailing list