class org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister
  super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister> TYPE;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;>;

  jdk.vm.ci.meta.AllocatableValue result;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Def(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  jdk.vm.ci.meta.AllocatableValue left;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  jdk.vm.ci.meta.AllocatableValue right;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  jdk.vm.ci.meta.AllocatableValue temp;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 111
            ldc Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister this
        start local 1 // jdk.vm.ci.meta.AllocatableValue result
        start local 2 // jdk.vm.ci.meta.AllocatableValue left
        start local 3 // jdk.vm.ci.meta.AllocatableValue right
        start local 4 // jdk.vm.ci.meta.AllocatableValue temp
         0: .line 119
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 120
            aload 0 /* this */
            aload 1 /* result */
            putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.result:Ljdk/vm/ci/meta/AllocatableValue;
         2: .line 121
            aload 0 /* this */
            aload 2 /* left */
            putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.left:Ljdk/vm/ci/meta/AllocatableValue;
         3: .line 122
            aload 0 /* this */
            aload 3 /* right */
            putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.right:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 123
            aload 0 /* this */
            aload 4 /* temp */
            putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.temp:Ljdk/vm/ci/meta/AllocatableValue;
         5: .line 124
            return
        end local 4 // jdk.vm.ci.meta.AllocatableValue temp
        end local 3 // jdk.vm.ci.meta.AllocatableValue right
        end local 2 // jdk.vm.ci.meta.AllocatableValue left
        end local 1 // jdk.vm.ci.meta.AllocatableValue result
        end local 0 // org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
            0    6     1  result  Ljdk/vm/ci/meta/AllocatableValue;
            0    6     2    left  Ljdk/vm/ci/meta/AllocatableValue;
            0    6     3   right  Ljdk/vm/ci/meta/AllocatableValue;
            0    6     4    temp  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
        Name  Flags
      result  
      left    
      right   
      temp    

  private static int getRXB(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.code.Register reg
        start local 1 // jdk.vm.ci.code.Register rm
         0: .line 127
            aload 0 /* reg */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
            iconst_1
            ishr
            istore 2 /* rxb */
        start local 2 // int rxb
         1: .line 128
            iload 2 /* rxb */
            aload 1 /* rm */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 8
            iand
            iconst_3
            ishr
            ior
            istore 2 /* rxb */
         2: .line 129
            iload 2 /* rxb */
            ireturn
        end local 2 // int rxb
        end local 1 // jdk.vm.ci.code.Register rm
        end local 0 // jdk.vm.ci.code.Register reg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   reg  Ljdk/vm/ci/code/Register;
            0    3     1    rm  Ljdk/vm/ci/code/Register;
            1    3     2   rxb  I
    MethodParameters:
      Name  Flags
      reg   
      rm    

  public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
         0: .line 134
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.result:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 3 /* res */
        start local 3 // jdk.vm.ci.code.Register res
         1: .line 135
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.left:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 4 /* x */
        start local 4 // jdk.vm.ci.code.Register x
         2: .line 136
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.right:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 5 /* y */
        start local 5 // jdk.vm.ci.code.Register y
         3: .line 137
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.temp:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 6 /* tmp */
        start local 6 // jdk.vm.ci.code.Register tmp
         4: .line 141
            aload 2 /* masm */
            sipush 196
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
         5: .line 142
            aload 2 /* masm */
            aload 6 /* tmp */
            aload 5 /* y */
            invokestatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
            iconst_m1
            ixor
            bipush 7
            iand
            iconst_5
            ishl
            iconst_1
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
         6: .line 143
            aload 2 /* masm */
            aload 4 /* x */
            getfield jdk.vm.ci.code.Register.encoding:I
            iconst_m1
            ixor
            bipush 15
            iand
            iconst_3
            ishl
            iconst_4
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
         7: .line 144
            aload 2 /* masm */
            sipush 194
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
         8: .line 145
            aload 2 /* masm */
            sipush 192
            aload 6 /* tmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            iconst_3
            ishl
            ior
            aload 5 /* y */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
         9: .line 146
            aload 2 /* masm */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        10: .line 150
            aload 2 /* masm */
            sipush 196
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        11: .line 151
            aload 2 /* masm */
            aload 3 /* res */
            aload 6 /* tmp */
            invokestatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
            iconst_m1
            ixor
            bipush 7
            iand
            iconst_5
            ishl
            iconst_1
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        12: .line 152
            aload 2 /* masm */
            bipush 124
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        13: .line 153
            aload 2 /* masm */
            bipush 80
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        14: .line 154
            aload 2 /* masm */
            sipush 192
            aload 3 /* res */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            iconst_3
            ishl
            ior
            aload 6 /* tmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 7
            iand
            ior
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
        15: .line 155
            return
        end local 6 // jdk.vm.ci.code.Register tmp
        end local 5 // jdk.vm.ci.code.Register y
        end local 4 // jdk.vm.ci.code.Register x
        end local 3 // jdk.vm.ci.code.Register res
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
            0   16     1   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   16     2  masm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            1   16     3   res  Ljdk/vm/ci/code/Register;
            2   16     4     x  Ljdk/vm/ci/code/Register;
            3   16     5     y  Ljdk/vm/ci/code/Register;
            4   16     6   tmp  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      crb   
      masm  
}
SourceFile: "StubAVXTest.java"
NestHost: org.graalvm.compiler.hotspot.amd64.test.StubAVXTest
InnerClasses:
  private CompareAVXRegister = org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister of org.graalvm.compiler.hotspot.amd64.test.StubAVXTest
  public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
  public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction