public final class org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp extends org.graalvm.compiler.asm.amd64.AMD64Assembler$VexOp implements org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRRIOp
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp
  super_class: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexOp
{
  public static final org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp VPERMQ;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp VPSHUFLW;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp VPSHUFHW;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp VPSHUFD;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 1272
            ldc Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.$assertionsDisabled:Z
         3: .line 1274
            new org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp
            dup
            ldc "VPERMQ"
            iconst_1
            iconst_3
            iconst_1
            iconst_0
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.AVX2_256ONLY:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.<init>:(Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPERMQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
         4: .line 1275
            new org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp
            dup
            ldc "VPSHUFLW"
            iconst_3
            iconst_1
            iconst_0
            bipush 112
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.AVX1_2:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.<init>:(Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFLW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
         5: .line 1276
            new org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp
            dup
            ldc "VPSHUFHW"
            iconst_2
            iconst_1
            iconst_0
            bipush 112
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.AVX1_2:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.<init>:(Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFHW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
         6: .line 1277
            new org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp
            dup
            ldc "VPSHUFD"
            iconst_1
            iconst_1
            iconst_0
            bipush 112
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.AVX1_2:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.<init>:(Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
            putstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int, int, int, int, org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion);
    descriptor: (Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
        start local 1 // java.lang.String opcode
        start local 2 // int pp
        start local 3 // int mmmmm
        start local 4 // int w
        start local 5 // int op
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion assertion
         0: .line 1281
            aload 0 /* this */
            aload 1 /* opcode */
            iload 2 /* pp */
            iload 3 /* mmmmm */
            iload 4 /* w */
            iload 5 /* op */
            aload 6 /* assertion */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$VexOp.<init>:(Ljava/lang/String;IIIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;)V
         1: .line 1282
            return
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion assertion
        end local 5 // int op
        end local 4 // int w
        end local 3 // int mmmmm
        end local 2 // int pp
        end local 1 // java.lang.String opcode
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            0    2     1     opcode  Ljava/lang/String;
            0    2     2         pp  I
            0    2     3      mmmmm  I
            0    2     4          w  I
            0    2     5         op  I
            0    2     6  assertion  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
    MethodParameters:
           Name  Flags
      opcode     
      pp         
      mmmmm      
      w          
      op         
      assertion  

  public void emit(org.graalvm.compiler.asm.amd64.AMD64Assembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        start local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 3 // jdk.vm.ci.code.Register dst
        start local 4 // jdk.vm.ci.code.Register src
        start local 5 // int imm8
         0: .line 1286
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.assertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            aload 1 /* asm */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            checkcast jdk.vm.ci.amd64.AMD64
            aload 2 /* size */
            aload 3 /* dst */
            aconst_null
            aload 4 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.check:(Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1287
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 3 /* dst */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            aload 4 /* src */
            aload 2 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.pp:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.mmmmm:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.w:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.wEvex:I
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.vexPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIIZ)Z
            pop
         2: .line 1288
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.op:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         3: .line 1289
            aload 1 /* asm */
            aload 3 /* dst */
            aload 4 /* src */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitModRM:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 1290
            aload 1 /* asm */
            iload 5 /* imm8 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         5: .line 1291
            return
        end local 5 // int imm8
        end local 4 // jdk.vm.ci.code.Register src
        end local 3 // jdk.vm.ci.code.Register dst
        end local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            0    6     1   asm  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            0    6     2  size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    6     3   dst  Ljdk/vm/ci/code/Register;
            0    6     4   src  Ljdk/vm/ci/code/Register;
            0    6     5  imm8  I
    MethodParameters:
      Name  Flags
      asm   
      size  
      dst   
      src   
      imm8  

  public void emit(org.graalvm.compiler.asm.amd64.AMD64Assembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        start local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        start local 3 // jdk.vm.ci.code.Register dst
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Address src
        start local 5 // int imm8
         0: .line 1294
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.assertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VEXOpAssertion;
            aload 1 /* asm */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            checkcast jdk.vm.ci.amd64.AMD64
            aload 2 /* size */
            aload 3 /* dst */
            aconst_null
            aconst_null
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion.check:(Ljdk/vm/ci/amd64/AMD64;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1295
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 3 /* dst */
            getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
            aload 4 /* src */
            aload 2 /* size */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.pp:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.mmmmm:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.w:I
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.wEvex:I
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.vexPrefix:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;IIIIZ)Z
            istore 6 /* useEvex */
        start local 6 // boolean useEvex
         2: .line 1296
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.op:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         3: .line 1297
            aload 1 /* asm */
            aload 3 /* dst */
            aload 4 /* src */
            iconst_1
            aload 0 /* this */
            iload 6 /* useEvex */
            aload 2 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.getDisp8Scale:(ZLorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitOperandHelper:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;II)V
         4: .line 1298
            aload 1 /* asm */
            iload 5 /* imm8 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         5: .line 1299
            return
        end local 6 // boolean useEvex
        end local 5 // int imm8
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Address src
        end local 3 // jdk.vm.ci.code.Register dst
        end local 2 // org.graalvm.compiler.asm.amd64.AVXKind$AVXSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
            0    6     1      asm  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            0    6     2     size  Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            0    6     3      dst  Ljdk/vm/ci/code/Register;
            0    6     4      src  Lorg/graalvm/compiler/asm/amd64/AMD64Address;
            0    6     5     imm8  I
            2    6     6  useEvex  Z
    MethodParameters:
      Name  Flags
      asm   
      size  
      dst   
      src   
      imm8  
}
SourceFile: "AMD64Assembler.java"
NestHost: org.graalvm.compiler.asm.amd64.AMD64Assembler
InnerClasses:
  private final VEXOpAssertion = org.graalvm.compiler.asm.amd64.AMD64Assembler$VEXOpAssertion of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final VexRMIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public abstract VexRRIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRRIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind