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

vinserti128 operand mix up for KNL platforms

    XMLWordPrintable

    Details

    • Subcomponent:
    • Introduced In Build:
      b115
    • Introduced In Version:
      9
    • Resolved In Build:
      b19
    • CPU:
      x86

      Backports

        Description

        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);
             }
            ...
          }

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  Created:
                  Updated:
                  Resolved: