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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private org.graalvm.compiler.lir.Variable emitShift(org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Shift, org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Shift;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=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 695
            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 696
            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 697
            aload 4 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 9
         3: .line 698
            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 699
            aload 7 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lconst_1
            lcmp
            ifne 7
         5: .line 700
            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 701
            goto 11
         7: .line 705
      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 707
            goto 11
         9: .line 708
      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 709
            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 711
      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 716
            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 718
      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 720
      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 722
      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 728
            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 730
      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 732
      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 734
      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 740
            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 742
      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 744
      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 746
      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 751
            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 753
      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 755
      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 757
      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 763
            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 765
      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 767
      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 769
      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 774
            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 775
            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 776
            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 780
            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 781
            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 782
            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 787
            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 788
            aload 1 /* to */
            aload 3 /* from */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 789
            aload 2 /* inputVal */
            areturn
         3: .line 792
      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 797
            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 798
            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 800
      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 802
      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 804
      StackMap locals:
      StackMap stack:
            goto 17
         9: .line 806
      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 808
      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 810
      StackMap locals:
      StackMap stack:
            goto 17
        12: .line 812
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 3 - 3
                    3: 13
              default: 14
          }
        13: .line 814
      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 816
      StackMap locals:
      StackMap stack:
            goto 17
        15: .line 818
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 5 /* fromKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 4 - 4
                    4: 16
              default: 17
          }
        16: .line 820
      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 824
      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 829
            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 831
      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 833
      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 835
      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 837
      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 839
      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 841
      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 843
      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 845
      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 847
      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 849
      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 851
      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 857
            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 859
            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 861
      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 867
            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 868
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 869
            aload 1 /* inputVal */
            areturn
         4: .line 870
      StackMap locals:
      StackMap stack:
            iload 3 /* toBits */
            bipush 32
            if_icmple 10
         5: .line 872
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 6
                   16: 7
                   32: 8
              default: 9
          }
         6: .line 874
      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 876
      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 878
      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 880
      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 884
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 11
                   16: 12
                   32: 13
              default: 14
          }
        11: .line 886
      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 888
      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 890
      StackMap locals:
      StackMap stack:
            aload 1 /* inputVal */
            areturn
        14: .line 892
      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 899
            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 900
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            iload 3 /* toBits */
            if_icmpne 4
         3: .line 901
            aload 1 /* inputVal */
            areturn
         4: .line 902
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            bipush 32
            if_icmple 10
         5: .line 903
            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 904
      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 905
            iload 2 /* fromBits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 5 /* mask */
        start local 5 // long mask
         8: .line 906
            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 907
            aload 4 /* result */
            areturn
        end local 5 // long mask
        end local 4 // org.graalvm.compiler.lir.Variable result
        10: .line 909
      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 910
            iload 3 /* toBits */
            bipush 32
            if_icmple 14
        12: .line 911
            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 912
            goto 15
        14: .line 913
      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 922
      StackMap locals:
      StackMap stack:
            iload 2 /* fromBits */
            lookupswitch { // 3
                    8: 16
                   16: 17
                   32: 18
              default: 19
          }
        16: .line 924
      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 926
      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 928
      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 932
      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 934
            iload 3 /* toBits */
            bipush 32
            if_icmple 23
        21: .line 935
            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 936
            goto 24
        end local 6 // jdk.vm.ci.meta.JavaConstant mask
        23: .line 937
      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 939
      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 940
            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 946
            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 947
            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 948
      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 949
            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 950
            goto 6
         5: .line 951
      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 953
      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 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
            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 960
            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 965
            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 966
            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 967
      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 968
            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 969
            goto 6
         5: .line 970
      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 972
      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 977
            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 978
            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 979
      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 980
      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 982
      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 983
            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 984
            goto 10
         8: .line 985
      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 986
      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 988
      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 993
            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 994
            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 995
      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 996
            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 997
            goto 6
         5: .line 998
      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 1000
      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 1005
            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 1006
            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 1007
      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 1008
            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 1009
            goto 6
         5: .line 1010
      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 1012
      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 1017
            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 1019
            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 1020
            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 1021
            goto 5
         4: .line 1022
      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 1024
      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 1029
            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 1031
            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 1032
            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 1033
            goto 5
         4: .line 1034
      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 1037
      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 1042
            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 1044
            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 1045
            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 1046
            goto 5
         4: .line 1047
      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 1050
      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 1055
            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 1057
            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 1058
            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 1059
            goto 5
         4: .line 1060
      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 1063
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value 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 1068
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 1 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.lir.Variable result
         1: .line 1069
            invokestatic org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* input */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 5 - 6
                    5: 2
                    6: 4
              default: 6
          }
         2: .line 1071
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.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 1072
            goto 7
         4: .line 1074
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            new org.graalvm.compiler.lir.amd64.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 1075
            goto 7
         6: .line 1077
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1079
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.Value input
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    8     1   input  Ljdk/vm/ci/meta/Value;
            1    8     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      input  

  public jdk.vm.ci.meta.Value 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 1084
            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 1085
            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 1087
      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 1088
            goto 7
         4: .line 1090
      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 1091
            goto 7
         6: .line 1093
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 1095
      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 1100
            iload 2 /* base10 */
            ifeq 2
         1: .line 1101
            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 1103
      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 1109
            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 1114
            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 1119
            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 1124
            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 1129
            new org.graalvm.compiler.lir.amd64.AMD64MathPowOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64MathPowOp.<init>:()V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            aload 1 /* x */
            aload 2 /* y */
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64MathPowOp.emitLIRWrapper:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 2 // jdk.vm.ci.meta.Value y
        end local 1 // jdk.vm.ci.meta.Value x
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    1     1     x  Ljdk/vm/ci/meta/Value;
            0    1     2     y  Ljdk/vm/ci/meta/Value;
    MethodParameters:
      Name  Flags
      x     
      y     

  protected org.graalvm.compiler.core.amd64.AMD64LIRGenerator getAMD64LIRGen();
    descriptor: ()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
         0: .line 1133
            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 1138
            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 1139
            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 1140
            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 1142
      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 1143
            goto 16
         5: .line 1145
      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 1146
            goto 16
         7: .line 1148
      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 1149
            goto 16
         9: .line 1151
      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 1152
            goto 16
        11: .line 1154
      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 1155
            goto 16
        13: .line 1157
      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 1158
            goto 16
        15: .line 1160
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        16: .line 1162
      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 1166
            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 1167
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 8
         2: .line 1168
            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 1169
      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 1170
            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 1171
            return
        end local 6 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 1172
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 14
         9: .line 1174
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 41
        10: .line 1175
            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 1177
      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 1178
      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 1179
            return
        14: .line 1183
      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 1184
            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 1186
      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 1190
            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 1192
      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 1193
            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 1194
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        21: .line 1195
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        22: .line 1197
      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 1198
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        24: .line 1199
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        25: .line 1201
      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 1202
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            i2l
            lstore 9 /* imm */
        start local 9 // long imm
        27: .line 1203
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        28: .line 1205
      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 1206
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 9 /* imm */
        start local 9 // long imm
        30: .line 1207
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        31: .line 1209
      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 1210
            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 1211
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        34: .line 1213
      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 1214
            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 1215
            goto 38
        end local 9 // long imm
        end local 8 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        37: .line 1217
      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 1220
      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 1221
            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 1222
            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 1227
      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 1228
            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 1231
            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 1233
      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 1234
            goto 14
         3: .line 1236
      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 1237
            goto 14
         5: .line 1239
      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 1240
            goto 14
         7: .line 1242
      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 1243
            goto 14
         9: .line 1245
      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 1246
            goto 14
        11: .line 1248
      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 1249
            goto 14
        13: .line 1251
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        14: .line 1253
      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 1257
            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 1258
            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 1259
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         3: .line 1260
            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 1261
            goto 6
         5: .line 1262
      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 1264
      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 1268
            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 1274
            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 1276
      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 1277
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         3: .line 1279
      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 1280
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         5: .line 1282
      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 1283
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         7: .line 1285
      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 1286
            goto 14
        end local 4 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         9: .line 1288
      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 1289
            return
        11: .line 1291
      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 1292
            return
        13: .line 1294
      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 1297
      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 1298
            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 1299
            aload 5 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 22
        17: .line 1300
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 20
        18: .line 1301
            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 1302
            goto 21
        20: .line 1303
      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 1305
      StackMap locals:
      StackMap stack:
            return
        22: .line 1306
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 29
        23: .line 1307
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            astore 6 /* vc */
        start local 6 // jdk.vm.ci.meta.VMConstant vc
        24: .line 1308
            aload 4 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 27
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 27
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getLIRGen:()Lorg/graalvm/compiler/lir/gen/LIRGenerator;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifeq 27
        25: .line 1309
            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 1310
            goto 28
        27: .line 1311
      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 1313
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.meta.VMConstant vc
        29: .line 1314
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 40
        30: .line 1315
            aload 5 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* jc */
        start local 6 // jdk.vm.ci.meta.JavaConstant jc
        31: .line 1316
            aload 6 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 37
        32: .line 1317
            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 1318
            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 1319
            return
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp op
        37: .line 1320
      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 1321
            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 1322
            return
        end local 6 // jdk.vm.ci.meta.JavaConstant jc
        end local 5 // jdk.vm.ci.meta.Constant c
        40: .line 1328
      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 1329
            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 1333
            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 1334
            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 1335
      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 1336
            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 1337
            goto 6
         5: .line 1338
      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 1340
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable result
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool$RoundingMode mode
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    7     1   value  Ljdk/vm/ci/meta/Value;
            0    7     2    mode  Lorg/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool$RoundingMode;
            1    7     3  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      value  
      mode   

  public boolean supportAVX();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator this
         0: .line 1344
            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 1345
            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 1349
            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 1350
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 3
         2: .line 1351
            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 1353
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            areturn
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // jdk.vm.ci.meta.Value a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  Ljdk/vm/ci/meta/Value;
            1    4     1  kind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
      Name  Flags
      a     

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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