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

Make Assembler methods vextract and vinsert match actual instructions

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • None
    • hotspot
    • None
    • b112
    • x86

      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.

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

              Created:
              Updated:
              Resolved: