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

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

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

  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 152
            ldc Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$assertionsDisabled:Z
         3: .line 154
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.RCX_I:Ljdk/vm/ci/code/RegisterValue;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public jdk.vm.ci.meta.Value emitBinaryMemory(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.AllocatableValue a
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        start local 5 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 454
            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 455
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryTwoOp
            dup
            aload 1 /* op */
            aload 2 /* size */
            aload 6 /* result */
            aload 3 /* a */
            aload 4 /* location */
            aload 5 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$MemoryTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 456
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // org.graalvm.compiler.lir.LIRFrameState state
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64AddressValue location
        end local 3 // jdk.vm.ci.meta.AllocatableValue a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    3     1        op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            0    3     2      size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0    3     3         a  Ljdk/vm/ci/meta/AllocatableValue;
            0    3     4  location  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0    3     5     state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    3     6    result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
          Name  Flags
      op        
      size      
      a         
      location  
      state     

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

  protected jdk.vm.ci.meta.Value emitZeroExtendMemory(jdk.vm.ci.amd64.AMD64Kind, int, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;ILorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind memoryKind
        start local 2 // int resultBits
        start local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 468
            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 469
            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 471
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 472
            goto 13
         6: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 475
            goto 13
         8: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 478
            goto 13
        10: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 3 /* address */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        11: .line 481
            goto 13
        12: .line 483
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        13: .line 485
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 2 // int resultBits
        end local 1 // jdk.vm.ci.amd64.AMD64Kind memoryKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   14     1  memoryKind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   14     2  resultBits  I
            0   14     3     address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   14     4       state  Lorg/graalvm/compiler/lir/LIRFrameState;
            3   14     5      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
            Name  Flags
      memoryKind  
      resultBits  
      address     
      state       

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

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

  public jdk.vm.ci.meta.Value[] emitSignedDivRem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)[Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 506
            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 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 509
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 512
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 514
      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 516
      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 521
            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 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 524
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 527
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 529
      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 531
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            iconst_2
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getQuotient:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aastore
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

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

  public jdk.vm.ci.meta.Value emitRem(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
        start local 3 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 564
            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 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 567
            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 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitIDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 5 /* lop */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp lop
         4: .line 570
            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 572
      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 573
            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 574
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
         8: .line 577
      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 578
            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 579
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        11: .line 582
      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 589
            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 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 592
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 595
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 597
      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 599
      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 605
            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 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         2: .line 608
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         3: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitDIV:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            astore 4 /* op */
        start local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         4: .line 611
            goto 6
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
         5: .line 613
      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 615
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64MulDivOp
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 4 /* op */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MulDivOp.getRemainder:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // org.graalvm.compiler.lir.amd64.AMD64MulDivOp op
        end local 3 // org.graalvm.compiler.lir.LIRFrameState state
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1      a  Ljdk/vm/ci/meta/Value;
            0    7     2      b  Ljdk/vm/ci/meta/Value;
            0    7     3  state  Lorg/graalvm/compiler/lir/LIRFrameState;
            2    3     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            4    5     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
            6    7     4     op  Lorg/graalvm/compiler/lir/amd64/AMD64MulDivOp;
    MethodParameters:
       Name  Flags
      a      
      b      
      state  

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

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

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

  private org.graalvm.compiler.lir.Variable emitShift(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=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.AMD64BaseAssembler$OperandSize size
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 688
            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 689
            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 690
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 9
         3: .line 691
            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 692
            aload 7 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_1
            lcmp
            ifne 7
         5: .line 693
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MOp
            dup
            aload 1 /* op */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.m1Op:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 2 /* size */
            aload 5 /* result */
            aload 6 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 694
            goto 11
         7: .line 698
      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
            i2b
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 7 // jdk.vm.ci.meta.JavaConstant c
         8: .line 700
            goto 11
         9: .line 701
      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 702
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64ShiftOp
            dup
            aload 1 /* op */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.mcOp:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;
            aload 2 /* size */
            aload 5 /* result */
            aload 6 /* input */
            getstatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.RCX_I:Ljdk/vm/ci/code/RegisterValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ShiftOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        11: .line 704
      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.AMD64BaseAssembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift op
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   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/AMD64BaseAssembler$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 709
            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 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SHL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 715
      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 721
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SAR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.SAR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 727
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

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

  public org.graalvm.compiler.lir.Variable 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 744
            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 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROL:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 750
      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 756
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 1
                    4: 2
              default: 3
          }
         1: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         2: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift.ROR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitShift:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
         3: .line 762
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // jdk.vm.ci.meta.Value b
        end local 1 // jdk.vm.ci.meta.Value a
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    4     1     a  Ljdk/vm/ci/meta/Value;
            0    4     2     b  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

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

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

  public jdk.vm.ci.meta.Value emitReinterpret(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=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 780
            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 781
            aload 1 /* to */
            aload 3 /* from */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 782
            aload 2 /* inputVal */
            areturn
         3: .line 785
      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 790
            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 791
            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 793
      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 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 797
      StackMap locals:
      StackMap stack:
            goto 17
         9: .line 799
      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 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        11: .line 803
      StackMap locals:
      StackMap stack:
            goto 17
        12: .line 805
      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 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        14: .line 809
      StackMap locals:
      StackMap stack:
            goto 17
        15: .line 811
      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 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* to */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        17: .line 817
      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 822
            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 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSD2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         3: .line 828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSD2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         4: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSS2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         5: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         6: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTTSS2SI:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        10: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.CVTSI2SS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        11: .line 844
      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 850
            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 852
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 854
      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 860
            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 861
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 862
            aload 1 /* inputVal */
            areturn
         4: .line 863
      StackMap locals:
      StackMap stack:
            iload 3 /* toBits */
            bipush 32
            if_icmple 10
         5: .line 865
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 6
                   16: 7
                   32: 8
              default: 9
          }
         6: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         7: .line 869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         8: .line 871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         9: .line 873
      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 877
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 11
                   16: 12
                   32: 13
              default: 14
          }
        11: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        12: .line 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* inputVal */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        13: .line 883
      StackMap locals:
      StackMap stack:
            aload 1 /* inputVal */
            areturn
        14: .line 885
      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 892
            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 893
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 894
            aload 1 /* inputVal */
            areturn
         4: .line 895
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            bipush 32
            if_icmple 10
         5: .line 896
            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 897
      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 898
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 5 /* mask */
        start local 5 // long mask
         8: .line 899
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 4 /* result */
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            lload 5 /* mask */
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 900
            aload 4 /* result */
            areturn
        end local 5 // long mask
        end local 4 // org.graalvm.compiler.lir.Variable result
        10: .line 902
      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 903
            iload 3 /* toBits */
            bipush 32
            if_icmple 14
        12: .line 904
            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 905
            goto 15
        14: .line 906
      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 915
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 16
                   16: 17
                   32: 18
              default: 19
          }
        16: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        17: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVZX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        18: .line 921
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultKind */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitConvertOp:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        19: .line 925
      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 927
            iload 3 /* toBits */
            bipush 32
            if_icmple 23
        21: .line 928
            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 929
            goto 24
        end local 6 // jdk.vm.ci.meta.JavaConstant mask
        23: .line 930
      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 932
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 0 /* this */
            aload 1 /* inputVal */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* mask */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        25: .line 933
            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 939
            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 940
            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 941
      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 942
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.POPCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 943
            goto 6
         5: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.POPCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 946
      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 951
            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 952
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSF:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 953
            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 958
            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 959
            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 960
      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 961
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 962
            goto 6
         5: .line 963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.BSR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 965
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

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

  public jdk.vm.ci.meta.Value emitCountLeadingZeros(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 986
            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 987
            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 988
      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 989
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.LZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 990
            goto 6
         5: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.LZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 993
      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 998
            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 999
            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 1000
      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 1001
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1002
            goto 6
         5: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TZCNT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1005
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            1    7     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  

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

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

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

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

  public jdk.vm.ci.meta.Value emitMathAbs(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 1061
            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 1062
            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 1064
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            ldc 2147483647
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1065
            goto 7
         4: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.AND:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            ldc 9223372036854775807
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
            bipush 16
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$DataTwoOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1068
            goto 7
         6: .line 1070
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1072
      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 1077
            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 1078
            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 1080
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SQRT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 1081
            goto 7
         4: .line 1083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.SQRT:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$RMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 1084
            goto 7
         6: .line 1086
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1088
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    8     1   input  Ljdk/vm/ci/meta/Value;
            1    8     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      input  

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

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

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

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

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

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

  public void emitZeroMemory(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
        start local 2 // jdk.vm.ci.meta.Value length
         0: .line 1127
            aload 0 /* this */
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aload 2 /* length */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.moveToReg:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            astore 3 /* lengthReg */
        start local 3 // jdk.vm.ci.code.RegisterValue lengthReg
         1: .line 1128
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getAMD64LIRGen:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            aload 3 /* lengthReg */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/code/RegisterValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 1129
            return
        end local 3 // jdk.vm.ci.code.RegisterValue lengthReg
        end local 2 // jdk.vm.ci.meta.Value length
        end local 1 // jdk.vm.ci.meta.Value address
        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    address  Ljdk/vm/ci/meta/Value;
            0    3     2     length  Ljdk/vm/ci/meta/Value;
            1    3     3  lengthReg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
         Name  Flags
      address  
      length   

  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 1132
            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 1137
            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 1138
            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 1139
            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 1141
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSXB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1142
            goto 16
         5: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSX:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1145
            goto 16
         7: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 1148
            goto 16
         9: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1151
            goto 16
        11: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1154
            goto 16
        13: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 5 /* result */
            aload 4 /* loadAddress */
            aload 3 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Unary$MemoryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        14: .line 1157
            goto 16
        15: .line 1159
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        16: .line 1161
      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 1165
            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 1166
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 8
         2: .line 1167
            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 1168
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 4
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            goto 5
      StackMap locals:
      StackMap stack:
         4: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
         5: astore 6 /* size */
        start local 6 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         6: .line 1169
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 6 /* size */
            aload 2 /* address */
            iconst_0
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;ILorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 1170
            return
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 1171
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 14
         9: .line 1173
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 41
        10: .line 1174
            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 1176
      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 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.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 1178
            return
        14: .line 1182
      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 1183
            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 1185
      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 1189
            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 1191
      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 1192
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        20: .line 1193
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        21: .line 1194
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        22: .line 1196
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        23: .line 1197
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        24: .line 1198
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        25: .line 1200
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        26: .line 1201
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        27: .line 1202
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        28: .line 1204
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        29: .line 1205
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 9 /* imm */
        start local 9 // long imm
        30: .line 1206
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        31: .line 1208
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        32: .line 1209
            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 1210
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        34: .line 1212
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 8 /* size */
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        35: .line 1213
            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 1214
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        37: .line 1216
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unexpected kind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 9 // long imm
        38: .line 1219
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize long
      StackMap stack:
            lload 9 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 41
        39: .line 1220
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp
            dup
            aload 7 /* op */
            aload 8 /* size */
            aload 2 /* address */
            lload 9 /* imm */
            l2i
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;ILorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        40: .line 1221
            return
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp op
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        41: .line 1226
      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 1227
            return
        end local 5 // jdk.vm.ci.meta.Constant c
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.ConstantValue value
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   43     1     kind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   43     2  address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   43     3    value  Lorg/graalvm/compiler/lir/ConstantValue;
            0   43     4    state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   43     5        c  Ljdk/vm/ci/meta/Constant;
            6    8     6     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           15   41     6       jc  Ljdk/vm/ci/meta/JavaConstant;
           17   41     7       op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
           20   22     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           23   25     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           26   28     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           29   31     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           32   34     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           35   37     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           38   41     8     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           21   22     9      imm  J
           24   25     9      imm  J
           27   28     9      imm  J
           30   31     9      imm  J
           33   34     9      imm  J
           36   37     9      imm  J
           38   41     9      imm  J
    MethodParameters:
         Name  Flags
      kind     
      address  
      value    
      state    

  protected void emitStore(jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.lir.amd64.AMD64AddressValue, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 3 // jdk.vm.ci.meta.AllocatableValue value
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 1230
            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 1232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 1233
            goto 14
         3: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1236
            goto 14
         5: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1239
            goto 14
         7: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 1242
            goto 14
         9: .line 1244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1245
            goto 14
        11: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MROp.MOVSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.SD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* address */
            aload 3 /* value */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryMROp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MROp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1248
            goto 14
        13: .line 1250
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        14: .line 1252
      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 1256
            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 1257
            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 1258
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         3: .line 1259
            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 1260
            goto 6
         5: .line 1261
      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 1263
      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 1267
            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 1273
            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 1275
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         2: .line 1276
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         3: .line 1278
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         4: .line 1279
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         5: .line 1281
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         6: .line 1282
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         7: .line 1284
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 1285
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         9: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 1288
            return
        11: .line 1290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 1291
            return
        13: .line 1293
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unexpected kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cmpKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        14: .line 1296
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 40
        15: .line 1297
            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 1298
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 22
        17: .line 1299
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 20
        18: .line 1300
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.nullRegisterValue:Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        19: .line 1301
            goto 21
        20: .line 1302
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 2 /* left */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        21: .line 1304
      StackMap locals:
      StackMap stack:
            return
        22: .line 1305
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 29
        23: .line 1306
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            astore 6 /* vc */
        start local 6 // jdk.vm.ci.meta.VMConstant vc
        24: .line 1307
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 27
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 27
        25: .line 1308
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$VMConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 2 /* left */
            aload 6 /* vc */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$VMConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/VMConstant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        26: .line 1309
            goto 28
        27: .line 1310
      StackMap locals: jdk.vm.ci.meta.VMConstant
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$DataOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 6 /* vc */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$DataOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        28: .line 1312
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.meta.VMConstant vc
        29: .line 1313
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 40
        30: .line 1314
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* jc */
        start local 6 // jdk.vm.ci.meta.JavaConstant jc
        31: .line 1315
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 37
        32: .line 1316
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 33
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TESTB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            goto 34
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
        33: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp
        34: astore 7 /* op */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        35: .line 1317
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            aload 7 /* op */
            aload 4 /* size */
            aload 2 /* left */
            aload 2 /* left */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        36: .line 1318
            return
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        37: .line 1319
      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 1320
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            aload 2 /* left */
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        39: .line 1321
            return
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        end local 5 // jdk.vm.ci.meta.Constant c
        40: .line 1327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 4 /* size */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
            aload 4 /* size */
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        41: .line 1328
            return
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // org.graalvm.compiler.lir.Variable left
        end local 1 // jdk.vm.ci.amd64.AMD64Kind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   42     0     this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0   42     1  cmpKind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   42     2     left  Lorg/graalvm/compiler/lir/Variable;
            0   42     3    right  Ljdk/vm/ci/meta/Value;
            2    3     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            4    5     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            6    7     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            8    9     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           14   42     4     size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           16   40     5        c  Ljdk/vm/ci/meta/Constant;
           24   29     6       vc  Ljdk/vm/ci/meta/VMConstant;
           31   40     6       jc  Ljdk/vm/ci/meta/JavaConstant;
           35   37     7       op  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
    MethodParameters:
         Name  Flags
      cmpKind  
      left     
      right    

  public jdk.vm.ci.meta.Value emitRound(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
         0: .line 1332
            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 1333
            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 1334
      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 1335
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.ROUNDSS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* mode */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.encoding:I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 1336
            goto 6
         5: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMIOp.ROUNDSD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 3 /* result */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* mode */
            getfield org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode.encoding:I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$RMIOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 1339
      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   

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

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

  private org.graalvm.compiler.lir.Variable emitBinary(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (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.core.common.LIRKind resultKind
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        start local 3 // jdk.vm.ci.meta.Value a
        start local 4 // jdk.vm.ci.meta.Value b
         0: .line 1357
            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 1358
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp
            dup
            aload 2 /* op */
            aload 5 /* result */
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 5 /* result */
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary$AVXBinaryOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 1359
            aload 5 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.Variable result
        end local 4 // jdk.vm.ci.meta.Value b
        end local 3 // jdk.vm.ci.meta.Value a
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp op
        end local 1 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    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$VexRVMOp;
            0    3     3           a  Ljdk/vm/ci/meta/Value;
            0    3     4           b  Ljdk/vm/ci/meta/Value;
            1    3     5      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
            Name  Flags
      resultKind  
      op          
      a           
      b           

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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