The addition of IR tests for vector casts in JDK-8259610 exposed a possible bug when tests are run under the flag -XX:+UseKNLSetting.
The IR tests for 512-bit vector sizes fail to compile under C2, for example loading an IntVector from byte[].
Analysis with -XX:+PrintIntrinsics shows:
20891 1042 b compiler.vectorapi.reshape.tests.TestVectorCast::testI512toB128 (15 bytes)
** Rejected vector op (LoadVector,byte,64) because architecture does not support it
** not supported: arity=0 op=load vlen=64*8 etype=int/8 ismask=no
@ 31 jdk.internal.vm.vector.VectorSupport::load (38 bytes) failed to inline (intrinsic)
20894 1042 b compiler.vectorapi.reshape.tests.TestVectorCast::testI512toB128 (15 bytes) COMPILE SKIPPED: malformed control flow (retry at different tier)
It's as if we are passing the wrong BasicType to LibraryCallKit::arch_supports_vector.
This could make sense since AVX512BW supports 512-bit vectors for byte, and for -XX:+UseKNLSetting we are doing ~CPU_AVX512BW.