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

vinserti128 operand mix up for KNL platforms

XMLWordPrintable

    • b115
    • 9
    • b19
    • x86

        There is a bug in macro assembler in vinserti128 special handling for platforms like KNL that do not support AVX512VL.
         
        The following:
           void vinserti128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8) {
             if (UseAVX > 2 && VM_Version::supports_avx512novl()) {
               Assembler::vinserti32x4(dst, dst, src, imm8);
             }
             ...
          }
         
        Should have been:
           void vinserti128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8) {
             if (UseAVX > 2 && VM_Version::supports_avx512novl()) {
               Assembler::vinserti32x4(dst, nds, src, imm8);
             }
            ...
          }

              sviswanathan Sandhya Viswanathan
              sviswanathan Sandhya Viswanathan
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: