RFR: 8297753: AArch64: Add optimized rules for vector compare with zero on NEON [v8]

Chang Peng duke at openjdk.org
Fri Mar 3 02:55:48 UTC 2023


> We can use the compare-with-zero instructions like cmgt(zero)[1] immediately to avoid the extra scalar2vector operations.
> 
> The following instruction sequence
> 
> movi  v16.4s, #0x0
> cmgt  v16.4s, v17.4s, v16.4s
> 
> can be optimized to:
> 
> cmgt v16.4s, v17.4s, #0x0
> 
> This patch does the following:
> 1. Add NEON floating-point compare-with-zero instructions.
> 2. Add optimized match rules to generate the compare-with-zero instructions.
> 
> [1]: https://developer.arm.com/documentation/ddi0602/2022-06/SIMD-FP-Instructions/CMGT--zero---Compare-signed-Greater-than-zero--vector--

Chang Peng has updated the pull request incrementally with one additional commit since the last revision:

  Merge cmxx instructions of different conditions into a single function.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11822/files
  - new: https://git.openjdk.org/jdk/pull/11822/files/32df021f..cd425ef1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11822&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11822&range=06-07

  Stats: 82 lines in 6 files changed: 31 ins; 24 del; 27 mod
  Patch: https://git.openjdk.org/jdk/pull/11822.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11822/head:pull/11822

PR: https://git.openjdk.org/jdk/pull/11822


More information about the hotspot-compiler-dev mailing list