public class org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator extends org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator implements org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
  super_class: org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator
{
  private static final jdk.vm.ci.code.RegisterValue RCX_I;
    descriptor: Ljdk/vm/ci/code/RegisterValue;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final jdk.vm.ci.meta.AllocatableValue nullRegisterValue;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 152
            ldc Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            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.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
         3: .line 154
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.RCX_I:Ljdk/vm/ci/code/RegisterValue;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.AllocatableValue nullRegisterValue
         0: .line 156
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.<init>:()V
         1: .line 157
            aload 0 /* this */
            aload 1 /* nullRegisterValue */
            putfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
         2: .line 158
            return
        end local 1 // jdk.vm.ci.meta.AllocatableValue nullRegisterValue
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1  nullRegisterValue  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
                   Name  Flags
      nullRegisterValue  

  public org.graalvm.compiler.lir.Variable emitNegate(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
         0: .line 164
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* input */
        start local 2 // jdk.vm.ci.meta.AllocatableValue input
         1: .line 165
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         2: .line 166
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 4 /* isAvx */
        start local 4 // boolean isAvx
         3: .line 167
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 2 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 4
                    4: 6
                    5: 8
                    6: 14
              default: 20
          }
         4: .line 169
      StackMap locals: jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.NEG:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 170
            goto 21
         6: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.NEG:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 173
            goto 21
         8: .line 175
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 5 /* floatMask */
        start local 5 // jdk.vm.ci.meta.JavaConstant floatMask
         9: .line 176
            iload 4 /* isAvx */
            ifeq 12
        10: .line 177
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VXORPS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 3 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 5 /* floatMask */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        11: .line 178
            goto 21
        12: .line 179
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            aload 5 /* floatMask */
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        13: .line 181
            goto 21
        end local 5 // jdk.vm.ci.meta.JavaConstant floatMask
        14: .line 183
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 6 /* doubleMask */
        start local 6 // jdk.vm.ci.meta.JavaConstant doubleMask
        15: .line 184
            iload 4 /* isAvx */
            ifeq 18
        16: .line 185
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VXORPD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 3 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 6 /* doubleMask */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        17: .line 186
            goto 21
        18: .line 187
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable int top jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            aload 6 /* doubleMask */
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        19: .line 189
            goto 21
        end local 6 // jdk.vm.ci.meta.JavaConstant doubleMask
        20: .line 191
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable int
      StackMap stack:
            aload 2 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        21: .line 193
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // boolean isAvx
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // jdk.vm.ci.meta.AllocatableValue input
        end local 1 // jdk.vm.ci.meta.Value inputVal
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   22     1    inputVal  Ljdk/vm/ci/meta/Value;
            1   22     2       input  Ljdk/vm/ci/meta/AllocatableValue;
            2   22     3      result  Lorg/graalvm/compiler/lir/Variable;
            3   22     4       isAvx  Z
            9   14     5   floatMask  Ljdk/vm/ci/meta/JavaConstant;
           15   20     6  doubleMask  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      inputVal  

  public org.graalvm.compiler.lir.Variable emitNot(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
         0: .line 198
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* input */
        start local 2 // jdk.vm.ci.meta.AllocatableValue input
         1: .line 199
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         2: .line 200
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 2 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 3
                    4: 5
              default: 7
          }
         3: .line 202
      StackMap locals: jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.NOT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 203
            goto 8
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.NOT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 206
            goto 8
         7: .line 208
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         8: .line 210
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // jdk.vm.ci.meta.AllocatableValue input
        end local 1 // jdk.vm.ci.meta.Value inputVal
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    9     1  inputVal  Ljdk/vm/ci/meta/Value;
            1    9     2     input  Ljdk/vm/ci/meta/AllocatableValue;
            2    9     3    result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
          Name  Flags
      inputVal  

  private org.graalvm.compiler.lir.Variable emitBinary(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // boolean commutative
        start local 5 // jdk.vm.ci.meta.Value a
        start local 6 // jdk.vm.ci.meta.Value b
        start local 7 // boolean setFlags
         0: .line 214
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 215
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            iload 4 /* commutative */
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            iload 7 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryConst:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            iload 4 /* commutative */
            ifeq 4
            aload 5 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 217
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            iload 4 /* commutative */
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 5 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            iload 7 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryConst:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            iload 4 /* commutative */
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryVar:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 7 // boolean setFlags
        end local 6 // jdk.vm.ci.meta.Value b
        end local 5 // jdk.vm.ci.meta.Value a
        end local 4 // boolean commutative
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    5     1   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    5     2           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            0    5     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    5     4  commutative  Z
            0    5     5            a  Ljdk/vm/ci/meta/Value;
            0    5     6            b  Ljdk/vm/ci/meta/Value;
            0    5     7     setFlags  Z
    MethodParameters:
             Name  Flags
      resultKind   
      op           
      size         
      commutative  
      a            
      b            
      setFlags     

  private org.graalvm.compiler.lir.Variable emitBinary(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // boolean commutative
        start local 5 // jdk.vm.ci.meta.Value a
        start local 6 // jdk.vm.ci.meta.Value b
         0: .line 224
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 225
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryConst:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 226
      StackMap locals:
      StackMap stack:
            iload 4 /* commutative */
            ifeq 4
            aload 5 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 227
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 5 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryConst:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            iload 4 /* commutative */
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryVar:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // jdk.vm.ci.meta.Value b
        end local 5 // jdk.vm.ci.meta.Value a
        end local 4 // boolean commutative
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    5     1   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    5     2           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    5     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    5     4  commutative  Z
            0    5     5            a  Ljdk/vm/ci/meta/Value;
            0    5     6            b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
             Name  Flags
      resultKind   
      op           
      size         
      commutative  
      a            
      b            

  private org.graalvm.compiler.lir.Variable emitBinaryConst(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, boolean, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.ConstantValue, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // boolean commutative
        start local 5 // jdk.vm.ci.meta.AllocatableValue a
        start local 6 // org.graalvm.compiler.lir.ConstantValue b
        start local 7 // boolean setFlags
         0: .line 234
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 8 /* value */
        start local 8 // long value
         1: .line 235
            lload 8 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 11
         2: .line 236
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 10 /* result */
        start local 10 // org.graalvm.compiler.lir.Variable result
         3: .line 237
            lload 8 /* value */
            l2i
            istore 11 /* constant */
        start local 11 // int constant
         4: .line 239
            iload 7 /* setFlags */
            ifne 9
         5: .line 240
            aload 2 /* op */
            iload 11 /* constant */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getMOp:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;I)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            astore 12 /* mop */
        start local 12 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp mop
         6: .line 241
            aload 12 /* mop */
            ifnull 9
         7: .line 242
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            aload 12 /* mop */
            aload 3 /* size */
            aload 10 /* result */
            aload 5 /* a */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 243
            aload 10 /* result */
            areturn
        end local 12 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp mop
         9: .line 247
      StackMap locals: long org.graalvm.compiler.lir.Variable int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 10 /* result */
            aload 5 /* a */
            iload 11 /* constant */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 248
            aload 10 /* result */
            areturn
        end local 11 // int constant
        end local 10 // org.graalvm.compiler.lir.Variable result
        11: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* op */
            aload 3 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 3 /* size */
            iload 4 /* commutative */
            aload 5 /* a */
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryVar:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 8 // long value
        end local 7 // boolean setFlags
        end local 6 // org.graalvm.compiler.lir.ConstantValue b
        end local 5 // jdk.vm.ci.meta.AllocatableValue a
        end local 4 // boolean commutative
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   12     2           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            0   12     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0   12     4  commutative  Z
            0   12     5            a  Ljdk/vm/ci/meta/AllocatableValue;
            0   12     6            b  Lorg/graalvm/compiler/lir/ConstantValue;
            0   12     7     setFlags  Z
            1   12     8        value  J
            3   11    10       result  Lorg/graalvm/compiler/lir/Variable;
            4   11    11     constant  I
            6    9    12          mop  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
    MethodParameters:
             Name  Flags
      resultKind   
      op           
      size         
      commutative  
      a            
      b            
      setFlags     

  private static org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp getMOp(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic, int);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;I)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
        start local 1 // int constant
         0: .line 255
            iload 1 /* constant */
            iconst_1
            if_icmpne 5
         1: .line 256
            aload 0 /* op */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 257
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.INC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* op */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 260
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.DEC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         5: .line 262
      StackMap locals:
      StackMap stack:
            iload 1 /* constant */
            iconst_m1
            if_icmpne 10
         6: .line 263
            aload 0 /* op */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 264
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.DEC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         8: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* op */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 267
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.INC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
        10: .line 270
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int constant
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic op
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0        op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            0   11     1  constant  I
    MethodParameters:
          Name  Flags
      op        
      constant  

  private org.graalvm.compiler.lir.Variable emitBinaryConst(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.AllocatableValue a
        start local 5 // jdk.vm.ci.meta.JavaConstant b
         0: .line 274
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         1: .line 275
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 6 /* result */
            aload 4 /* a */
            aload 5 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 276
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // jdk.vm.ci.meta.JavaConstant b
        end local 4 // jdk.vm.ci.meta.AllocatableValue a
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    3     2          op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    3     3        size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     4           a  Ljdk/vm/ci/meta/AllocatableValue;
            0    3     5           b  Ljdk/vm/ci/meta/JavaConstant;
            1    3     6      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
            Name  Flags
      resultKind  
      op          
      size        
      a           
      b           

  private org.graalvm.compiler.lir.Variable emitBinaryVar(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, boolean, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // boolean commutative
        start local 5 // jdk.vm.ci.meta.AllocatableValue a
        start local 6 // jdk.vm.ci.meta.AllocatableValue b
         0: .line 280
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 7 /* result */
        start local 7 // org.graalvm.compiler.lir.Variable result
         1: .line 281
            iload 4 /* commutative */
            ifeq 4
         2: .line 282
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeTwoOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 7 /* result */
            aload 5 /* a */
            aload 6 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 283
            goto 5
         4: .line 284
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$TwoOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 7 /* result */
            aload 5 /* a */
            aload 6 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$TwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 286
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // org.graalvm.compiler.lir.Variable result
        end local 6 // jdk.vm.ci.meta.AllocatableValue b
        end local 5 // jdk.vm.ci.meta.AllocatableValue a
        end local 4 // boolean commutative
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1   resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    6     2           op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    6     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    6     4  commutative  Z
            0    6     5            a  Ljdk/vm/ci/meta/AllocatableValue;
            0    6     6            b  Ljdk/vm/ci/meta/AllocatableValue;
            1    6     7       result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
             Name  Flags
      resultKind   
      op           
      size         
      commutative  
      a            
      b            

  protected boolean isNumericInteger(jdk.vm.ci.meta.PlatformKind);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
         0: .line 291
            aload 1 /* kind */
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
            ireturn
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1  kind  Ljdk/vm/ci/meta/PlatformKind;
    MethodParameters:
      Name  Flags
      kind  

  private org.graalvm.compiler.lir.Variable emitBaseOffsetLea(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, int, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // jdk.vm.ci.meta.Value base
        start local 3 // int offset
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         0: .line 295
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         1: .line 296
            new org.graalvm.compiler.lir.amd64.AMD64AddressValue
            dup
            aload 1 /* resultKind */
            aload 0 /* this */
            aload 2 /* base */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            iload 3 /* offset */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64AddressValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/AllocatableValue;I)V
            astore 6 /* address */
        start local 6 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
         2: .line 297
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Move$LeaOp
            dup
            aload 5 /* result */
            aload 6 /* address */
            aload 4 /* size */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$LeaOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 298
            aload 5 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // int offset
        end local 2 // jdk.vm.ci.meta.Value base
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    4     2        base  Ljdk/vm/ci/meta/Value;
            0    4     3      offset  I
            0    4     4        size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            1    4     5      result  Lorg/graalvm/compiler/lir/Variable;
            2    4     6     address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
    MethodParameters:
            Name  Flags
      resultKind  
      base        
      offset      
      size        

  public org.graalvm.compiler.lir.Variable emitAdd(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // boolean setFlags
         0: .line 303
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         1: .line 304
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 2 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 2
                    4: 7
                    5: 12
                    6: 15
              default: 18
          }
         2: .line 306
      StackMap locals: int
      StackMap stack:
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
            iload 4 /* setFlags */
            ifne 6
         3: .line 307
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 6 /* displacement */
        start local 6 // long displacement
         4: .line 308
            lload 6 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 6
            lload 6 /* displacement */
            lconst_1
            lcmp
            ifeq 6
            lload 6 /* displacement */
            ldc -1
            lcmp
            ifeq 6
         5: .line 309
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* a */
            lload 6 /* displacement */
            l2i
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBaseOffsetLea:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // long displacement
         6: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 2 /* a */
            aload 3 /* b */
            iload 4 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 314
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 11
            iload 4 /* setFlags */
            ifne 11
         8: .line 315
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 6 /* displacement */
        start local 6 // long displacement
         9: .line 316
            lload 6 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 11
            lload 6 /* displacement */
            lconst_1
            lcmp
            ifeq 11
            lload 6 /* displacement */
            ldc -1
            lcmp
            ifeq 11
        10: .line 317
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* a */
            lload 6 /* displacement */
            l2i
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBaseOffsetLea:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // long displacement
        11: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 2 /* a */
            aload 3 /* b */
            iload 4 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 322
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 14
        13: .line 323
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VADDSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        14: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        15: .line 328
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 17
        16: .line 329
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VADDSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        17: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        18: .line 334
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isAvx
        end local 4 // boolean setFlags
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   19     1    resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   19     2             a  Ljdk/vm/ci/meta/Value;
            0   19     3             b  Ljdk/vm/ci/meta/Value;
            0   19     4      setFlags  Z
            1   19     5         isAvx  Z
            4    6     6  displacement  J
            9   11     6  displacement  J
    MethodParameters:
            Name  Flags
      resultKind  
      a           
      b           
      setFlags    

  public org.graalvm.compiler.lir.Variable emitSub(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // boolean setFlags
         0: .line 340
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         1: .line 341
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 2 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 2
                    4: 3
                    5: 4
                    6: 7
              default: 10
          }
         2: .line 343
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 2 /* a */
            aload 3 /* b */
            iload 4 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 2 /* a */
            aload 3 /* b */
            iload 4 /* setFlags */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 347
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 6
         5: .line 348
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VSUBSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 353
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 9
         8: .line 354
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VSUBSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 359
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isAvx
        end local 4 // boolean setFlags
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   11     1  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   11     2           a  Ljdk/vm/ci/meta/Value;
            0   11     3           b  Ljdk/vm/ci/meta/Value;
            0   11     4    setFlags  Z
            1   11     5       isAvx  Z
    MethodParameters:
            Name  Flags
      resultKind  
      a           
      b           
      setFlags    

  private org.graalvm.compiler.lir.Variable emitIMULConst(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.ConstantValue);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.AllocatableValue a
        start local 3 // org.graalvm.compiler.lir.ConstantValue b
         0: .line 364
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 4 /* value */
        start local 4 // long value
         1: .line 365
            lload 4 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 10
         2: .line 366
            lload 4 /* value */
            l2i
            istore 6 /* imm */
        start local 6 // int imm
         3: .line 368
            iload 6 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 6
         4: .line 369
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.IMUL_SX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp op
         5: .line 370
            goto 7
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp op
         6: .line 371
      StackMap locals: long int
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp op
         7: .line 374
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* a */
            aastore
            dup
            iconst_1
            aload 3 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 8 /* ret */
        start local 8 // org.graalvm.compiler.lir.Variable ret
         8: .line 375
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp
            dup
            aload 7 /* op */
            aload 1 /* size */
            aload 8 /* ret */
            aload 2 /* a */
            iload 6 /* imm */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 376
            aload 8 /* ret */
            areturn
        end local 8 // org.graalvm.compiler.lir.Variable ret
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp op
        end local 6 // int imm
        10: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* a */
            aastore
            dup
            iconst_1
            aload 3 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 1 /* size */
            iconst_1
            aload 2 /* a */
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryVar:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // long value
        end local 3 // org.graalvm.compiler.lir.ConstantValue b
        end local 2 // jdk.vm.ci.meta.AllocatableValue a
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   11     1   size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0   11     2      a  Ljdk/vm/ci/meta/AllocatableValue;
            0   11     3      b  Lorg/graalvm/compiler/lir/ConstantValue;
            1   11     4  value  J
            3   10     6    imm  I
            5    6     7     op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            7   10     7     op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            8   10     8    ret  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      size  
      a     
      b     

  private org.graalvm.compiler.lir.Variable emitIMUL(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
         0: .line 383
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 384
            aload 0 /* this */
            aload 1 /* size */
            aload 0 /* this */
            aload 2 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMULConst:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 385
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 386
            aload 0 /* this */
            aload 1 /* size */
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMULConst:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* a */
            aastore
            dup
            iconst_1
            aload 3 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 1 /* size */
            iconst_1
            aload 0 /* this */
            aload 2 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinaryVar:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    5     1  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    5     2     a  Ljdk/vm/ci/meta/Value;
            0    5     3     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      size  
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitMul(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // boolean setFlags
         0: .line 394
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 4 /* isAvx */
        start local 4 // boolean isAvx
         1: .line 395
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
         2: .line 396
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 3
                    4: 4
                    5: 5
                    6: 8
              default: 11
          }
         3: .line 398
      StackMap locals: int org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMUL:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMUL:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 402
      StackMap locals:
      StackMap stack:
            iload 4 /* isAvx */
            ifeq 7
         6: .line 403
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VMULSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 408
      StackMap locals:
      StackMap stack:
            iload 4 /* isAvx */
            ifeq 10
         9: .line 409
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VMULSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 414
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 4 // boolean isAvx
        end local 3 // boolean setFlags
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1           a  Ljdk/vm/ci/meta/Value;
            0   12     2           b  Ljdk/vm/ci/meta/Value;
            0   12     3    setFlags  Z
            1   12     4       isAvx  Z
            2   12     5  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
          Name  Flags
      a         
      b         
      setFlags  

  private jdk.vm.ci.code.RegisterValue moveToReg(jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // jdk.vm.ci.meta.Value v
         0: .line 419
            aload 1 /* reg */
            aload 2 /* v */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 3 /* ret */
        start local 3 // jdk.vm.ci.code.RegisterValue ret
         1: .line 420
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 3 /* ret */
            aload 2 /* v */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         2: .line 421
            aload 3 /* ret */
            areturn
        end local 3 // jdk.vm.ci.code.RegisterValue ret
        end local 2 // jdk.vm.ci.meta.Value v
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1   reg  Ljdk/vm/ci/code/Register;
            0    3     2     v  Ljdk/vm/ci/meta/Value;
            1    3     3   ret  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
      Name  Flags
      reg   
      v     

  private jdk.vm.ci.meta.Value emitMulHigh(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp opcode
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 425
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            dup
            aload 1 /* opcode */
            aload 2 /* size */
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* a */
            aastore
            dup
            iconst_1
            aload 4 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.moveToReg:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MulDivOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            checkcast org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            astore 5 /* mulHigh */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp mulHigh
         1: .line 426
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 5 /* mulHigh */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getHighResult:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 5 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp mulHigh
        end local 4 // jdk.vm.ci.meta.Value b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp opcode
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    2     1   opcode  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            0    2     2     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    2     3        a  Ljdk/vm/ci/meta/Value;
            0    2     4        b  Ljdk/vm/ci/meta/Value;
            1    2     5  mulHigh  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
        Name  Flags
      opcode  
      size    
      a       
      b       

  public jdk.vm.ci.meta.Value emitMulHigh(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 431
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitMulHigh:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.IMUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitMulHigh:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         3: .line 437
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public jdk.vm.ci.meta.Value emitUMulHigh(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 443
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitMulHigh:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitMulHigh:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         3: .line 449
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public jdk.vm.ci.meta.Value emitBinaryMemory(org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.AllocatableValue a
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 454
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 2 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.isXmmType:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* a */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         3: .line 456
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryMemoryOp
            dup
            aload 1 /* op */
            aload 6 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 6 /* result */
            aload 3 /* a */
            aload 4 /* location */
            aload 5 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryMemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 457
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // org.graalvm.compiler.lir.LIRFrameState state
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        end local 3 // jdk.vm.ci.meta.AllocatableValue a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    5     1        op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            0    5     2      size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    5     3         a  Ljdk/vm/ci/meta/AllocatableValue;
            0    5     4  location  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0    5     5     state  Lorg/graalvm/compiler/lir/LIRFrameState;
            3    5     6    result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
          Name  Flags
      op        
      size      
      a         
      location  
      state     

  public jdk.vm.ci.meta.Value emitBinaryMemory(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.AllocatableValue a
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 461
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* a */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         1: .line 462
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryTwoOp
            dup
            aload 1 /* op */
            aload 2 /* size */
            aload 6 /* result */
            aload 3 /* a */
            aload 4 /* location */
            aload 5 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 463
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // org.graalvm.compiler.lir.LIRFrameState state
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        end local 3 // jdk.vm.ci.meta.AllocatableValue a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1        op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    3     2      size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     3         a  Ljdk/vm/ci/meta/AllocatableValue;
            0    3     4  location  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0    3     5     state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    3     6    result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
          Name  Flags
      op        
      size      
      a         
      location  
      state     

  protected jdk.vm.ci.meta.Value emitConvertMemoryOp(jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 467
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* kind */
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         1: .line 468
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 6 /* result */
            aload 4 /* address */
            aload 5 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 469
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // org.graalvm.compiler.lir.LIRFrameState state
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1     kind  Ljdk/vm/ci/meta/PlatformKind;
            0    3     2       op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    3     3     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     4  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0    3     5    state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    3     6   result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      kind     
      op       
      size     
      address  
      state    

  protected jdk.vm.ci.meta.Value emitZeroExtendMemory(jdk.vm.ci.amd64.AMD64Kind, int, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;ILorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind memoryKind
        start local 2 // int resultBits
        start local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 475
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iload 2 /* resultBits */
            bipush 32
            if_icmpgt 1
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator
         1: getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.amd64.AMD64Kind int org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.lir.LIRFrameState
      StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator jdk.vm.ci.amd64.AMD64Kind
         2: invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         3: .line 476
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* memoryKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 6
                    3: 8
                    4: 10
              default: 12
          }
         4: .line 478
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 479
            goto 13
         6: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 482
            goto 13
         8: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 485
            goto 13
        10: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        11: .line 488
            goto 13
        12: .line 490
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        13: .line 492
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 2 // int resultBits
        end local 1 // jdk.vm.ci.amd64.AMD64Kind memoryKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   14     1  memoryKind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   14     2  resultBits  I
            0   14     3     address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   14     4       state  Lorg/graalvm/compiler/lir/LIRFrameState;
            3   14     5      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
            Name  Flags
      memoryKind  
      resultBits  
      address     
      state       

  private org.graalvm.compiler.lir.amd64.AMD64MulDivOp emitIDIV(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 496
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* a */
            aastore
            dup
            iconst_1
            aload 3 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* kind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 498
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64SignExtendOp
            dup
            aload 1 /* size */
            aload 5 /* kind */
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 2 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.moveToReg:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64SignExtendOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            checkcast org.graalvm.compiler.lir.amd64.AMD64SignExtendOp
            astore 6 /* sx */
        start local 6 // org.graalvm.compiler.lir.amd64.AMD64SignExtendOp sx
         2: .line 499
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.IDIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 1 /* size */
            aload 5 /* kind */
            aload 6 /* sx */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64SignExtendOp.getHighResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* sx */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64SignExtendOp.getLowResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MulDivOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            checkcast org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            areturn
        end local 6 // org.graalvm.compiler.lir.amd64.AMD64SignExtendOp sx
        end local 5 // org.graalvm.compiler.core.common.LIRKind kind
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1   size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     2      a  Ljdk/vm/ci/meta/Value;
            0    3     3      b  Ljdk/vm/ci/meta/Value;
            0    3     4  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    3     5   kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2    3     6     sx  Lorg/graalvm/compiler/lir/amd64/AMD64SignExtendOp;
    MethodParameters:
       Name  Flags
      size   
      a      
      b      
      state  

  private org.graalvm.compiler.lir.amd64.AMD64MulDivOp emitDIV(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 503
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* a */
            aastore
            dup
            iconst_1
            aload 3 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* kind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 505
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 2 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.moveToReg:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            astore 6 /* rax */
        start local 6 // jdk.vm.ci.code.RegisterValue rax
         2: .line 506
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aload 5 /* kind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 7 /* rdx */
        start local 7 // jdk.vm.ci.code.RegisterValue rdx
         3: .line 507
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64ClearRegisterOp
            dup
            aload 1 /* size */
            aload 7 /* rdx */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ClearRegisterOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 508
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 1 /* size */
            aload 5 /* kind */
            aload 7 /* rdx */
            aload 6 /* rax */
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MulDivOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            checkcast org.graalvm.compiler.lir.amd64.AMD64MulDivOp
            areturn
        end local 7 // jdk.vm.ci.code.RegisterValue rdx
        end local 6 // jdk.vm.ci.code.RegisterValue rax
        end local 5 // org.graalvm.compiler.core.common.LIRKind kind
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    5     1   size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    5     2      a  Ljdk/vm/ci/meta/Value;
            0    5     3      b  Ljdk/vm/ci/meta/Value;
            0    5     4  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    5     5   kind  Lorg/graalvm/compiler/core/common/LIRKind;
            2    5     6    rax  Ljdk/vm/ci/code/RegisterValue;
            3    5     7    rdx  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
       Name  Flags
      size   
      a      
      b      
      state  

  public jdk.vm.ci.meta.Value[] emitSignedDivRem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)[Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 513
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 516
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 519
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 521
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         6: .line 523
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public jdk.vm.ci.meta.Value[] emitUnsignedDivRem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)[Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 528
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 531
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 534
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 536
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         6: .line 538
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public jdk.vm.ci.meta.Value emitDiv(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 543
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 4 /* isAvx */
        start local 4 // boolean isAvx
         1: .line 544
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 5 /* resultKind */
        start local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
         2: .line 545
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 3
                    4: 5
                    5: 7
                    6: 10
              default: 13
          }
         3: .line 547
      StackMap locals: int org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 6 /* op */
        start local 6 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 548
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 6 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 6 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 7 /* lop */
        start local 7 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         6: .line 551
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 7 /* lop */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 7 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         7: .line 553
      StackMap locals:
      StackMap stack:
            iload 4 /* isAvx */
            ifeq 9
         8: .line 554
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VDIVSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 559
      StackMap locals:
      StackMap stack:
            iload 4 /* isAvx */
            ifeq 12
        11: .line 560
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VDIVSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        13: .line 565
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 4 // boolean isAvx
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   14     1           a  Ljdk/vm/ci/meta/Value;
            0   14     2           b  Ljdk/vm/ci/meta/Value;
            0   14     3       state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   14     4       isAvx  Z
            2   14     5  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            4    5     6          op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     7         lop  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public jdk.vm.ci.meta.Value emitRem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 571
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 1
                    4: 3
                    5: 5
                    6: 8
              default: 11
          }
         1: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 574
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 5 /* lop */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         4: .line 577
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 5 /* lop */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 5 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         5: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         6: .line 580
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Arithmetic$FPDivRemOp
            dup
            getstatic org.graalvm.compiler.lir.amd64.AMD64Arithmetic.FREM:Lorg/graalvm/compiler/lir/amd64/AMD64Arithmetic;
            aload 6 /* result */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Arithmetic$FPDivRemOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64Arithmetic;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 581
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
         8: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.lir.Variable result
         9: .line 585
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Arithmetic$FPDivRemOp
            dup
            getstatic org.graalvm.compiler.lir.amd64.AMD64Arithmetic.DREM:Lorg/graalvm/compiler/lir/amd64/AMD64Arithmetic;
            aload 6 /* result */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Arithmetic$FPDivRemOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64Arithmetic;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 586
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        11: .line 589
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1       a  Ljdk/vm/ci/meta/Value;
            0   12     2       b  Ljdk/vm/ci/meta/Value;
            0   12     3   state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4      op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     5     lop  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    8     6  result  Lorg/graalvm/compiler/lir/Variable;
            9   11     6  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public org.graalvm.compiler.lir.Variable emitUDiv(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 596
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 599
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 602
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 604
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         6: .line 606
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public org.graalvm.compiler.lir.Variable emitURem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 612
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 615
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 618
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 620
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         6: .line 622
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

  public org.graalvm.compiler.lir.Variable emitAnd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 627
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 3 /* resultKind */
        start local 3 // org.graalvm.compiler.core.common.LIRKind resultKind
         1: .line 628
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 2
                    4: 3
                    5: 4
                    6: 5
              default: 6
          }
         2: .line 630
      StackMap locals: org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 638
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1           a  Ljdk/vm/ci/meta/Value;
            0    7     2           b  Ljdk/vm/ci/meta/Value;
            1    7     3  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitOr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 644
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 3 /* isAvx */
        start local 3 // boolean isAvx
         1: .line 645
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
         2: .line 646
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 3
                    4: 4
                    5: 5
                    6: 8
              default: 11
          }
         3: .line 648
      StackMap locals: int org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 652
      StackMap locals:
      StackMap stack:
            iload 3 /* isAvx */
            ifeq 7
         6: .line 653
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VORPS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 658
      StackMap locals:
      StackMap stack:
            iload 3 /* isAvx */
            ifeq 10
         9: .line 659
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VORPD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 664
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 3 // boolean isAvx
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1           a  Ljdk/vm/ci/meta/Value;
            0   12     2           b  Ljdk/vm/ci/meta/Value;
            1   12     3       isAvx  Z
            2   12     4  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitXor(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 670
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.supportAVX:()Z
            istore 3 /* isAvx */
        start local 3 // boolean isAvx
         1: .line 671
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
         2: .line 672
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 3
                    4: 4
                    5: 5
                    6: 8
              default: 11
          }
         3: .line 674
      StackMap locals: int org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 678
      StackMap locals:
      StackMap stack:
            iload 3 /* isAvx */
            ifeq 7
         6: .line 679
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VXORPS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 684
      StackMap locals:
      StackMap stack:
            iload 3 /* isAvx */
            ifeq 10
         9: .line 685
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VXORPD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBinary:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 690
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 3 // boolean isAvx
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1           a  Ljdk/vm/ci/meta/Value;
            0   12     2           b  Ljdk/vm/ci/meta/Value;
            1   12     3       isAvx  Z
            2   12     4  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
      Name  Flags
      a     
      b     

  private org.graalvm.compiler.lir.Variable emitShift(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 695
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 696
            aload 0 /* this */
            aload 1 /* op */
            aload 2 /* size */
            aload 3 /* a */
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShiftConst:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* a */
            aastore
            dup
            iconst_1
            aload 4 /* b */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            aload 3 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         3: .line 699
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 6 /* input */
        start local 6 // jdk.vm.ci.meta.AllocatableValue input
         4: .line 700
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.RCX_I:Ljdk/vm/ci/code/RegisterValue;
            aload 4 /* b */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         5: .line 701
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64ShiftOp
            dup
            aload 1 /* op */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.mcOp:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 2 /* size */
            aload 5 /* result */
            aload 6 /* input */
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.RCX_I:Ljdk/vm/ci/code/RegisterValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ShiftOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 702
            aload 5 /* result */
            areturn
        end local 6 // jdk.vm.ci.meta.AllocatableValue input
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.Value b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            0    7     2    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    7     3       a  Ljdk/vm/ci/meta/Value;
            0    7     4       b  Ljdk/vm/ci/meta/Value;
            3    7     5  result  Lorg/graalvm/compiler/lir/Variable;
            4    7     6   input  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      op    
      size  
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitShiftConst(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.JavaConstant b
         0: .line 706
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* a */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            aload 3 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         1: .line 707
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 6 /* input */
        start local 6 // jdk.vm.ci.meta.AllocatableValue input
         2: .line 708
            aload 4 /* b */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_1
            lcmp
            ifne 5
         3: .line 709
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            aload 1 /* op */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.m1Op:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 2 /* size */
            aload 5 /* result */
            aload 6 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 710
            goto 6
         5: .line 714
      StackMap locals: org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp
            dup
            aload 1 /* op */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.miOp:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* size */
            aload 5 /* result */
            aload 6 /* input */
            aload 4 /* b */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            i2b
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 716
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 6 // jdk.vm.ci.meta.AllocatableValue input
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.JavaConstant b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            0    7     2    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    7     3       a  Ljdk/vm/ci/meta/Value;
            0    7     4       b  Ljdk/vm/ci/meta/JavaConstant;
            1    7     5  result  Lorg/graalvm/compiler/lir/Variable;
            2    7     6   input  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      op    
      size  
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitShl(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 721
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 727
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitShr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 733
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SAR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SAR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 739
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitUShr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 745
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 751
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitRol(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 756
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 762
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.lir.Variable emitRor(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 768
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 774
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  private jdk.vm.ci.meta.AllocatableValue emitConvertOp(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.Value input
         0: .line 779
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         1: .line 780
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 5 /* result */
            aload 0 /* this */
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 781
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.Value input
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1    kind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    3     2      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    3     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     4   input  Ljdk/vm/ci/meta/Value;
            1    3     5  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      kind   
      op     
      size   
      input  

  private jdk.vm.ci.meta.AllocatableValue emitConvertOp(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind kind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.Value input
         0: .line 785
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         1: .line 786
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MROp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 5 /* result */
            aload 0 /* this */
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 787
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.Value input
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1    kind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    3     2      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            0    3     3    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     4   input  Ljdk/vm/ci/meta/Value;
            1    3     5  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      kind   
      op     
      size   
      input  

  public jdk.vm.ci.meta.Value emitReinterpret(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind to
        start local 2 // jdk.vm.ci.meta.Value inputVal
         0: .line 792
            aload 2 /* inputVal */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            astore 3 /* from */
        start local 3 // jdk.vm.ci.meta.ValueKind from
         1: .line 793
            aload 1 /* to */
            aload 3 /* from */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 794
            aload 2 /* inputVal */
            areturn
         3: .line 797
      StackMap locals: jdk.vm.ci.meta.ValueKind
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 4 /* input */
        start local 4 // jdk.vm.ci.meta.AllocatableValue input
         4: .line 802
            aload 3 /* from */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.scalarKind:(Ljdk/vm/ci/amd64/AMD64Kind;)Ljdk/vm/ci/amd64/AMD64Kind;
            astore 5 /* fromKind */
        start local 5 // jdk.vm.ci.amd64.AMD64Kind fromKind
         5: .line 803
            aload 1 /* to */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.scalarKind:(Ljdk/vm/ci/amd64/AMD64Kind;)Ljdk/vm/ci/amd64/AMD64Kind;
            astore 6 /* toKind */
        start local 6 // jdk.vm.ci.amd64.AMD64Kind toKind
         6: .line 804
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 6 /* toKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 7
                    4: 10
                    5: 13
                    6: 16
              default: 18
          }
         7: .line 806
      StackMap locals: jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.amd64.AMD64Kind jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 5 - 5
                    5: 8
              default: 9
          }
         8: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 810
      StackMap locals:
      StackMap stack:
            goto 18
        10: .line 812
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 6 - 6
                    6: 11
              default: 12
          }
        11: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        12: .line 816
      StackMap locals:
      StackMap stack:
            goto 18
        13: .line 818
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 3
                    3: 14
              default: 15
          }
        14: .line 820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        15: .line 822
      StackMap locals:
      StackMap stack:
            goto 18
        16: .line 824
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 4 - 4
                    4: 17
              default: 18
          }
        17: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        18: .line 829
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
        19: .line 830
            aload 6 /* toKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* fromKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // jdk.vm.ci.amd64.AMD64Kind toKind
        end local 5 // jdk.vm.ci.amd64.AMD64Kind fromKind
        end local 4 // jdk.vm.ci.meta.AllocatableValue input
        end local 3 // jdk.vm.ci.meta.ValueKind from
        end local 2 // jdk.vm.ci.meta.Value inputVal
        end local 1 // org.graalvm.compiler.core.common.LIRKind to
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   20     1        to  Lorg/graalvm/compiler/core/common/LIRKind;
            0   20     2  inputVal  Ljdk/vm/ci/meta/Value;
            1   20     3      from  Ljdk/vm/ci/meta/ValueKind<*>;
            4   20     4     input  Ljdk/vm/ci/meta/AllocatableValue;
            5   20     5  fromKind  Ljdk/vm/ci/amd64/AMD64Kind;
            6   20     6    toKind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
          Name  Flags
      to        
      inputVal  

  private static jdk.vm.ci.amd64.AMD64Kind scalarKind(jdk.vm.ci.amd64.AMD64Kind);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;)Ljdk/vm/ci/amd64/AMD64Kind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.vm.ci.amd64.AMD64Kind kind
         0: .line 834
            aload 0 /* kind */
            astore 1 /* resultKind */
        start local 1 // jdk.vm.ci.amd64.AMD64Kind resultKind
         1: .line 835
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 9
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.getVectorLength:()I
            iconst_1
            if_icmple 9
         2: .line 836
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.getSizeInBytes:()I
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.getSizeInBytes:()I
            if_icmpne 5
         3: .line 837
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            astore 1 /* resultKind */
         4: .line 838
            goto 9
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
         5: aload 0 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.getSizeInBytes:()I
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.getSizeInBytes:()I
            if_icmpne 8
         6: .line 839
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            astore 1 /* resultKind */
         7: .line 840
            goto 9
         8: .line 841
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "no equal size scalar kind for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         9: .line 844
      StackMap locals:
      StackMap stack:
            aload 1 /* resultKind */
            areturn
        end local 1 // jdk.vm.ci.amd64.AMD64Kind resultKind
        end local 0 // jdk.vm.ci.amd64.AMD64Kind kind
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        kind  Ljdk/vm/ci/amd64/AMD64Kind;
            1   10     1  resultKind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
      Name  Flags
      kind  

  public jdk.vm.ci.meta.Value emitFloatConvert(org.graalvm.compiler.core.common.calc.FloatConvert, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/FloatConvert;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.calc.FloatConvert op
        start local 2 // jdk.vm.ci.meta.Value input
         0: .line 849
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:()[I
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 5
                    2: 2
                    3: 6
                    4: 3
                    5: 8
                    6: 10
                    7: 1
                    8: 7
                    9: 9
                   10: 4
              default: 11
          }
         1: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSD2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         3: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         4: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSS2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         5: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         6: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        10: .line 869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        11: .line 871
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value input
        end local 1 // org.graalvm.compiler.core.common.calc.FloatConvert op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1     op  Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            0   12     2  input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      op     
      input  

  public jdk.vm.ci.meta.Value emitNarrow(jdk.vm.ci.meta.Value, int);
    descriptor: (Ljdk/vm/ci/meta/Value;I)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
        start local 2 // int bits
         0: .line 877
            aload 1 /* inputVal */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 2
            iload 2 /* bits */
            bipush 32
            if_icmpgt 2
         1: .line 879
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 881
      StackMap locals:
      StackMap stack:
            aload 1 /* inputVal */
            areturn
        end local 2 // int bits
        end local 1 // jdk.vm.ci.meta.Value inputVal
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1  inputVal  Ljdk/vm/ci/meta/Value;
            0    3     2      bits  I
    MethodParameters:
          Name  Flags
      inputVal  
      bits      

  public jdk.vm.ci.meta.Value emitSignExtend(jdk.vm.ci.meta.Value, int, int);
    descriptor: (Ljdk/vm/ci/meta/Value;II)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
        start local 2 // int fromBits
        start local 3 // int toBits
         0: .line 887
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpgt 1
            iload 3 /* toBits */
            bipush 64
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 888
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 889
            aload 1 /* inputVal */
            areturn
         4: .line 890
      StackMap locals:
      StackMap stack:
            iload 3 /* toBits */
            bipush 32
            if_icmple 10
         5: .line 892
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 6
                   16: 7
                   32: 8
              default: 9
          }
         6: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 900
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported sign extension ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* fromBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* toBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        10: .line 904
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 11
                   16: 12
                   32: 13
              default: 14
          }
        11: .line 906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        12: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        13: .line 910
      StackMap locals:
      StackMap stack:
            aload 1 /* inputVal */
            areturn
        14: .line 912
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported sign extension ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* fromBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* toBits */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // int toBits
        end local 2 // int fromBits
        end local 1 // jdk.vm.ci.meta.Value inputVal
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   15     1  inputVal  Ljdk/vm/ci/meta/Value;
            0   15     2  fromBits  I
            0   15     3    toBits  I
    MethodParameters:
          Name  Flags
      inputVal  
      fromBits  
      toBits    

  public jdk.vm.ci.meta.Value emitZeroExtend(jdk.vm.ci.meta.Value, int, int);
    descriptor: (Ljdk/vm/ci/meta/Value;II)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
        start local 2 // int fromBits
        start local 3 // int toBits
         0: .line 919
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpgt 1
            iload 3 /* toBits */
            bipush 64
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 920
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 921
            aload 1 /* inputVal */
            areturn
         4: .line 922
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            bipush 32
            if_icmple 10
         5: .line 923
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 6
            aload 1 /* inputVal */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.Variable result
         7: .line 925
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 5 /* mask */
        start local 5 // long mask
         8: .line 926
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* result */
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            lload 5 /* mask */
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 927
            aload 4 /* result */
            areturn
        end local 5 // long mask
        end local 4 // org.graalvm.compiler.lir.Variable result
        10: .line 929
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        start local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        11: .line 930
            iload 3 /* toBits */
            bipush 32
            if_icmple 14
        12: .line 931
            aload 4 /* resultKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        13: .line 932
            goto 15
        14: .line 933
      StackMap locals: org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 4 /* resultKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 4 /* resultKind */
        15: .line 942
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 16
                   16: 17
                   32: 18
              default: 19
          }
        16: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        17: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        18: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        19: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
        20: .line 954
            iload 3 /* toBits */
            bipush 32
            if_icmple 23
        21: .line 955
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 6 /* mask */
        start local 6 // jdk.vm.ci.meta.JavaConstant mask
        22: .line 956
            goto 24
        end local 6 // jdk.vm.ci.meta.JavaConstant mask
        23: .line 957
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            l2i
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 6 /* mask */
        start local 6 // jdk.vm.ci.meta.JavaConstant mask
        24: .line 959
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* mask */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        25: .line 960
            aload 5 /* result */
            areturn
        end local 6 // jdk.vm.ci.meta.JavaConstant mask
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 3 // int toBits
        end local 2 // int fromBits
        end local 1 // jdk.vm.ci.meta.Value inputVal
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   26     1    inputVal  Ljdk/vm/ci/meta/Value;
            0   26     2    fromBits  I
            0   26     3      toBits  I
            7   10     4      result  Lorg/graalvm/compiler/lir/Variable;
            8   10     5        mask  J
           11   26     4  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
           20   26     5      result  Lorg/graalvm/compiler/lir/Variable;
           22   23     6        mask  Ljdk/vm/ci/meta/JavaConstant;
           24   26     6        mask  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      inputVal  
      fromBits  
      toBits    

  public org.graalvm.compiler.lir.Variable emitBitCount(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 966
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 967
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 968
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         3: .line 969
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.POPCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 970
            goto 6
         5: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.POPCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 973
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.lir.Variable emitBitScanForward(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 978
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 979
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSF:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 980
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1   value  Ljdk/vm/ci/meta/Value;
            1    3     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.lir.Variable emitBitScanReverse(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 985
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 986
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 987
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         3: .line 988
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 989
            goto 6
         5: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 992
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.lir.Variable emitFusedMultiplyAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // jdk.vm.ci.meta.Value c
         0: .line 997
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_3
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* a */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            dup
            iconst_2
            aload 3 /* c */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.Variable result
         1: .line 998
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 3
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 2
            aload 2 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 2
            aload 3 /* c */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifne 3
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 999
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 2 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1000
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 5
            aload 2 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            aload 3 /* c */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1002
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 8
         6: .line 1003
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Ternary$ThreeOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VFMADD231SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 4 /* result */
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Ternary$ThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 1004
            goto 10
         8: .line 1005
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 9
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Ternary$ThreeOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VFMADD231SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 4 /* result */
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Ternary$ThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1008
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.graalvm.compiler.lir.Variable result
        end local 3 // jdk.vm.ci.meta.Value c
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   11     1       a  Ljdk/vm/ci/meta/Value;
            0   11     2       b  Ljdk/vm/ci/meta/Value;
            0   11     3       c  Ljdk/vm/ci/meta/Value;
            1   11     4  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public jdk.vm.ci.meta.Value emitCountLeadingZeros(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 1013
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1014
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1015
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         3: .line 1016
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.LZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1017
            goto 6
         5: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.LZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1020
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public jdk.vm.ci.meta.Value emitCountTrailingZeros(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 1025
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1026
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1027
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         3: .line 1028
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1029
            goto 6
         5: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1032
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public jdk.vm.ci.meta.Value emitLogicalAndNot(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value1
        start local 2 // jdk.vm.ci.meta.Value value2
         0: .line 1037
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value1 */
            aastore
            dup
            iconst_1
            aload 2 /* value2 */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         1: .line 1039
            aload 1 /* value1 */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
         2: .line 1040
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRVMOp.ANDN:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRVMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value1 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* value2 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1041
            goto 5
         4: .line 1042
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRVMOp.ANDN:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRVMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value1 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* value2 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1044
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // jdk.vm.ci.meta.Value value2
        end local 1 // jdk.vm.ci.meta.Value value1
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1  value1  Ljdk/vm/ci/meta/Value;
            0    6     2  value2  Ljdk/vm/ci/meta/Value;
            1    6     3  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
        Name  Flags
      value1  
      value2  

  public jdk.vm.ci.meta.Value emitLowestSetIsolatedBit(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 1049
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1051
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
         2: .line 1052
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1053
            goto 5
         4: .line 1054
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1057
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1   value  Ljdk/vm/ci/meta/Value;
            1    6     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public jdk.vm.ci.meta.Value emitGetMaskUpToLowestSetBit(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 1062
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1064
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
         2: .line 1065
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSMSK:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1066
            goto 5
         4: .line 1067
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSMSK:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1070
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1   value  Ljdk/vm/ci/meta/Value;
            1    6     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public jdk.vm.ci.meta.Value emitResetLowestSetBit(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 1075
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1077
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
         2: .line 1078
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1079
            goto 5
         4: .line 1080
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp.BLSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexGeneralPurposeRMOp;
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1083
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1   value  Ljdk/vm/ci/meta/Value;
            1    6     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

  public jdk.vm.ci.meta.Value emitMathAbs(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1088
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1089
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* input */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 5 - 6
                    5: 2
                    6: 4
              default: 6
          }
         2: .line 1091
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            ldc 2147483647
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1092
            goto 7
         4: .line 1094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            ldc 9223372036854775807
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1095
            goto 7
         6: .line 1097
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1099
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    8     1   input  Ljdk/vm/ci/meta/Value;
            1    8     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathSqrt(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1104
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1105
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* input */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 5 - 6
                    5: 2
                    6: 4
              default: 6
          }
         2: .line 1107
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SQRT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1108
            goto 7
         4: .line 1110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SQRT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1111
            goto 7
         6: .line 1113
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1115
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    8     1   input  Ljdk/vm/ci/meta/Value;
            1    8     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathLog(jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
        start local 2 // boolean base10
         0: .line 1120
            iload 2 /* base10 */
            ifeq 2
         1: .line 1121
            new org.graalvm.compiler.lir.amd64.AMD64MathLog10Op
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathLog10Op.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathLog10Op.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 1123
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.lir.amd64.AMD64MathLogOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathLogOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathLogOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 2 // boolean base10
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1   input  Ljdk/vm/ci/meta/Value;
            0    3     2  base10  Z
    MethodParameters:
        Name  Flags
      input   
      base10  

  public jdk.vm.ci.meta.Value emitMathCos(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1129
            new org.graalvm.compiler.lir.amd64.AMD64MathCosOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathCosOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathCosOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1  input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathSin(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1134
            new org.graalvm.compiler.lir.amd64.AMD64MathSinOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathSinOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathSinOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1  input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathTan(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1139
            new org.graalvm.compiler.lir.amd64.AMD64MathTanOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathTanOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathTanOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1  input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathExp(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1144
            new org.graalvm.compiler.lir.amd64.AMD64MathExpOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathExpOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathExpOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1  input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value emitMathPow(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value x
        start local 2 // jdk.vm.ci.meta.Value y
         0: .line 1149
            new org.graalvm.compiler.lir.amd64.AMD64MathPowOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathPowOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* x */
            aload 2 /* y */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathPowOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 2 // jdk.vm.ci.meta.Value y
        end local 1 // jdk.vm.ci.meta.Value x
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1     x  Ljdk/vm/ci/meta/Value;
            0    1     2     y  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      x     
      y     

  protected org.graalvm.compiler.core.amd64.AMD64LIRGenerator getAMD64LIRGen();
    descriptor: ()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
         0: .line 1153
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            checkcast org.graalvm.compiler.core.amd64.AMD64LIRGenerator
            areturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;

  public org.graalvm.compiler.lir.Variable emitLoad(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind kind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1158
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 4 /* loadAddress */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue loadAddress
         1: .line 1159
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         2: .line 1160
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 3
                    2: 5
                    3: 7
                    4: 9
                    5: 11
                    6: 13
              default: 15
          }
         3: .line 1162
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1163
            goto 16
         5: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1166
            goto 16
         7: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 1169
            goto 16
         9: .line 1171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1172
            goto 16
        11: .line 1174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1175
            goto 16
        13: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        14: .line 1178
            goto 16
        15: .line 1180
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        16: .line 1182
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue loadAddress
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // org.graalvm.compiler.core.common.LIRKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   17     1         kind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   17     2      address  Ljdk/vm/ci/meta/Value;
            0   17     3        state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   17     4  loadAddress  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            2   17     5       result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      kind     
      address  
      state    

  public org.graalvm.compiler.lir.Variable emitVolatileLoad(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind kind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1187
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // org.graalvm.compiler.core.common.LIRKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1     kind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    1     2  address  Ljdk/vm/ci/meta/Value;
            0    1     3    state  Lorg/graalvm/compiler/lir/LIRFrameState;
    MethodParameters:
         Name  Flags
      kind     
      address  
      state    

  public void emitVolatileStore(jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // jdk.vm.ci.meta.Value input
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1192
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // jdk.vm.ci.meta.Value input
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1     kind  Ljdk/vm/ci/meta/ValueKind<*>;
            0    1     2  address  Ljdk/vm/ci/meta/Value;
            0    1     3    input  Ljdk/vm/ci/meta/Value;
            0    1     4    state  Lorg/graalvm/compiler/lir/LIRFrameState;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    MethodParameters:
         Name  Flags
      kind     
      address  
      input    
      state    

  protected void emitStoreConst(jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.ConstantValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/ConstantValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 3 // org.graalvm.compiler.lir.ConstantValue value
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1196
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
            astore 5 /* c */
        start local 5 // jdk.vm.ci.meta.Constant c
         1: .line 1197
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 8
         2: .line 1198
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 3
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 3
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1199
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            goto 5
      StackMap locals:
      StackMap stack:
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
         5: astore 6 /* size */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         6: .line 1200
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 6 /* size */
            aload 2 /* address */
            iconst_0
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;ILorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 1201
            return
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 1202
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 14
         9: .line 1204
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 41
        10: .line 1205
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifne 11
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifne 41
        11: .line 1207
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 12
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 12
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 1208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryVMConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* address */
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryVMConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/VMConstant;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        13: .line 1209
            return
        14: .line 1213
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* jc */
        start local 6 // jdk.vm.ci.meta.JavaConstant jc
        15: .line 1214
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 16
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 1216
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp op
        17: .line 1220
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 18
                    2: 22
                    3: 25
                    4: 28
                    5: 31
                    6: 34
              default: 37
          }
        18: .line 1222
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.MOVB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            astore 7 /* op */
        19: .line 1223
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        20: .line 1224
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        21: .line 1225
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        22: .line 1227
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        23: .line 1228
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        24: .line 1229
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        25: .line 1231
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        26: .line 1232
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        27: .line 1233
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        28: .line 1235
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        29: .line 1236
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 9 /* imm */
        start local 9 // long imm
        30: .line 1237
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        31: .line 1239
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        32: .line 1240
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asFloat:()F
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        33: .line 1241
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        34: .line 1243
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        35: .line 1244
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asDouble:()D
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 9 /* imm */
        start local 9 // long imm
        36: .line 1245
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        37: .line 1247
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unexpected kind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 9 // long imm
        38: .line 1250
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize long
      StackMap stack:
            lload 9 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 41
        39: .line 1251
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp
            dup
            aload 7 /* op */
            aload 8 /* size */
            aload 2 /* address */
            lload 9 /* imm */
            l2i
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;ILorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        40: .line 1252
            return
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp op
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        41: .line 1257
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.amd64.AMD64Kind org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.lir.ConstantValue org.graalvm.compiler.lir.LIRFrameState jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 0 /* this */
            aload 1 /* kind */
            aload 2 /* address */
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitStore:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
        42: .line 1258
            return
        end local 5 // jdk.vm.ci.meta.Constant c
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.ConstantValue value
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   43     1     kind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   43     2  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   43     3    value  Lorg/graalvm/compiler/lir/ConstantValue;
            0   43     4    state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   43     5        c  Ljdk/vm/ci/meta/Constant;
            6    8     6     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           15   41     6       jc  Ljdk/vm/ci/meta/JavaConstant;
           17   41     7       op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
           20   22     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           23   25     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           26   28     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           29   31     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           32   34     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           35   37     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           38   41     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           21   22     9      imm  J
           24   25     9      imm  J
           27   28     9      imm  J
           30   31     9      imm  J
           33   34     9      imm  J
           36   37     9      imm  J
           38   41     9      imm  J
    MethodParameters:
         Name  Flags
      kind     
      address  
      value    
      state    

  protected void emitStore(jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.lir.amd64.AMD64AddressValue, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 3 // jdk.vm.ci.meta.AllocatableValue value
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1261
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
                    6: 11
              default: 13
          }
         1: .line 1263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 1264
            goto 14
         3: .line 1266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1267
            goto 14
         5: .line 1269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1270
            goto 14
         7: .line 1272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 1273
            goto 14
         9: .line 1275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1276
            goto 14
        11: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1279
            goto 14
        13: .line 1281
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        14: .line 1283
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // jdk.vm.ci.meta.AllocatableValue value
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   15     1     kind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   15     2  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   15     3    value  Ljdk/vm/ci/meta/AllocatableValue;
            0   15     4    state  Lorg/graalvm/compiler/lir/LIRFrameState;
    MethodParameters:
         Name  Flags
      kind     
      address  
      value    
      state    

  public void emitStore(jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.ValueKind lirKind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // jdk.vm.ci.meta.Value input
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1287
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 5 /* storeAddress */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue storeAddress
         1: .line 1288
            aload 1 /* lirKind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.amd64.AMD64Kind kind
         2: .line 1289
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         3: .line 1290
            aload 0 /* this */
            aload 6 /* kind */
            aload 5 /* storeAddress */
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            aload 4 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitStoreConst:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/ConstantValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         4: .line 1291
            goto 6
         5: .line 1292
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64AddressValue jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            aload 0 /* this */
            aload 6 /* kind */
            aload 5 /* storeAddress */
            aload 0 /* this */
            aload 3 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitStore:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
         6: .line 1294
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue storeAddress
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // jdk.vm.ci.meta.Value input
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // jdk.vm.ci.meta.ValueKind lirKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1       lirKind  Ljdk/vm/ci/meta/ValueKind<*>;
            0    7     2       address  Ljdk/vm/ci/meta/Value;
            0    7     3         input  Ljdk/vm/ci/meta/Value;
            0    7     4         state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    7     5  storeAddress  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            2    7     6          kind  Ljdk/vm/ci/amd64/AMD64Kind;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    MethodParameters:
         Name  Flags
      lirKind  
      address  
      input    
      state    

  public boolean mustReplaceNullWithNullRegister(jdk.vm.ci.meta.Constant);
    descriptor: (Ljdk/vm/ci/meta/Constant;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Constant nullConstant
         0: .line 1298
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 1
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* nullConstant */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // jdk.vm.ci.meta.Constant nullConstant
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    2     1  nullConstant  Ljdk/vm/ci/meta/Constant;
    MethodParameters:
              Name  Flags
      nullConstant  

  public jdk.vm.ci.meta.AllocatableValue getNullRegisterValue();
    descriptor: ()Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
         0: .line 1302
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;

  public void emitCompareOp(jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind cmpKind
        start local 2 // org.graalvm.compiler.lir.Variable left
        start local 3 // jdk.vm.ci.meta.Value right
         0: .line 1308
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* cmpKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
                    6: 11
              default: 13
          }
         1: .line 1310
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         2: .line 1311
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         3: .line 1313
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         4: .line 1314
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         5: .line 1316
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         6: .line 1317
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         7: .line 1319
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 1320
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         9: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1323
            return
        11: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1326
            return
        13: .line 1328
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unexpected kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cmpKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        14: .line 1331
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 40
        15: .line 1332
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
            astore 5 /* c */
        start local 5 // jdk.vm.ci.meta.Constant c
        16: .line 1333
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 22
        17: .line 1334
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 20
        18: .line 1335
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        19: .line 1336
            goto 21
        20: .line 1337
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 2 /* left */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        21: .line 1339
      StackMap locals:
      StackMap stack:
            return
        22: .line 1340
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 29
        23: .line 1341
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            astore 6 /* vc */
        start local 6 // jdk.vm.ci.meta.VMConstant vc
        24: .line 1342
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 27
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 27
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifeq 27
        25: .line 1343
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$VMConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* left */
            aload 6 /* vc */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$VMConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/VMConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        26: .line 1344
            goto 28
        27: .line 1345
      StackMap locals: jdk.vm.ci.meta.VMConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$DataOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 6 /* vc */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$DataOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        28: .line 1347
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.meta.VMConstant vc
        29: .line 1348
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 40
        30: .line 1349
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* jc */
        start local 6 // jdk.vm.ci.meta.JavaConstant jc
        31: .line 1350
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 37
        32: .line 1351
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 33
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TESTB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            goto 34
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
        33: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp
        34: astore 7 /* op */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        35: .line 1352
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            aload 7 /* op */
            aload 4 /* size */
            aload 2 /* left */
            aload 2 /* left */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        36: .line 1353
            return
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        37: .line 1354
      StackMap locals:
      StackMap stack:
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 40
        38: .line 1355
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            aload 2 /* left */
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        39: .line 1356
            return
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        end local 5 // jdk.vm.ci.meta.Constant c
        40: .line 1362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        41: .line 1363
            return
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // org.graalvm.compiler.lir.Variable left
        end local 1 // jdk.vm.ci.amd64.AMD64Kind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   42     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   42     1  cmpKind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   42     2     left  Lorg/graalvm/compiler/lir/Variable;
            0   42     3    right  Ljdk/vm/ci/meta/Value;
            2    3     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            4    5     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            6    7     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            8    9     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           14   42     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           16   40     5        c  Ljdk/vm/ci/meta/Constant;
           24   29     6       vc  Ljdk/vm/ci/meta/VMConstant;
           31   40     6       jc  Ljdk/vm/ci/meta/JavaConstant;
           35   37     7       op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
    MethodParameters:
         Name  Flags
      cmpKind  
      left     
      right    

  public jdk.vm.ci.meta.Value emitRound(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
         0: .line 1367
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         1: .line 1368
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1369
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         3: .line 1370
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.ROUNDSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* mode */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.encoding:I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1371
            goto 6
         5: .line 1372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.ROUNDSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* mode */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.encoding:I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1374
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            0    7     2    mode  Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
            1    7     3  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  
      mode   

  public boolean supportAVX();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
         0: .line 1378
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            astore 1 /* target */
        start local 1 // jdk.vm.ci.code.TargetDescription target
         1: .line 1379
            aload 1 /* target */
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            checkcast jdk.vm.ci.amd64.AMD64
            invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            1    2     1  target  Ljdk/vm/ci/code/TargetDescription;

  private static org.graalvm.compiler.asm.amd64.AVXKind$AVXSize getRegisterSize(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.vm.ci.meta.Value a
         0: .line 1383
            aload 0 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            astore 1 /* kind */
        start local 1 // jdk.vm.ci.amd64.AMD64Kind kind
         1: .line 1384
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 3
         2: .line 1385
            aload 1 /* kind */
            invokestatic org.graalvm.compiler.asm.amd64.AVXKind.getRegisterSize:(Ljdk/vm/ci/amd64/AMD64Kind;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            areturn
         3: .line 1387
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            areturn
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // jdk.vm.ci.meta.Value a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  Ljdk/vm/ci/meta/Value;
            1    4     1  kind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
      Name  Flags
      a     

  protected org.graalvm.compiler.lir.Variable emitBinary(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 1392
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* resultKind */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.lir.Variable result
         1: .line 1393
            aload 4 /* b */
            instanceof org.graalvm.compiler.lir.ConstantValue
            ifeq 4
            aload 4 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 2
            aload 4 /* b */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
         2: .line 1394
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryConstFloatOp
            dup
            aload 2 /* op */
            aload 5 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 5 /* result */
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* b */
            checkcast org.graalvm.compiler.lir.ConstantValue
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryConstFloatOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1395
            goto 5
         4: .line 1396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            aload 2 /* op */
            aload 5 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 5 /* result */
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1398
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.Value b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    6     1  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    6     2          op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
            0    6     3           a  Ljdk/vm/ci/meta/Value;
            0    6     4           b  Ljdk/vm/ci/meta/Value;
            1    6     5      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
            Name  Flags
      resultKind  
      op          
      a           
      b           

  public jdk.vm.ci.meta.Value emitNegate(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitNegate:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitURem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitURem:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitShr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitShl(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShl:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitUShr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitUShr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitRor(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitRor:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitUDiv(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitUDiv:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitAnd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitAnd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitNot(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitNot:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitBitScanReverse(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBitScanReverse:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitBitScanForward(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBitScanForward:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitXor(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitXor:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitFusedMultiplyAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitFusedMultiplyAdd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitMul(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitMul:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitOr(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitOr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.meta.Value emitBitCount(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitBitCount:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 152
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.amd64.AMD64Kind.values:()[Ljdk/vm/ci/amd64/AMD64Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 6
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK16:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 31
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK32:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 32
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK64:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 33
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.MASK8:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 30
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 12
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 17
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 14
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 15
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 16
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 13
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 18
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 23
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 20
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 21
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 22
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 19
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V32_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 7
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V32_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 8
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 24
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 29
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 26
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 27
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 28
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V512_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 25
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 9
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 11
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.V64_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            bipush 10
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic jdk.vm.ci.amd64.AMD64Kind.WORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iconst_2
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            dup
            putstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 152
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.core.common.calc.FloatConvert.values:()[Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 7
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2I:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2L:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 10
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2I:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2L:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.I2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.I2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            iconst_5
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.L2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.L2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            invokevirtual org.graalvm.compiler.core.common.calc.FloatConvert.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$FloatConvert:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64ArithmeticLIRGenerator.java"
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public final AMD64BinaryArithmetic = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64MIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final AMD64MOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64MROp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64RMIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final AMD64Shift = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final VexGeneralPurposeRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final VexGeneralPurposeRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexGeneralPurposeRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
  public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind
  public FPDivRemOp = org.graalvm.compiler.lir.amd64.AMD64Arithmetic$FPDivRemOp of org.graalvm.compiler.lir.amd64.AMD64Arithmetic
  public final RoundingMode = org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode of org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool
  public CommutativeTwoOp = org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeTwoOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public ConstOp = org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public DataTwoOp = org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public MemoryTwoOp = org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryTwoOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public RMIOp = org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public TwoOp = org.graalvm.compiler.lir.amd64.AMD64Binary$TwoOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public ConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public DataOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$DataOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public MemoryConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public MemoryMROp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public MemoryVMConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryVMConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public Op = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public VMConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$VMConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public final LeaOp = org.graalvm.compiler.lir.amd64.AMD64Move$LeaOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public ThreeOp = org.graalvm.compiler.lir.amd64.AMD64Ternary$ThreeOp of org.graalvm.compiler.lir.amd64.AMD64Ternary
  public MOp = org.graalvm.compiler.lir.amd64.AMD64Unary$MOp of org.graalvm.compiler.lir.amd64.AMD64Unary
  public MROp = org.graalvm.compiler.lir.amd64.AMD64Unary$MROp of org.graalvm.compiler.lir.amd64.AMD64Unary
  public MemoryOp = org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp of org.graalvm.compiler.lir.amd64.AMD64Unary
  public RMOp = org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp of org.graalvm.compiler.lir.amd64.AMD64Unary
  public final AVXBinaryConstFloatOp = org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryConstFloatOp of org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary
  public final AVXBinaryMemoryOp = org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryMemoryOp of org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary
  public final AVXBinaryOp = org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp of org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary
  public final AVXUnaryOp = org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary$AVXUnaryOp of org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary