RFR: 8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
Tobias Hartmann
thartmann at openjdk.java.net
Mon Nov 29 09:51:06 UTC 2021
On Wed, 24 Nov 2021 11:56:44 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> Hi all,
>
> The following vector api tests fail on x86_32/AVX512 with `assert(r->is_XMMRegister()) failed: must be`.
>
> jdk/incubator/vector/Byte64VectorLoadStoreTests.java
> jdk/incubator/vector/Byte256VectorLoadStoreTests.java
> jdk/incubator/vector/Byte128VectorLoadStoreTests.java
> jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java
> jdk/incubator/vector/Double256VectorTests.java
> jdk/incubator/vector/Double512VectorTests.java
> jdk/incubator/vector/DoubleMaxVectorTests.java
> jdk/incubator/vector/Float512VectorTests.java
> jdk/incubator/vector/Float256VectorTests.java
> jdk/incubator/vector/FloatMaxVectorTests.java
> jdk/incubator/vector/Float128VectorTests.java
> jdk/incubator/vector/Short128VectorLoadStoreTests.java
> jdk/incubator/vector/Short256VectorLoadStoreTests.java
> jdk/incubator/vector/Short64VectorLoadStoreTests.java
> jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java
>
>
> The reason is that `static enum RC rc_class( OptoReg::Name reg )` [1] missed the case for KRegister.
> And the AVX-512 opmask specific spilling code [2] should be located before the size assert [3].
>
> Thanks.
> Best regards,
> Jie
>
> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_32.ad#L747
> [2] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_32.ad#L1272
> [3] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86_32.ad#L1252
That looks good to me but @jatin-bhateja should have a look as well.
-------------
Marked as reviewed by thartmann (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/6535
More information about the hotspot-compiler-dev
mailing list