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

Make Assembler methods vextract and vinsert match actual instructions

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b112
    • CPU:
      x86

      Description

      In assembler_x86.hpp/cpp we currently have a few cases of (AVX) vector methods which do not immediately correspond to native instructions. This can be confusing and makes it harder to understand what they methods actually expect and generate.

      Specifically, the vextract* and vinsert* methods do not take the right number of arguments, and the mnemonics are not matching. For example:

      void Assembler::vinsertf128h(XMMRegister dst, XMMRegister nds, XMMRegister src);

      The actual instruction is called "vinserf128", and takes three registers and an immediate which decides how to shuffle the bits.

        Attachments

          Activity

            People

            • Assignee:
              mikael Mikael Vidstedt
              Reporter:
              mikael Mikael Vidstedt
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: