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 final org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths maths;
    descriptor: Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
    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

  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 final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 133
            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 135
            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, org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;)V
    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.AllocatableValue nullRegisterValue
        start local 2 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths maths
         0: .line 137
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.<init>:()V
         1: .line 138
            aload 0 /* this */
            aload 1 /* nullRegisterValue */
            putfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
         2: .line 139
            aload 0 /* this */
            aload 2 /* maths */
            ifnonnull 4
            new org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$1.<init>:(Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;)V
         3: .line 140
            goto 5
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
         4: aload 2 /* maths */
         5: .line 139
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths
            putfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.maths:Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
         6: .line 141
            return
        end local 2 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths maths
        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    7     0               this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1  nullRegisterValue  Ljdk/vm/ci/meta/AllocatableValue;
            0    7     2              maths  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
    MethodParameters:
                   Name  Flags
      nullRegisterValue  
      maths              

  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=9, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value inputVal
         0: .line 175
            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 176
            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 177
            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 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         3: .line 178
            aload 4 /* 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
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         4: .line 179
            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: 5
                    4: 7
                    5: 9
                    6: 14
              default: 19
          }
         5: .line 181
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable jdk.vm.ci.code.TargetDescription 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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 182
            goto 20
         7: .line 184
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 185
            goto 20
         9: .line 187
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 12
        10: .line 188
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataThreeOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            ldc -2147483648
            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$DataThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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
        11: .line 189
            goto 20
        12: .line 190
      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.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            ldc -2147483648
            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/AMD64Assembler$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 192
            goto 20
        14: .line 194
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 17
        15: .line 195
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataThreeOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            ldc -9223372036854775808
            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$DataThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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
        16: .line 196
            goto 20
        17: .line 197
      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.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 3 /* result */
            aload 2 /* input */
            ldc -9223372036854775808
            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/AMD64Assembler$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
        18: .line 199
            goto 20
        19: .line 201
      StackMap locals:
      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
        20: .line 203
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 5 // boolean isAvx
        end local 4 // jdk.vm.ci.code.TargetDescription target
        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   21     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   21     1  inputVal  Ljdk/vm/ci/meta/Value;
            1   21     2     input  Ljdk/vm/ci/meta/AllocatableValue;
            2   21     3    result  Lorg/graalvm/compiler/lir/Variable;
            3   21     4    target  Ljdk/vm/ci/code/TargetDescription;
            4   21     5     isAvx  Z
    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 208
            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 209
            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 210
            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 212
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 213
            goto 8
         5: .line 215
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 216
            goto 8
         7: .line 218
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         8: .line 220
      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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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 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 */
            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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;Z)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 */
            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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;Z)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 */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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 234
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 235
            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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 236
      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 237
            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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 239
      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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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 emitBinary(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp, org.graalvm.compiler.asm.amd64.AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Assembler$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 244
            aload 6 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 245
            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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 246
      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 247
            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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 249
      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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp 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$AMD64RRMOp;
            0    5     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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 254
            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 255
            lload 8 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 11
         2: .line 256
            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 257
            lload 8 /* value */
            l2i
            istore 11 /* constant */
        start local 11 // int constant
         4: .line 259
            iload 7 /* setFlags */
            ifne 9
         5: .line 260
            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 261
            aload 12 /* mop */
            ifnull 9
         7: .line 262
            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/AMD64Assembler$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 263
            aload 10 /* result */
            areturn
        end local 12 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp mop
         9: .line 267
      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/AMD64Assembler$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 268
            aload 10 /* result */
            areturn
        end local 11 // int constant
        end local 10 // org.graalvm.compiler.lir.Variable result
        11: .line 270
      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/AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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 275
            iload 1 /* constant */
            iconst_1
            if_icmpne 5
         1: .line 276
            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 277
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.INC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         3: .line 279
      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 280
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.DEC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         5: .line 282
      StackMap locals:
      StackMap stack:
            iload 1 /* constant */
            iconst_m1
            if_icmpne 10
         6: .line 283
            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 284
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.DEC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
         8: .line 286
      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 287
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MOp.INC:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            areturn
        10: .line 290
      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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.AllocatableValue a
        start local 5 // jdk.vm.ci.meta.JavaConstant b
         0: .line 294
            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 295
            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/AMD64Assembler$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 296
            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.AMD64Assembler$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/AMD64Assembler$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 emitBinaryConst(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp, org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.AllocatableValue a
        start local 5 // jdk.vm.ci.meta.JavaConstant b
         0: .line 300
            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 301
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataThreeOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 6 /* result */
            aload 4 /* a */
            aload 5 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 302
            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.AMD64Assembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp 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$AMD64RRMOp;
            0    3     3        size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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 306
            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 307
            iload 4 /* commutative */
            ifeq 4
         2: .line 308
            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/AMD64Assembler$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 309
            goto 5
         4: .line 310
      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/AMD64Assembler$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 312
      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.AMD64Assembler$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/AMD64Assembler$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            

  private org.graalvm.compiler.lir.Variable emitBinaryVar(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp, org.graalvm.compiler.asm.amd64.AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp op
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64Assembler$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 316
            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 317
            iload 4 /* commutative */
            ifeq 4
         2: .line 318
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeThreeOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 7 /* result */
            aload 5 /* a */
            aload 6 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 319
            goto 5
         4: .line 320
      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$ThreeOp
            dup
            aload 2 /* op */
            aload 3 /* size */
            aload 7 /* result */
            aload 5 /* a */
            aload 6 /* b */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 322
      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.AMD64Assembler$OperandSize size
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp 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$AMD64RRMOp;
            0    6     3         size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 327
            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.AMD64Assembler$OperandSize);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$OperandSize size
         0: .line 331
            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 332
            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 333
            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/AMD64Assembler$OperandSize;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 334
            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.AMD64Assembler$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/AMD64Assembler$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=9, 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 339
            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 5 /* target */
        start local 5 // jdk.vm.ci.code.TargetDescription target
         1: .line 340
            aload 5 /* 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
            istore 6 /* isAvx */
        start local 6 // boolean isAvx
         2: .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: 3
                    4: 8
                    5: 13
                    6: 16
              default: 19
          }
         3: .line 343
      StackMap locals: jdk.vm.ci.code.TargetDescription int
      StackMap stack:
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
            iload 4 /* setFlags */
            ifne 7
         4: .line 344
            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 7 /* displacement */
        start local 7 // long displacement
         5: .line 345
            lload 7 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 7
            lload 7 /* displacement */
            lconst_1
            lcmp
            ifeq 7
            lload 7 /* displacement */
            ldc -1
            lcmp
            ifeq 7
         6: .line 346
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* a */
            lload 7 /* displacement */
            l2i
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 7 // long displacement
         7: .line 349
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 12
            iload 4 /* setFlags */
            ifne 12
         9: .line 352
            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 7 /* displacement */
        start local 7 // long displacement
        10: .line 353
            lload 7 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 12
            lload 7 /* displacement */
            lconst_1
            lcmp
            ifeq 12
            lload 7 /* displacement */
            ldc -1
            lcmp
            ifeq 12
        11: .line 354
            aload 0 /* this */
            aload 1 /* resultKind */
            aload 2 /* a */
            lload 7 /* displacement */
            l2i
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 7 // long displacement
        12: .line 357
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
        13: .line 359
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 15
        14: .line 360
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        15: .line 362
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        16: .line 365
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 18
        17: .line 366
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.ADD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        18: .line 368
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        19: .line 371
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 6 // boolean isAvx
        end local 5 // jdk.vm.ci.code.TargetDescription target
        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   20     0          this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   20     1    resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   20     2             a  Ljdk/vm/ci/meta/Value;
            0   20     3             b  Ljdk/vm/ci/meta/Value;
            0   20     4      setFlags  Z
            1   20     5        target  Ljdk/vm/ci/code/TargetDescription;
            2   20     6         isAvx  Z
            5    7     7  displacement  J
           10   12     7  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=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 a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // boolean setFlags
         0: .line 377
            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 5 /* target */
        start local 5 // jdk.vm.ci.code.TargetDescription target
         1: .line 378
            aload 5 /* 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
            istore 6 /* isAvx */
        start local 6 // boolean isAvx
         2: .line 379
            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: 3
                    4: 4
                    5: 5
                    6: 8
              default: 11
          }
         3: .line 381
      StackMap locals: jdk.vm.ci.code.TargetDescription 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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 383
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 385
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 7
         6: .line 386
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         7: .line 388
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 391
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 10
         9: .line 392
            aload 0 /* this */
            aload 1 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.SUB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 394
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 397
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 6 // boolean isAvx
        end local 5 // jdk.vm.ci.code.TargetDescription target
        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   12     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   12     2           a  Ljdk/vm/ci/meta/Value;
            0   12     3           b  Ljdk/vm/ci/meta/Value;
            0   12     4    setFlags  Z
            1   12     5      target  Ljdk/vm/ci/code/TargetDescription;
            2   12     6       isAvx  Z
    MethodParameters:
            Name  Flags
      resultKind  
      a           
      b           
      setFlags    

  private org.graalvm.compiler.lir.Variable emitIMULConst(org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.ConstantValue);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.AllocatableValue a
        start local 3 // org.graalvm.compiler.lir.ConstantValue b
         0: .line 402
            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 403
            lload 4 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 10
         2: .line 404
            lload 4 /* value */
            l2i
            istore 6 /* imm */
        start local 6 // int imm
         3: .line 406
            iload 6 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
            ifeq 6
         4: .line 407
            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 408
            goto 7
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp op
         6: .line 409
      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 412
      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 413
            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/AMD64Assembler$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 414
            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 416
      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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
         0: .line 421
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 422
            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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 423
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 424
            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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/ConstantValue;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         4: .line 426
      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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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=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 // boolean setFlags
         0: .line 432
            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
         1: .line 433
            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 5 /* target */
        start local 5 // jdk.vm.ci.code.TargetDescription target
         2: .line 434
            aload 5 /* 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
            istore 6 /* isAvx */
        start local 6 // boolean isAvx
         3: .line 435
            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: 4
                    4: 5
                    5: 6
                    6: 9
              default: 12
          }
         4: .line 437
      StackMap locals: org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.code.TargetDescription int
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMUL:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIMUL:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 441
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 8
         7: .line 442
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 447
      StackMap locals:
      StackMap stack:
            iload 6 /* isAvx */
            ifeq 11
        10: .line 448
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.MUL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 453
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 6 // boolean isAvx
        end local 5 // jdk.vm.ci.code.TargetDescription target
        end local 4 // org.graalvm.compiler.core.common.LIRKind resultKind
        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   13     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   13     1           a  Ljdk/vm/ci/meta/Value;
            0   13     2           b  Ljdk/vm/ci/meta/Value;
            0   13     3    setFlags  Z
            1   13     4  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   13     5      target  Ljdk/vm/ci/code/TargetDescription;
            3   13     6       isAvx  Z
    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 458
            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 459
            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 460
            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.AMD64Assembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 464
            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/AMD64Assembler$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 465
            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.AMD64Assembler$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/AMD64Assembler$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 470
            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 472
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 474
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         3: .line 476
      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 482
            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 484
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         2: .line 486
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
         3: .line 488
      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$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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 493
            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 494
            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/AMD64Assembler$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 495
            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.AMD64Assembler$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/AMD64Assembler$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     

  public jdk.vm.ci.meta.Value emitBinaryMemory(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp, org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$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 499
            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 500
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryThreeOp
            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$MemoryThreeOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 501
            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.AMD64Assembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp 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$AMD64RRMOp;
            0    3     2      size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 505
            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 506
            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/AMD64Assembler$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 507
            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.AMD64Assembler$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/AMD64Assembler$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 513
            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 514
            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 516
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 517
            goto 13
         6: .line 519
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 520
            goto 13
         8: .line 522
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 523
            goto 13
        10: .line 525
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 526
            goto 13
        12: .line 528
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        13: .line 530
      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.AMD64Assembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$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 534
            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 536
            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/AMD64Assembler$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 537
            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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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.AMD64Assembler$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 541
            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 543
            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 544
            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 545
            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/AMD64Assembler$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 546
            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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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 551
            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 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 554
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 557
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 559
      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 561
      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 566
            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 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 569
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 572
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 574
      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 576
      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=9, 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 581
            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 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         1: .line 582
            aload 4 /* 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
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         2: .line 583
            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 6 /* resultKind */
        start local 6 // org.graalvm.compiler.core.common.LIRKind resultKind
         3: .line 584
            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: 4
                    4: 6
                    5: 8
                    6: 11
              default: 14
          }
         4: .line 586
      StackMap locals: jdk.vm.ci.code.TargetDescription int org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 587
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 7 /* 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 7 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         6: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 8 /* lop */
        start local 8 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         7: .line 590
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 8 /* 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 8 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         8: .line 592
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 10
         9: .line 593
            aload 0 /* this */
            aload 6 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        10: .line 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 598
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 13
        12: .line 599
            aload 0 /* this */
            aload 6 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        13: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.DIV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        14: .line 604
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 6 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 5 // boolean isAvx
        end local 4 // jdk.vm.ci.code.TargetDescription target
        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   15     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   15     1           a  Ljdk/vm/ci/meta/Value;
            0   15     2           b  Ljdk/vm/ci/meta/Value;
            0   15     3       state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   15     4      target  Ljdk/vm/ci/code/TargetDescription;
            2   15     5       isAvx  Z
            3   15     6  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            5    6     7          op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            7    8     8         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 610
            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 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 613
            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 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 616
            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 618
      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 619
            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 620
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
         8: .line 623
      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 624
            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 625
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        11: .line 628
      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 635
            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 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 638
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 641
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 643
      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 645
      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 651
            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 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 654
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 657
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 659
      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 661
      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=6, 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 666
            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 667
            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 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         2: .line 668
            aload 4 /* 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
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         3: .line 669
            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: 4
                    4: 5
                    5: 6
                    6: 9
              default: 12
          }
         4: .line 671
      StackMap locals: org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.code.TargetDescription int
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 673
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 675
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 8
         7: .line 676
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 678
      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.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 681
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 11
        10: .line 682
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 684
      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.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 687
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isAvx
        end local 4 // jdk.vm.ci.code.TargetDescription target
        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   13     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   13     1           a  Ljdk/vm/ci/meta/Value;
            0   13     2           b  Ljdk/vm/ci/meta/Value;
            1   13     3  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   13     4      target  Ljdk/vm/ci/code/TargetDescription;
            3   13     5       isAvx  Z
    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=6, 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 693
            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 694
            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 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         2: .line 695
            aload 4 /* 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
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         3: .line 696
            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: 4
                    4: 5
                    5: 6
                    6: 9
              default: 12
          }
         4: .line 698
      StackMap locals: org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.code.TargetDescription int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 702
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 8
         7: .line 703
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 708
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 11
        10: .line 709
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.OR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 714
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isAvx
        end local 4 // jdk.vm.ci.code.TargetDescription target
        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   13     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   13     1           a  Ljdk/vm/ci/meta/Value;
            0   13     2           b  Ljdk/vm/ci/meta/Value;
            1   13     3  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   13     4      target  Ljdk/vm/ci/code/TargetDescription;
            3   13     5       isAvx  Z
    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=6, 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 720
            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 721
            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 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         2: .line 722
            aload 4 /* 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
            istore 5 /* isAvx */
        start local 5 // boolean isAvx
         3: .line 723
            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: 4
                    4: 5
                    5: 6
                    6: 9
              default: 12
          }
         4: .line 725
      StackMap locals: org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.code.TargetDescription int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         5: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            areturn
         6: .line 729
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 8
         7: .line 730
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         8: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         9: .line 735
      StackMap locals:
      StackMap stack:
            iload 5 /* isAvx */
            ifeq 11
        10: .line 736
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AVXOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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$AMD64RRMOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        11: .line 738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        12: .line 741
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isAvx
        end local 4 // jdk.vm.ci.code.TargetDescription target
        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   13     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   13     1           a  Ljdk/vm/ci/meta/Value;
            0   13     2           b  Ljdk/vm/ci/meta/Value;
            1   13     3  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   13     4      target  Ljdk/vm/ci/code/TargetDescription;
            3   13     5       isAvx  Z
    MethodParameters:
      Name  Flags
      a     
      b     

  private org.graalvm.compiler.lir.Variable emitShift(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift, org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, 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.AMD64Assembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 746
            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
         1: .line 747
            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 748
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 9
         3: .line 749
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            astore 7 /* c */
        start local 7 // jdk.vm.ci.meta.JavaConstant c
         4: .line 750
            aload 7 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_1
            lcmp
            ifne 7
         5: .line 751
            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/AMD64Assembler$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 752
            goto 11
         7: .line 757
      StackMap locals: org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue 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$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 7 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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
        end local 7 // jdk.vm.ci.meta.JavaConstant c
         8: .line 759
            goto 11
         9: .line 760
      StackMap locals:
      StackMap stack:
            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
        10: .line 761
            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/AMD64Assembler$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
        11: .line 763
      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.Value b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$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   12     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   12     1      op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            0   12     2    size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            0   12     3       a  Ljdk/vm/ci/meta/Value;
            0   12     4       b  Ljdk/vm/ci/meta/Value;
            1   12     5  result  Lorg/graalvm/compiler/lir/Variable;
            2   12     6   input  Ljdk/vm/ci/meta/AllocatableValue;
            4    8     7       c  Ljdk/vm/ci/meta/JavaConstant;
    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 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.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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     

  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 780
            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 782
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 784
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 786
      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 792
            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 794
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 796
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 798
      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 803
            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 805
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 807
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 809
      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 814
            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 816
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 818
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 820
      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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.Value input
         0: .line 825
            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 826
            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/AMD64Assembler$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 827
            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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$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/AMD64Assembler$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.AMD64Assembler$OperandSize size
        start local 4 // jdk.vm.ci.meta.Value input
         0: .line 831
            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 832
            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/AMD64Assembler$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 833
            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.AMD64Assembler$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/AMD64Assembler$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=6, 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 838
            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 839
            aload 1 /* to */
            aload 3 /* from */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 840
            aload 2 /* inputVal */
            areturn
         3: .line 843
      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 848
            aload 3 /* from */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            astore 5 /* fromKind */
        start local 5 // jdk.vm.ci.amd64.AMD64Kind fromKind
         5: .line 849
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* to */
            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 { // 3 - 6
                    3: 6
                    4: 9
                    5: 12
                    6: 15
              default: 17
          }
         6: .line 851
      StackMap locals: jdk.vm.ci.meta.AllocatableValue 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: 7
              default: 8
          }
         7: .line 853
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 855
      StackMap locals:
      StackMap stack:
            goto 17
         9: .line 857
      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: 10
              default: 11
          }
        10: .line 859
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        11: .line 861
      StackMap locals:
      StackMap stack:
            goto 17
        12: .line 863
      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: 13
              default: 14
          }
        13: .line 865
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        14: .line 867
      StackMap locals:
      StackMap stack:
            goto 17
        15: .line 869
      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: 16
              default: 17
          }
        16: .line 871
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        17: .line 875
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        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   18     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   18     1        to  Lorg/graalvm/compiler/core/common/LIRKind;
            0   18     2  inputVal  Ljdk/vm/ci/meta/Value;
            1   18     3      from  Ljdk/vm/ci/meta/ValueKind<*>;
            4   18     4     input  Ljdk/vm/ci/meta/AllocatableValue;
            5   18     5  fromKind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
          Name  Flags
      to        
      inputVal  

  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 880
            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 882
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 884
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         3: .line 886
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         4: .line 888
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         5: .line 890
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         6: .line 892
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 894
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 896
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 898
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        10: .line 900
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        11: .line 902
      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 908
            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 910
            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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 912
      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 918
            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 919
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 920
            aload 1 /* inputVal */
            areturn
         4: .line 921
      StackMap locals:
      StackMap stack:
            iload 3 /* toBits */
            bipush 32
            if_icmple 10
         5: .line 923
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 6
                   16: 7
                   32: 8
              default: 9
          }
         6: .line 925
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 927
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 929
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 931
      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 935
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 11
                   16: 12
                   32: 13
              default: 14
          }
        11: .line 937
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        12: .line 939
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        13: .line 941
      StackMap locals:
      StackMap stack:
            aload 1 /* inputVal */
            areturn
        14: .line 943
      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 950
            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 951
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 952
            aload 1 /* inputVal */
            areturn
         4: .line 953
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            bipush 32
            if_icmple 10
         5: .line 954
            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 955
      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 956
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 5 /* mask */
        start local 5 // long mask
         8: .line 957
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 958
            aload 4 /* result */
            areturn
        end local 5 // long mask
        end local 4 // org.graalvm.compiler.lir.Variable result
        10: .line 960
      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 961
            iload 3 /* toBits */
            bipush 32
            if_icmple 14
        12: .line 962
            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 963
            goto 15
        14: .line 964
      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 973
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 16
                   16: 17
                   32: 18
              default: 19
          }
        16: .line 975
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        17: .line 977
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        18: .line 979
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        19: .line 983
      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 985
            iload 3 /* toBits */
            bipush 32
            if_icmple 23
        21: .line 986
            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 987
            goto 24
        end local 6 // jdk.vm.ci.meta.JavaConstant mask
        23: .line 988
      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 990
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 991
            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 997
            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 998
            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 999
      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 1000
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1001
            goto 6
         5: .line 1002
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1004
      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 1009
            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 1010
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1011
            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 1016
            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 1017
            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 1018
      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 1019
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1020
            goto 6
         5: .line 1021
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1023
      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 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 1028
            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 1029
            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 1030
      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 1031
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1032
            goto 6
         5: .line 1033
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1035
      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 1040
            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 1041
            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 1042
      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 1043
            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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1044
            goto 6
         5: .line 1045
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1047
      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 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 1052
            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 1053
            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 1055
      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.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1056
            goto 7
         4: .line 1058
      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.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1059
            goto 7
         6: .line 1061
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1063
      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 1068
            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 1069
            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 1071
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1072
            goto 7
         4: .line 1074
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1075
            goto 7
         6: .line 1077
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1079
      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=8, locals=6, 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 1084
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            astore 3 /* gen */
        start local 3 // org.graalvm.compiler.lir.gen.LIRGenerator gen
         1: .line 1085
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.maths:Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
            aload 3 /* gen */
            aload 1 /* input */
            iload 2 /* base10 */
            invokeinterface org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths.emitLog:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.Variable result
         2: .line 1086
            aload 4 /* result */
            ifnonnull 9
         3: .line 1087
            aload 3 /* gen */
            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 4 /* result */
         4: .line 1088
            aload 3 /* gen */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD: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 org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 5 /* stackSlot */
        start local 5 // jdk.vm.ci.meta.AllocatableValue stackSlot
         5: .line 1089
            aload 3 /* gen */
         6: new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            iload 2 /* base10 */
            ifeq 7
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.LOG10:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
            goto 8
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.Value int org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
      StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator new 6 new 6 org.graalvm.compiler.core.amd64.AMD64LIRGenerator
         7: getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.LOG:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator jdk.vm.ci.meta.Value int org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
      StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator new 6 new 6 org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode
         8: aload 4 /* 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;
            aload 5 /* stackSlot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 5 // jdk.vm.ci.meta.AllocatableValue stackSlot
         9: .line 1091
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.graalvm.compiler.lir.Variable result
        end local 3 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        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   10     0       this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   10     1      input  Ljdk/vm/ci/meta/Value;
            0   10     2     base10  Z
            1   10     3        gen  Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            2   10     4     result  Lorg/graalvm/compiler/lir/Variable;
            5    9     5  stackSlot  Ljdk/vm/ci/meta/AllocatableValue;
    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=8, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1096
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            astore 2 /* gen */
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
         1: .line 1097
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.maths:Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
            aload 2 /* gen */
            aload 1 /* input */
            invokeinterface org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths.emitCos:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         2: .line 1098
            aload 3 /* result */
            ifnonnull 6
         3: .line 1099
            aload 2 /* gen */
            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 3 /* result */
         4: .line 1100
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD: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 org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 4 /* stackSlot */
        start local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         5: .line 1101
            aload 2 /* gen */
            new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.COS:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
            aload 3 /* 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;
            aload 4 /* stackSlot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         6: .line 1103
      StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        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    7     0       this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      input  Ljdk/vm/ci/meta/Value;
            1    7     2        gen  Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            2    7     3     result  Lorg/graalvm/compiler/lir/Variable;
            5    6     4  stackSlot  Ljdk/vm/ci/meta/AllocatableValue;
    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=8, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1108
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            astore 2 /* gen */
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
         1: .line 1109
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.maths:Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
            aload 2 /* gen */
            aload 1 /* input */
            invokeinterface org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths.emitSin:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         2: .line 1110
            aload 3 /* result */
            ifnonnull 6
         3: .line 1111
            aload 2 /* gen */
            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 3 /* result */
         4: .line 1112
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD: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 org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 4 /* stackSlot */
        start local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         5: .line 1113
            aload 2 /* gen */
            new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.SIN:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
            aload 3 /* 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;
            aload 4 /* stackSlot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         6: .line 1115
      StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        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    7     0       this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      input  Ljdk/vm/ci/meta/Value;
            1    7     2        gen  Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            2    7     3     result  Lorg/graalvm/compiler/lir/Variable;
            5    6     4  stackSlot  Ljdk/vm/ci/meta/AllocatableValue;
    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=8, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1120
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            astore 2 /* gen */
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
         1: .line 1121
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.maths:Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator$Maths;
            aload 2 /* gen */
            aload 1 /* input */
            invokeinterface org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths.emitTan:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.Variable result
         2: .line 1122
            aload 3 /* result */
            ifnonnull 6
         3: .line 1123
            aload 2 /* gen */
            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 3 /* result */
         4: .line 1124
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD: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 org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 4 /* stackSlot */
        start local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         5: .line 1125
            aload 2 /* gen */
            new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.TAN:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
            aload 3 /* 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;
            aload 4 /* stackSlot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 4 // jdk.vm.ci.meta.AllocatableValue stackSlot
         6: .line 1127
      StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerator gen
        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    7     0       this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      input  Ljdk/vm/ci/meta/Value;
            1    7     2        gen  Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            2    7     3     result  Lorg/graalvm/compiler/lir/Variable;
            5    6     4  stackSlot  Ljdk/vm/ci/meta/AllocatableValue;
    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=8, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1132
            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 1133
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD: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 org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 3 /* stackSlot */
        start local 3 // jdk.vm.ci.meta.AllocatableValue stackSlot
         2: .line 1134
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode.EXP:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;
            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;
            aload 3 /* stackSlot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1135
            aload 2 /* result */
            areturn
        end local 3 // jdk.vm.ci.meta.AllocatableValue stackSlot
        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    4     0       this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1      input  Ljdk/vm/ci/meta/Value;
            1    4     2     result  Lorg/graalvm/compiler/lir/Variable;
            2    4     3  stackSlot  Ljdk/vm/ci/meta/AllocatableValue;
    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=9, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input1
        start local 2 // jdk.vm.ci.meta.Value input2
         0: .line 1140
            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 /* input1 */
            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 1141
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            getstatic org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp$BinaryIntrinsicOpcode.POW:Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp$BinaryIntrinsicOpcode;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* input1 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* input2 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp$BinaryIntrinsicOpcode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 1142
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // jdk.vm.ci.meta.Value input2
        end local 1 // jdk.vm.ci.meta.Value input1
        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  input1  Ljdk/vm/ci/meta/Value;
            0    3     2  input2  Ljdk/vm/ci/meta/Value;
            1    3     3  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
        Name  Flags
      input1  
      input2  

  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 1146
            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 1151
            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 1152
            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 1153
            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 1155
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1156
            goto 16
         5: .line 1158
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1159
            goto 16
         7: .line 1161
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1162
            goto 16
         9: .line 1164
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1165
            goto 16
        11: .line 1167
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1168
            goto 16
        13: .line 1170
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1171
            goto 16
        15: .line 1173
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        16: .line 1175
      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    

  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 1179
            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 1180
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 8
         2: .line 1181
            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 1182
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            goto 5
      StackMap locals:
      StackMap stack:
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize
         5: astore 6 /* size */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         6: .line 1183
            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/AMD64Assembler$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 1184
            return
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         8: .line 1185
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 14
         9: .line 1187
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 41
        10: .line 1188
            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 1190
      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 1191
      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 1192
            return
        14: .line 1196
      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 1197
            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 1199
      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 1203
            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 1205
      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 1206
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        20: .line 1207
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        21: .line 1208
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        22: .line 1210
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        23: .line 1211
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        24: .line 1212
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        25: .line 1214
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        26: .line 1215
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        27: .line 1216
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        28: .line 1218
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        29: .line 1219
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 9 /* imm */
        start local 9 // long imm
        30: .line 1220
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        31: .line 1222
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        32: .line 1223
            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 1224
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        34: .line 1226
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        35: .line 1227
            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 1228
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        37: .line 1230
      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.AMD64Assembler$OperandSize size
        start local 9 // long imm
        38: .line 1233
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize long
      StackMap stack:
            lload 9 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 41
        39: .line 1234
            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/AMD64Assembler$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 1235
            return
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp op
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        41: .line 1240
      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 1241
            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/AMD64Assembler$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/AMD64Assembler$OperandSize;
           23   25     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           26   28     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           29   31     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           32   34     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           35   37     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           38   41     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 1244
            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 1246
      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.AMD64Assembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1247
            goto 14
         3: .line 1249
      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.AMD64Assembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1250
            goto 14
         5: .line 1252
      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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1253
            goto 14
         7: .line 1255
      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.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1256
            goto 14
         9: .line 1258
      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.AMD64Assembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1259
            goto 14
        11: .line 1261
      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.AMD64Assembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1262
            goto 14
        13: .line 1264
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        14: .line 1266
      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 1270
            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 1271
            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 1272
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         3: .line 1273
            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 1274
            goto 6
         5: .line 1275
      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 1277
      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    

  private boolean mustReplaceNullWithNullRegister(jdk.vm.ci.meta.Constant);
    descriptor: (Ljdk/vm/ci/meta/Constant;)Z
    flags: (0x0002) ACC_PRIVATE
    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 1281
            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 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 1287
            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 1289
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         2: .line 1290
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         3: .line 1292
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         4: .line 1293
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         5: .line 1295
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         6: .line 1296
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         7: .line 1298
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         8: .line 1299
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
         9: .line 1301
      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.AMD64Assembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1302
            return
        11: .line 1304
      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.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1305
            return
        13: .line 1307
      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.AMD64Assembler$OperandSize size
        14: .line 1310
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize
      StackMap stack:
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 40
        15: .line 1311
            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 1312
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 22
        17: .line 1313
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 20
        18: .line 1314
            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/AMD64Assembler$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 1315
            goto 21
        20: .line 1316
      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/AMD64Assembler$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 1318
      StackMap locals:
      StackMap stack:
            return
        22: .line 1319
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 29
        23: .line 1320
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            astore 6 /* vc */
        start local 6 // jdk.vm.ci.meta.VMConstant vc
        24: .line 1321
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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
        25: .line 1322
            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.AMD64Assembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 1323
            goto 28
        27: .line 1324
      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/AMD64Assembler$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/AMD64Assembler$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 1326
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.meta.VMConstant vc
        29: .line 1327
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 40
        30: .line 1328
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* jc */
        start local 6 // jdk.vm.ci.meta.JavaConstant jc
        31: .line 1329
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 37
        32: .line 1330
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 1331
            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/AMD64Assembler$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 1332
            return
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        37: .line 1333
      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 1334
            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/AMD64Assembler$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 1335
            return
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        end local 5 // jdk.vm.ci.meta.Constant c
        40: .line 1341
      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/AMD64Assembler$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/AMD64Assembler$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 1342
            return
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64Assembler$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/AMD64Assembler$OperandSize;
            4    5     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            6    7     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            8    9     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
           14   42     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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 1346
            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 1347
            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 1348
      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 1349
            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.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1350
            goto 6
         5: .line 1351
      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.AMD64Assembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$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/AMD64Assembler$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 1353
      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 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 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 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 133
            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 133
            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"
NestMembers:
  org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$1  org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths
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 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 AMD64RRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RRMOp 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 AVXOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AVXOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$1
  public abstract Maths = org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator$Maths of org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
  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 CommutativeThreeOp = org.graalvm.compiler.lir.amd64.AMD64Binary$CommutativeThreeOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  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 DataThreeOp = org.graalvm.compiler.lir.amd64.AMD64Binary$DataThreeOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public DataTwoOp = org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public MemoryThreeOp = org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryThreeOp 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 ThreeOp = org.graalvm.compiler.lir.amd64.AMD64Binary$ThreeOp 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 BinaryIntrinsicOpcode = org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp$BinaryIntrinsicOpcode of org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicBinaryOp
  public final UnaryIntrinsicOpcode = org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp$UnaryIntrinsicOpcode of org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
  public final LeaOp = org.graalvm.compiler.lir.amd64.AMD64Move$LeaOp of org.graalvm.compiler.lir.amd64.AMD64Move
  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