Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8278920

[vectorapi] IR tests fail with -XX:+UseKNLSetting and 512-bit vectors loaded from byte[]

XMLWordPrintable

      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.

        1. Test1.java
          0.6 kB
          Emanuel Peter

            jbhateja Jatin Bhateja
            psandoz Paul Sandoz
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: