Integrated: 8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

Ningsheng Jian njian at openjdk.java.net
Wed May 18 01:37:48 UTC 2022


On Mon, 16 May 2022 07:21:27 GMT, Ningsheng Jian <njian at openjdk.org> wrote:

> This is the REDO of JDK-8269559 and JDK-8275448. Those two backouts finally turned to be some system zlib issue in AArch64 macOS, and is not related to the patch itself. See [1][2] for details.
> 
> This patch is generally the same as JDK-8275448, which uses SVE to optimize string_compare intrinsics for long string comparisons. I did a rebase with small tweaks to get better performance on recent Neoverse hardware. Test data on systems with different SVE vector sizes:
> 
> 
>    case    delta size  128-bits  256-bits  512-bits
> compareToLL  2   24     0.17%     0.58%     0.00%
> compareToLL  2   36     0.00%    2.25%      0.04%
> compareToLL  2   72     -4.40%   3.87%      -12.82%
> compareToLL  2   128    4.55%    58.31%     13.53%
> compareToLL  2   256    19.39%   69.77%     82.03%
> compareToLL  2   512    1.81%    68.38%     170.93%
> compareToLU  2   24     25.57%   46.98%     54.61%
> compareToLU  2   36     36.03%   70.26%     94.33%
> compareToLU  2   72     35.86%   90.58%     146.04%
> compareToLU  2   128    70.82%   119.19%    266.22%
> compareToLU  2   256    80.77%   146.33%    420.01%
> compareToLU  2   512    94.62%   171.72%    530.87%
> compareToUL  2   24     20.82%   34.48%     62.14%
> compareToUL  2   36     39.77%   60.79%     69.77%
> compareToUL  2   72     35.46%   84.34%     121.90%
> compareToUL  2   128    67.77%   110.97%    220.53%
> compareToUL  2   256    77.05%   160.29%    331.30%
> compareToUL  2   512    91.88%   184.57%    524.21%
> compareToUU  2   24     -0.13%   0.40%      0.00%
> compareToUU  2   36     -9.18%   12.84%     -13.93%
> compareToUU  2   72     1.67%    60.61%     6.69%
> compareToUU  2   128    13.51%   60.33%     55.27%
> compareToUU  2   256    2.55%    62.17%     153.26%
> compareToUU  2   512    4.12%    68.62%     201.68%
> 
> JTreg tests passed on SVE hardware.
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8275448
> [2] https://bugs.openjdk.java.net/browse/JDK-8282954

This pull request has now been integrated.

Changeset: b5526e5e
Author:    Ningsheng Jian <njian at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/b5526e5e5935658ed1d39938441ae1a3417c0545
Stats:     443 lines in 7 files changed: 433 ins; 0 del; 10 mod

8281712: [REDO] AArch64: Implement string_compare intrinsic in SVE

Co-authored-by: Tat Wai Chong <tatwai.chong at arm.com>
Reviewed-by: thartmann, ngasson

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

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


More information about the hotspot-compiler-dev mailing list