RFR: 8287925: AArch64: intrinsics for compareUnsigned method in Integer and Long [v3]
Hao Sun
haosun at openjdk.org
Mon Jan 9 09:53:59 UTC 2023
On Mon, 28 Nov 2022 10:40:56 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> Hao Sun has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>>
>> - Update the copyright year to 2023
>> - Merge branch 'master' into jdk-8287925
>> - immIAddSub is always positive
>>
>> As commented by aph, "immIAddSub" is always positive and we needn't
>> check the signedness.
>>
>> Besides, more "comparing reg with imm" test cases are added.
>> - 8287925: AArch64: intrinsics for compareUnsigned method in Integer and Long
>>
>> x86 implemented the intrinsics for compareUnsigned() method in Integer
>> and Long. See JDK-8283726. We add the corresponding AArch64 backend
>> support in this patch.
>>
>> Note-1: minor style issues are fixed for CmpL3 related rules.
>>
>> Note-2: Jtreg case TestCompareUnsigned.java is updated to cover the
>> matching rules for "comparing reg with imm" case.
>>
>> Testing: tier1~3 passed on Linux/AArch64 platform with no new failures.
>>
>> Following is the performance data for the JMH case:
>>
>> ```
>> Before After
>> Benchmark (size) Mode Cnt Score Error Score Error Units
>> Integers.compareUnsignedDirect 500 avgt 5 0.994 ± 0.001 0.872 ± 0.015 us/op
>> Integers.compareUnsignedIndirect 500 avgt 5 0.991 ± 0.001 0.833 ± 0.055 us/op
>> Longs.compareUnsignedDirect 500 avgt 5 1.052 ± 0.001 0.974 ± 0.057 us/op
>> Longs.compareUnsignedIndirect 500 avgt 5 1.053 ± 0.001 0.916 ± 0.038 us/op
>> ```
>
> src/hotspot/cpu/aarch64/aarch64.ad line 9734:
>
>> 9732: } else {
>> 9733: __ subs(zr, $src1$$Register, con);
>> 9734: }
>
> Suggestion:
>
> __ subs(zr, $src1$$Register, (int32_t)$src2$$constant);
>
> should work here.
Updated.
-------------
PR: https://git.openjdk.org/jdk/pull/11383
More information about the hotspot-compiler-dev
mailing list