Integrated: 8269559: AArch64: Implement string_compare intrinsic in SVE
David Holmes
david.holmes at oracle.com
Thu Oct 14 06:12:42 UTC 2021
We are seeing a large number of Aarch64 test failures in our CI after
this push. Somewhat bizarre failure modes:
- truncated classfiles
- unexpected EOF encountered
- illegal state reading a stream
I think we will need to back this change out while this is investigated
further.
David
-----
On 14/10/2021 3:30 pm, TatWai Chong wrote:
> On Mon, 16 Aug 2021 20:59:55 GMT, TatWai Chong <duke at openjdk.java.net> wrote:
>
>> This patch implements string_compare intrinsic in SVE.
>> It supports all LL, LU, UL and UU comparisons.
>>
>> As we haven't found an existing benchmark to measure performance impact,
>> we created a benchmark derived from the test [1] for this evaluation.
>> This benchmark is attached to this patch.
>>
>> Besides, remove the unused temporary register `vtmp3` from the existing
>> match rules for StrCmp.
>>
>> The result below shows all varients can be benefited largely.
>> Command: make exploded-test TEST="micro:StringCompareToDifferentLength"
>>
>> Benchmark (size) Mode Cnt Score Speedup Units
>> compareToLL 24 avgt 10 1.0x ms/op
>> compareToLL 36 avgt 10 1.0x ms/op
>> compareToLL 72 avgt 10 1.0x ms/op
>> compareToLL 128 avgt 10 1.4x ms/op
>> compareToLL 256 avgt 10 1.8x ms/op
>> compareToLL 512 avgt 10 2.7x ms/op
>> compareToLU 24 avgt 10 1.6x ms/op
>> compareToLU 36 avgt 10 1.8x ms/op
>> compareToLU 72 avgt 10 2.3x ms/op
>> compareToLU 128 avgt 10 3.8x ms/op
>> compareToLU 256 avgt 10 4.7x ms/op
>> compareToLU 512 avgt 10 6.3x ms/op
>> compareToUL 24 avgt 10 1.6x ms/op
>> compareToUL 36 avgt 10 1.7x ms/op
>> compareToUL 72 avgt 10 2.2x ms/op
>> compareToUL 128 avgt 10 3.3x ms/op
>> compareToUL 256 avgt 10 4.4x ms/op
>> compareToUL 512 avgt 10 6.1x ms/op
>> compareToUU 24 avgt 10 1.0x ms/op
>> compareToUU 36 avgt 10 1.0x ms/op
>> compareToUU 72 avgt 10 1.4x ms/op
>> compareToUU 128 avgt 10 2.2x ms/op
>> compareToUU 256 avgt 10 2.6x ms/op
>> compareToUU 512 avgt 10 3.7x ms/op
>>
>> [1] https://github.com/openjdk/jdk/blob/master/test/hotspot/jtreg/compiler/intrinsics/string/TestStringCompareToDifferentLength.java
>
> This pull request has now been integrated.
>
> Changeset: 8b1b6f9f
> Author: TatWai Chong <tatwai.chong at arm.com>
> Committer: Nick Gasson <ngasson at openjdk.org>
> URL: https://git.openjdk.java.net/jdk/commit/8b1b6f9fb375bbc2de339ad8f526ca4d5f83dc70
> Stats: 517 lines in 11 files changed: 421 ins; 1 del; 95 mod
>
> 8269559: AArch64: Implement string_compare intrinsic in SVE
>
> Reviewed-by: ngasson, aph
>
> -------------
>
> PR: https://git.openjdk.java.net/jdk/pull/5129
>
More information about the core-libs-dev
mailing list