RFR: 8252848: Optimize small primitive arrayCopy operations through partial inlining using AVX-512 masked instructions [v14]
Vladimir Kozlov
kvn at openjdk.java.net
Wed Nov 18 00:09:06 UTC 2020
On Tue, 17 Nov 2020 20:21:04 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Changes requested by kvn (Reviewer).
>
> I ran tier1-tier4 with latest changes and got failures in TestArrayCopyDisjoint.java and TestArrayCopyConjoint.java tests:
> java -XX:-TieredCompilation -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:UseAVX=3 -XX:+UnlockDiagnosticVMOptions -XX:ArrayCopyPartialInlineSize=64 -XX:MaxVectorSize=64 compiler.arraycopy.TestArrayCopyDisjoint
> Test Byte constant length 45 [class [B] Result mismtach at i = 13 expected = 57 actual = 70 fromPos = 1324 toPos = 1353
> java.lang.Error: Fail
> at compiler.arraycopy.TestArrayCopyDisjoint.validate(TestArrayCopyDisjoint.java:95)
> at compiler.arraycopy.TestArrayCopyDisjoint.testByte_constant_LT64B(TestArrayCopyDisjoint.java:162)
> at compiler.arraycopy.TestArrayCopyDisjoint.main(TestArrayCopyDisjoint.java:207)
>
> java -XX:-TieredCompilation -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:UseAVX=3 -XX:+UnlockDiagnosticVMOptions -XX:ArrayCopyPartialInlineSize=64 -XX:MaxVectorSize=64 compiler.arraycopy.TestArrayCopyConjoint
>
> elapsed time (seconds): 7.464
> Test Byte constant length 45 [class [B] Result mismtach at i = 13 expected = 109 actual = 111 fromPos = 1120 toPos = 1122
> java.lang.Error: Fail
> at compiler.arraycopy.TestArrayCopyConjoint.validate(TestArrayCopyConjoint.java:124)
> at compiler.arraycopy.TestArrayCopyConjoint.testByte_constant_LT64B(TestArrayCopyConjoint.java:192)
> at compiler.arraycopy.TestArrayCopyConjoint.main(TestArrayCopyConjoint.java:240)
Forgot to say that failure was on Windows with only avx512f, avx512cd.
-------------
PR: https://git.openjdk.java.net/jdk/pull/302
More information about the hotspot-dev
mailing list