RFR: 8267663: AArch64: Add unsigned comparison operators on AArch64

Eric Liu eliu at openjdk.java.net
Fri Jun 4 11:41:07 UTC 2021


This patch implements unsigned vector comparison on AArch64. The
performance of unsigned comparison improves about 4x~5x in my local with
Byte128Vector.java[1].

Before:
Benchmark                               Score(op/ms)     Error
Byte128Vector.UNSIGNED_GE#size(1024)    99.953           6.17
Byte128Vector.UNSIGNED_GT#size(1024)    95.334           8.865
Byte128Vector.UNSIGNED_LE#size(1024)    76.908           24.332
Byte128Vector.UNSIGNED_LT#size(1024)    78.362           23.507

After:
Benchmark                               Score(op/ms)     Error
Byte128Vector.UNSIGNED_GE#size(1024)    421.809          25.57
Byte128Vector.UNSIGNED_GT#size(1024)    420.653          26.779
Byte128Vector.UNSIGNED_LE#size(1024)    316.754          92.889
Byte128Vector.UNSIGNED_LT#size(1024)    423.683          26.508

[Test]
- All vector API test cases passed without new failure. 8265312[2] has
  been implemented this on x86 and supplied sufficient test cases for
  all kinds of vector.
- No performance regression for other comparisons.
- libjvm.so drops off about 200KB after this patch by combining those
  vector compare rules.

[1] https://github.com/openjdk/panama-vector/blob/vectorIntrinsics/test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java#L1198
[2] https://github.com/openjdk/panama-vector/pull/68

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

Commit messages:
 - 8267663: AArch64: Add unsigned comparison operators on AArch64

Changes: https://git.openjdk.java.net/jdk/pull/4358/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4358&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267663
  Stats: 1322 lines in 6 files changed: 94 ins; 917 del; 311 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4358.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4358/head:pull/4358

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


More information about the hotspot-compiler-dev mailing list