Integrated: 8267663: [vector] Add unsigned comparison operators on AArch64

Eric Liu eliu at openjdk.java.net
Wed Jun 9 09:33:18 UTC 2021


On Fri, 4 Jun 2021 11:35:16 GMT, Eric Liu <eliu at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 9cfd560b
Author:    Eric Liu <eliu at openjdk.org>
Committer: Pengfei Li <pli at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/9cfd560bb113b630e0ca28f9204afc079a87017b
Stats:     1337 lines in 9 files changed: 106 ins; 980 del; 251 mod

8267663: [vector] Add unsigned comparison operators on AArch64

Reviewed-by: aph

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

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


More information about the hotspot-compiler-dev mailing list