[jdk18] RFR: 8278508: Enable X86 maskAll instruction pattern for 32 bit JVM.

Vladimir Kozlov kvn at openjdk.java.net
Wed Dec 15 01:41:59 UTC 2021


On Tue, 14 Dec 2021 19:18:47 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> - Vector.maskAll was accelerated for AVX-512 target, but  x86 existing backend implementation does not enable maskAll instruction patterns for 32 bit JVM, due to which operations fall backs over replicateB operation which broadcasts the mask value in a vector.
> - In some cases after unboxing-boxing optimization this vector eventually reaches to XorVMask which has different operands one held in opmask register and other in vector.
> 
> Kindly review and share your feedback.
> 
> Best Regards,
> Jatin

Regular testing (x64) results are good.

But I also run `jdk/incubator/vector/` tests locally with 32-bit VM (fastdebug). Most tests passed but some hit timeout (run for more than default 2 min):

jdk/incubator/vector/Byte512VectorTests.java
jdk/incubator/vector/ByteMaxVectorTests.java
jdk/incubator/vector/VectorReshapeTests.java

I assume such vectors are not supported in 32-bit VM and code is slow. Simple solution is to add `/timeout=240` (4 min) to these tests. They passed for me after that.

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

Changes requested by kvn (Reviewer).

PR: https://git.openjdk.java.net/jdk18/pull/24


More information about the hotspot-compiler-dev mailing list