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 <d...@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.ch...@arm.com>
Committer: Nick Gasson <ngas...@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

Reply via email to