public abstract class org.graalvm.compiler.core.amd64.AMD64LIRGenerator extends org.graalvm.compiler.lir.gen.LIRGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.core.amd64.AMD64LIRGenerator
  super_class: org.graalvm.compiler.lir.gen.LIRGenerator
{
  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 131
            ldc Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            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.AMD64LIRGenerator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.core.common.spi.LIRKindTool, org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.lir.gen.LIRGenerationResult);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/LIRKindTool;Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool
        start local 2 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen
        start local 3 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory moveFactory
        start local 4 // org.graalvm.compiler.phases.util.Providers providers
        start local 5 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
         0: .line 134
            aload 0 /* this */
            aload 1 /* lirKindTool */
            aload 2 /* arithmeticLIRGen */
            aload 3 /* moveFactory */
            aload 4 /* providers */
            aload 5 /* lirGenRes */
            invokespecial org.graalvm.compiler.lir.gen.LIRGenerator.<init>:(Lorg/graalvm/compiler/core/common/spi/LIRKindTool;Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
         1: .line 135
            return
        end local 5 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 4 // org.graalvm.compiler.phases.util.Providers providers
        end local 3 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory moveFactory
        end local 2 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen
        end local 1 // org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1       lirKindTool  Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
            0    2     2  arithmeticLIRGen  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
            0    2     3       moveFactory  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            0    2     4         providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    2     5         lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
    MethodParameters:
                  Name  Flags
      lirKindTool       
      arithmeticLIRGen  
      moveFactory       
      providers         
      lirGenRes         

  protected static final boolean canStoreConstant(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Z
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaConstant c
         0: .line 147
            invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 7 - 9
                    7: 1
                    8: 2
                    9: 3
              default: 4
          }
         1: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ireturn
         2: .line 151
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ireturn
         4: .line 155
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaConstant c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     c  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
      Name  Flags
      c     

  protected jdk.vm.ci.meta.JavaConstant zapValueForKind(jdk.vm.ci.meta.PlatformKind);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
         0: .line 161
            ldc -2401018187971961171
            lstore 2 /* dead */
        start local 2 // long dead
         1: .line 162
            invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* kind */
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
              default: 7
          }
         2: .line 164
      StackMap locals: long
      StackMap stack:
            lload 2 /* dead */
            l2i
            i2b
            invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         3: .line 166
      StackMap locals:
      StackMap stack:
            lload 2 /* dead */
            l2i
            i2s
            invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         4: .line 168
      StackMap locals:
      StackMap stack:
            lload 2 /* dead */
            l2i
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         5: .line 170
      StackMap locals:
      StackMap stack:
            lload 2 /* dead */
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         6: .line 172
      StackMap locals:
      StackMap stack:
            lload 2 /* dead */
            l2i
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         7: .line 175
      StackMap locals:
      StackMap stack:
            lload 2 /* dead */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
        end local 2 // long dead
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    8     1  kind  Ljdk/vm/ci/meta/PlatformKind;
            1    8     2  dead  J
    MethodParameters:
      Name  Flags
      kind  

  public org.graalvm.compiler.lir.amd64.AMD64AddressValue asAddressValue(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
         0: .line 180
            aload 1 /* address */
            instanceof org.graalvm.compiler.lir.amd64.AMD64AddressValue
            ifeq 2
         1: .line 181
            aload 1 /* address */
            checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
            areturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 1 /* address */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 6
         3: .line 184
            aload 1 /* address */
            checkcast jdk.vm.ci.meta.JavaConstant
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 2 /* displacement */
        start local 2 // long displacement
         4: .line 185
            lload 2 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 6
         5: .line 186
            new org.graalvm.compiler.lir.amd64.AMD64AddressValue
            dup
            aload 1 /* address */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            lload 2 /* displacement */
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64AddressValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/AllocatableValue;I)V
            areturn
        end local 2 // long displacement
         6: .line 189
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.lir.amd64.AMD64AddressValue
            dup
            aload 1 /* address */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            iconst_0
            invokespecial org.graalvm.compiler.lir.amd64.AMD64AddressValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/AllocatableValue;I)V
            areturn
        end local 1 // jdk.vm.ci.meta.Value address
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    7     1       address  Ljdk/vm/ci/meta/Value;
            4    6     2  displacement  J
    MethodParameters:
         Name  Flags
      address  

  public org.graalvm.compiler.lir.Variable emitAddress(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.AllocatableValue stackslot
         0: .line 195
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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 196
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp
            dup
            aload 2 /* result */
            aload 1 /* stackslot */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 197
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.lir.Variable result
        end local 1 // jdk.vm.ci.meta.AllocatableValue stackslot
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1  stackslot  Ljdk/vm/ci/meta/AllocatableValue;
            1    3     2     result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
           Name  Flags
      stackslot  

  public <K extends jdk.vm.ci.meta.ValueKind<K>> K toRegisterKind();
    descriptor: (Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
         0: .line 207
            invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 1
              default: 2
          }
         1: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual jdk.vm.ci.meta.ValueKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/ValueKind;
            areturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            areturn
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1  kind  TK;
    Signature: <K:Ljdk/vm/ci/meta/ValueKind<TK;>;>(TK;)TK;
    MethodParameters:
      Name  Flags
      kind  

  private jdk.vm.ci.meta.AllocatableValue asAllocatable(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // jdk.vm.ci.meta.ValueKind kind
         0: .line 217
            aload 1 /* value */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 2 /* kind */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 218
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         3: .line 220
            aload 1 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            areturn
         4: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         5: .line 222
            aload 0 /* this */
            aload 2 /* kind */
            aload 1 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitLoadConstant:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
            areturn
         6: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* kind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* variable */
        start local 3 // org.graalvm.compiler.lir.Variable variable
         7: .line 225
            aload 0 /* this */
            aload 3 /* variable */
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         8: .line 226
            aload 3 /* variable */
            areturn
        end local 3 // org.graalvm.compiler.lir.Variable variable
        end local 2 // jdk.vm.ci.meta.ValueKind kind
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    9     1     value  Ljdk/vm/ci/meta/Value;
            0    9     2      kind  Ljdk/vm/ci/meta/ValueKind<*>;
            7    9     3  variable  Lorg/graalvm/compiler/lir/Variable;
    Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;)Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
       Name  Flags
      value  
      kind   

  private jdk.vm.ci.meta.Value emitCompareAndSwap(boolean, org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (ZLorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=18, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // boolean isLogic
        start local 2 // org.graalvm.compiler.core.common.LIRKind accessKind
        start local 3 // jdk.vm.ci.meta.Value address
        start local 4 // jdk.vm.ci.meta.Value expectedValue
        start local 5 // jdk.vm.ci.meta.Value newValue
        start local 6 // jdk.vm.ci.meta.Value trueValue
        start local 7 // jdk.vm.ci.meta.Value falseValue
         0: .line 231
            aload 5 /* newValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            astore 8 /* kind */
        start local 8 // jdk.vm.ci.meta.ValueKind kind
         1: .line 232
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 8 /* kind */
            aload 4 /* expectedValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 234
      StackMap locals: jdk.vm.ci.meta.ValueKind
      StackMap stack:
            aload 0 /* this */
            aload 3 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 9 /* addressValue */
        start local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
         3: .line 235
            aload 2 /* accessKind */
            astore 10 /* integralAccessKind */
        start local 10 // org.graalvm.compiler.core.common.LIRKind integralAccessKind
         4: .line 236
            aload 4 /* expectedValue */
            astore 11 /* reinterpretedExpectedValue */
        start local 11 // jdk.vm.ci.meta.Value reinterpretedExpectedValue
         5: .line 237
            aload 5 /* newValue */
            astore 12 /* reinterpretedNewValue */
        start local 12 // jdk.vm.ci.meta.Value reinterpretedNewValue
         6: .line 238
            aload 2 /* accessKind */
            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.isXMM:()Z
            istore 13 /* isXmm */
        start local 13 // boolean isXmm
         7: .line 239
            iload 13 /* isXmm */
            ifeq 14
         8: .line 240
            aload 2 /* accessKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 241
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 10 /* integralAccessKind */
        10: .line 242
            goto 12
        11: .line 243
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator int org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.ValueKind org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 10 /* integralAccessKind */
        12: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 10 /* integralAccessKind */
            aload 4 /* expectedValue */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            astore 11 /* reinterpretedExpectedValue */
        13: .line 246
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 10 /* integralAccessKind */
            aload 5 /* newValue */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            astore 12 /* reinterpretedNewValue */
        14: .line 248
      StackMap locals:
      StackMap stack:
            aload 10 /* integralAccessKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            astore 14 /* memKind */
        start local 14 // jdk.vm.ci.amd64.AMD64Kind memKind
        15: .line 249
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 10 /* integralAccessKind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 15 /* aRes */
        start local 15 // jdk.vm.ci.code.RegisterValue aRes
        16: .line 250
            aload 0 /* this */
            aload 12 /* reinterpretedNewValue */
            aload 10 /* integralAccessKind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 16 /* allocatableNewValue */
        start local 16 // jdk.vm.ci.meta.AllocatableValue allocatableNewValue
        17: .line 251
            aload 0 /* this */
            aload 15 /* aRes */
            aload 11 /* reinterpretedExpectedValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        18: .line 252
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp
            dup
            aload 14 /* memKind */
            aload 15 /* aRes */
            aload 9 /* addressValue */
            aload 15 /* aRes */
            aload 16 /* allocatableNewValue */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        19: .line 254
            iload 1 /* isLogic */
            ifeq 22
        20: .line 255
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 21
            aload 6 /* trueValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 7 /* falseValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 256
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind jdk.vm.ci.code.RegisterValue jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 6 /* trueValue */
            aload 7 /* falseValue */
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        22: .line 258
      StackMap locals:
      StackMap stack:
            iload 13 /* isXmm */
            ifeq 24
        23: .line 259
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 2 /* accessKind */
            aload 15 /* aRes */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        24: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* kind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 17 /* result */
        start local 17 // org.graalvm.compiler.lir.Variable result
        25: .line 262
            aload 0 /* this */
            aload 17 /* result */
            aload 15 /* aRes */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        26: .line 263
            aload 17 /* result */
            areturn
        end local 17 // org.graalvm.compiler.lir.Variable result
        end local 16 // jdk.vm.ci.meta.AllocatableValue allocatableNewValue
        end local 15 // jdk.vm.ci.code.RegisterValue aRes
        end local 14 // jdk.vm.ci.amd64.AMD64Kind memKind
        end local 13 // boolean isXmm
        end local 12 // jdk.vm.ci.meta.Value reinterpretedNewValue
        end local 11 // jdk.vm.ci.meta.Value reinterpretedExpectedValue
        end local 10 // org.graalvm.compiler.core.common.LIRKind integralAccessKind
        end local 9 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
        end local 8 // jdk.vm.ci.meta.ValueKind kind
        end local 7 // jdk.vm.ci.meta.Value falseValue
        end local 6 // jdk.vm.ci.meta.Value trueValue
        end local 5 // jdk.vm.ci.meta.Value newValue
        end local 4 // jdk.vm.ci.meta.Value expectedValue
        end local 3 // jdk.vm.ci.meta.Value address
        end local 2 // org.graalvm.compiler.core.common.LIRKind accessKind
        end local 1 // boolean isLogic
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   27     0                        this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   27     1                     isLogic  Z
            0   27     2                  accessKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0   27     3                     address  Ljdk/vm/ci/meta/Value;
            0   27     4               expectedValue  Ljdk/vm/ci/meta/Value;
            0   27     5                    newValue  Ljdk/vm/ci/meta/Value;
            0   27     6                   trueValue  Ljdk/vm/ci/meta/Value;
            0   27     7                  falseValue  Ljdk/vm/ci/meta/Value;
            1   27     8                        kind  Ljdk/vm/ci/meta/ValueKind<*>;
            3   27     9                addressValue  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            4   27    10          integralAccessKind  Lorg/graalvm/compiler/core/common/LIRKind;
            5   27    11  reinterpretedExpectedValue  Ljdk/vm/ci/meta/Value;
            6   27    12       reinterpretedNewValue  Ljdk/vm/ci/meta/Value;
            7   27    13                       isXmm  Z
           15   27    14                     memKind  Ljdk/vm/ci/amd64/AMD64Kind;
           16   27    15                        aRes  Ljdk/vm/ci/code/RegisterValue;
           17   27    16         allocatableNewValue  Ljdk/vm/ci/meta/AllocatableValue;
           25   27    17                      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
               Name  Flags
      isLogic        
      accessKind     
      address        
      expectedValue  
      newValue       
      trueValue      
      falseValue     

  public org.graalvm.compiler.lir.Variable emitLogicCompareAndSwap(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;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=8, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind accessKind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // jdk.vm.ci.meta.Value expectedValue
        start local 4 // jdk.vm.ci.meta.Value newValue
        start local 5 // jdk.vm.ci.meta.Value trueValue
        start local 6 // jdk.vm.ci.meta.Value falseValue
         0: .line 270
            aload 0 /* this */
            iconst_1
            aload 1 /* accessKind */
            aload 2 /* address */
            aload 3 /* expectedValue */
            aload 4 /* newValue */
            aload 5 /* trueValue */
            aload 6 /* falseValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwap:(ZLorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.Variable
            areturn
        end local 6 // jdk.vm.ci.meta.Value falseValue
        end local 5 // jdk.vm.ci.meta.Value trueValue
        end local 4 // jdk.vm.ci.meta.Value newValue
        end local 3 // jdk.vm.ci.meta.Value expectedValue
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // org.graalvm.compiler.core.common.LIRKind accessKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1     accessKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    1     2        address  Ljdk/vm/ci/meta/Value;
            0    1     3  expectedValue  Ljdk/vm/ci/meta/Value;
            0    1     4       newValue  Ljdk/vm/ci/meta/Value;
            0    1     5      trueValue  Ljdk/vm/ci/meta/Value;
            0    1     6     falseValue  Ljdk/vm/ci/meta/Value;
    MethodParameters:
               Name  Flags
      accessKind     
      address        
      expectedValue  
      newValue       
      trueValue      
      falseValue     

  public jdk.vm.ci.meta.Value emitValueCompareAndSwap(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.LIRKind accessKind
        start local 2 // jdk.vm.ci.meta.Value address
        start local 3 // jdk.vm.ci.meta.Value expectedValue
        start local 4 // jdk.vm.ci.meta.Value newValue
         0: .line 275
            aload 0 /* this */
            iconst_0
            aload 1 /* accessKind */
            aload 2 /* address */
            aload 3 /* expectedValue */
            aload 4 /* newValue */
            aconst_null
            aconst_null
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwap:(ZLorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 4 // jdk.vm.ci.meta.Value newValue
        end local 3 // jdk.vm.ci.meta.Value expectedValue
        end local 2 // jdk.vm.ci.meta.Value address
        end local 1 // org.graalvm.compiler.core.common.LIRKind accessKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1     accessKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    1     2        address  Ljdk/vm/ci/meta/Value;
            0    1     3  expectedValue  Ljdk/vm/ci/meta/Value;
            0    1     4       newValue  Ljdk/vm/ci/meta/Value;
    MethodParameters:
               Name  Flags
      accessKind     
      address        
      expectedValue  
      newValue       

  public void emitCompareAndSwapBranch(jdk.vm.ci.meta.ValueKind<?>, org.graalvm.compiler.lir.amd64.AMD64AddressValue, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, );
    descriptor: (Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=12, args_size=9
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
        start local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        start local 3 // jdk.vm.ci.meta.Value expectedValue
        start local 4 // jdk.vm.ci.meta.Value newValue
        start local 5 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
        start local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
        start local 8 // double trueLabelProbability
         0: .line 280
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            aload 3 /* expectedValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 281
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            aload 4 /* newValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 282
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 3
            aload 5 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpeq 3
            aload 5 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            astore 10 /* memKind */
        start local 10 // jdk.vm.ci.amd64.AMD64Kind memKind
         4: .line 284
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 11 /* raxValue */
        start local 11 // jdk.vm.ci.code.RegisterValue raxValue
         5: .line 285
            aload 0 /* this */
            aload 11 /* raxValue */
            aload 3 /* expectedValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         6: .line 286
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp
            dup
            aload 10 /* memKind */
            aload 11 /* raxValue */
            aload 2 /* address */
            aload 11 /* raxValue */
            aload 0 /* this */
            aload 4 /* newValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 287
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
            dup
            aload 5 /* condition */
            aload 6 /* trueLabel */
            aload 7 /* falseLabel */
            dload 8 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 288
            return
        end local 11 // jdk.vm.ci.code.RegisterValue raxValue
        end local 10 // jdk.vm.ci.amd64.AMD64Kind memKind
        end local 8 // double trueLabelProbability
        end local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 5 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 4 // jdk.vm.ci.meta.Value newValue
        end local 3 // jdk.vm.ci.meta.Value expectedValue
        end local 2 // org.graalvm.compiler.lir.amd64.AMD64AddressValue address
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    9     1                  kind  Ljdk/vm/ci/meta/ValueKind<*>;
            0    9     2               address  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0    9     3         expectedValue  Ljdk/vm/ci/meta/Value;
            0    9     4              newValue  Ljdk/vm/ci/meta/Value;
            0    9     5             condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    9     6             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0    9     7            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0    9     8  trueLabelProbability  D
            4    9    10               memKind  Ljdk/vm/ci/amd64/AMD64Kind;
            5    9    11              raxValue  Ljdk/vm/ci/code/RegisterValue;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    MethodParameters:
                      Name  Flags
      kind                  
      address               
      expectedValue         
      newValue              
      condition             
      trueLabel             
      falseLabel            
      trueLabelProbability  

  public jdk.vm.ci.meta.Value emitAtomicReadAndAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
        start local 2 // jdk.vm.ci.meta.ValueKind kind
        start local 3 // jdk.vm.ci.meta.Value delta
         0: .line 292
            aload 0 /* this */
            aload 2 /* kind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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 293
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 5 /* addressValue */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
         2: .line 294
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp
            dup
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            aload 4 /* result */
            aload 5 /* addressValue */
            aload 0 /* this */
            aload 3 /* delta */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 295
            aload 4 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
        end local 4 // org.graalvm.compiler.lir.Variable result
        end local 3 // jdk.vm.ci.meta.Value delta
        end local 2 // jdk.vm.ci.meta.ValueKind kind
        end local 1 // jdk.vm.ci.meta.Value address
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    4     1       address  Ljdk/vm/ci/meta/Value;
            0    4     2          kind  Ljdk/vm/ci/meta/ValueKind<*>;
            0    4     3         delta  Ljdk/vm/ci/meta/Value;
            1    4     4        result  Lorg/graalvm/compiler/lir/Variable;
            2    4     5  addressValue  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
    Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    MethodParameters:
         Name  Flags
      address  
      kind     
      delta    

  public jdk.vm.ci.meta.Value emitAtomicReadAndWrite(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
        start local 2 // jdk.vm.ci.meta.ValueKind kind
        start local 3 // jdk.vm.ci.meta.Value newValue
         0: .line 300
            aload 0 /* this */
            aload 2 /* kind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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 301
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            astore 5 /* addressValue */
        start local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
         2: .line 302
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp
            dup
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.amd64.AMD64Kind
            aload 4 /* result */
            aload 5 /* addressValue */
            aload 0 /* this */
            aload 3 /* newValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 303
            aload 4 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.amd64.AMD64AddressValue addressValue
        end local 4 // org.graalvm.compiler.lir.Variable result
        end local 3 // jdk.vm.ci.meta.Value newValue
        end local 2 // jdk.vm.ci.meta.ValueKind kind
        end local 1 // jdk.vm.ci.meta.Value address
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    4     1       address  Ljdk/vm/ci/meta/Value;
            0    4     2          kind  Ljdk/vm/ci/meta/ValueKind<*>;
            0    4     3      newValue  Ljdk/vm/ci/meta/Value;
            1    4     4        result  Lorg/graalvm/compiler/lir/Variable;
            2    4     5  addressValue  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
    Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    MethodParameters:
          Name  Flags
      address   
      kind      
      newValue  

  public void emitNullCheck(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
        start local 2 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 308
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp
            dup
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            aload 2 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         1: .line 309
            return
        end local 2 // org.graalvm.compiler.lir.LIRFrameState state
        end local 1 // jdk.vm.ci.meta.Value address
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1  address  Ljdk/vm/ci/meta/Value;
            0    2     2    state  Lorg/graalvm/compiler/lir/LIRFrameState;
    MethodParameters:
         Name  Flags
      address  
      state    

  public void emitJump(org.graalvm.compiler.lir.LabelRef);
    descriptor: (Lorg/graalvm/compiler/lir/LabelRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.lir.LabelRef label
         0: .line 313
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* label */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.StandardOp$JumpOp
            dup
            aload 1 /* label */
            invokespecial org.graalvm.compiler.lir.StandardOp$JumpOp.<init>:(Lorg/graalvm/compiler/lir/LabelRef;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 315
            return
        end local 1 // org.graalvm.compiler.lir.LabelRef label
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1  label  Lorg/graalvm/compiler/lir/LabelRef;
    MethodParameters:
       Name  Flags
      label  

  public void emitCompareBranch(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=12, args_size=9
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        start local 2 // jdk.vm.ci.meta.Value left
        start local 3 // jdk.vm.ci.meta.Value right
        start local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        start local 5 // boolean unorderedIsTrue
        start local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
        start local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
        start local 8 // double trueLabelProbability
         0: .line 319
            aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 1
            aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 7
         1: .line 320
      StackMap locals:
      StackMap stack:
            aload 4 /* cond */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 2
            iload 5 /* unorderedIsTrue */
            ifne 2
            aload 2 /* left */
            aload 3 /* right */
            invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 10 /* isSelfEqualsCheck */
        start local 10 // boolean isSelfEqualsCheck
         4: .line 321
            aload 0 /* this */
            aload 1 /* cmpKind */
            aload 2 /* left */
            aload 3 /* right */
            aload 4 /* cond */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 11 /* finalCondition */
        start local 11 // org.graalvm.compiler.core.common.calc.Condition finalCondition
         5: .line 322
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
            dup
            aload 11 /* finalCondition */
            iload 5 /* unorderedIsTrue */
            aload 6 /* trueLabel */
            aload 7 /* falseLabel */
            dload 8 /* trueLabelProbability */
            iload 10 /* isSelfEqualsCheck */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DZ)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 323
            return
        end local 11 // org.graalvm.compiler.core.common.calc.Condition finalCondition
        end local 10 // boolean isSelfEqualsCheck
         7: .line 326
      StackMap locals:
      StackMap stack:
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 10
         8: .line 327
            aload 0 /* this */
            aload 1 /* cmpKind */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            aload 4 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 6 /* trueLabel */
            aload 7 /* falseLabel */
            dload 8 /* trueLabelProbability */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompareBranch:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
         9: .line 328
            goto 11
        10: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmpKind */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            aload 4 /* cond */
            aload 6 /* trueLabel */
            aload 7 /* falseLabel */
            dload 8 /* trueLabelProbability */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompareBranch:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
        11: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 8 // double trueLabelProbability
        end local 7 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 6 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 5 // boolean unorderedIsTrue
        end local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // jdk.vm.ci.meta.Value left
        end local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   12     1               cmpKind  Ljdk/vm/ci/meta/PlatformKind;
            0   12     2                  left  Ljdk/vm/ci/meta/Value;
            0   12     3                 right  Ljdk/vm/ci/meta/Value;
            0   12     4                  cond  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   12     5       unorderedIsTrue  Z
            0   12     6             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   12     7            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   12     8  trueLabelProbability  D
            4    7    10     isSelfEqualsCheck  Z
            5    7    11        finalCondition  Lorg/graalvm/compiler/core/common/calc/Condition;
    MethodParameters:
                      Name  Flags
      cmpKind               
      left                  
      right                 
      cond                  
      unorderedIsTrue       
      trueLabel             
      falseLabel            
      trueLabelProbability  

  private void emitRawCompareBranch(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=11, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        start local 2 // org.graalvm.compiler.lir.Variable left
        start local 3 // jdk.vm.ci.meta.Value right
        start local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        start local 5 // org.graalvm.compiler.lir.LabelRef trueLabel
        start local 6 // org.graalvm.compiler.lir.LabelRef falseLabel
        start local 7 // double trueLabelProbability
         0: .line 334
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 27
         1: .line 335
            aload 3 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
            astore 9 /* c */
        start local 9 // jdk.vm.ci.meta.Constant c
         2: .line 336
            aload 9 /* c */
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 9
         3: .line 337
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            checkcast org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
            astore 10 /* arithmeticLIRGenerator */
        start local 10 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGenerator
         4: .line 338
            aload 10 /* arithmeticLIRGenerator */
            aload 9 /* c */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 7
         5: .line 339
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 10 /* arithmeticLIRGenerator */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getNullRegisterValue:()Ljdk/vm/ci/meta/AllocatableValue;
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 340
            goto 8
         7: .line 341
      StackMap locals: jdk.vm.ci.meta.Constant org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 2 /* left */
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 343
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGenerator
         9: .line 344
      StackMap locals:
      StackMap stack:
            aload 9 /* c */
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 16
        10: .line 345
            aload 9 /* c */
            checkcast jdk.vm.ci.meta.VMConstant
            astore 10 /* vc */
        start local 10 // jdk.vm.ci.meta.VMConstant vc
        11: .line 346
            aload 1 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 14
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.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 14
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifeq 14
        12: .line 347
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 2 /* left */
            aload 10 /* vc */
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/VMConstant;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        13: .line 348
            goto 15
        14: .line 349
      StackMap locals: jdk.vm.ci.meta.VMConstant
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 10 /* vc */
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        15: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 10 // jdk.vm.ci.meta.VMConstant vc
        16: .line 352
      StackMap locals:
      StackMap stack:
            aload 9 /* c */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 27
        17: .line 353
            aload 9 /* c */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 10 /* jc */
        start local 10 // jdk.vm.ci.meta.JavaConstant jc
        18: .line 354
            aload 10 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifeq 24
        19: .line 355
            aload 1 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 22
        20: .line 356
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp
            dup
            aload 2 /* left */
            aload 2 /* left */
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        21: .line 357
            goto 23
        22: .line 358
      StackMap locals: jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 2 /* left */
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        23: .line 360
      StackMap locals:
      StackMap stack:
            return
        24: .line 361
      StackMap locals:
      StackMap stack:
            aload 10 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 27
        25: .line 362
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 10 /* jc */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            l2i
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        26: .line 363
            return
        end local 10 // jdk.vm.ci.meta.JavaConstant jc
        end local 9 // jdk.vm.ci.meta.Constant c
        27: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
            dup
            aload 1 /* size */
            aload 2 /* left */
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aconst_null
            aload 4 /* cond */
            aload 5 /* trueLabel */
            aload 6 /* falseLabel */
            dload 7 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        28: .line 370
            return
        end local 7 // double trueLabelProbability
        end local 6 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 5 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // org.graalvm.compiler.lir.Variable left
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   29     0                    this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   29     1                    size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            0   29     2                    left  Lorg/graalvm/compiler/lir/Variable;
            0   29     3                   right  Ljdk/vm/ci/meta/Value;
            0   29     4                    cond  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   29     5               trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   29     6              falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   29     7    trueLabelProbability  D
            2   27     9                       c  Ljdk/vm/ci/meta/Constant;
            4    9    10  arithmeticLIRGenerator  Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
           11   16    10                      vc  Ljdk/vm/ci/meta/VMConstant;
           18   27    10                      jc  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
                      Name  Flags
      size                  
      left                  
      right                 
      cond                  
      trueLabel             
      falseLabel            
      trueLabelProbability  

  public void emitCompareBranchMemory(jdk.vm.ci.amd64.AMD64Kind, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState, org.graalvm.compiler.core.common.calc.Condition, boolean, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=15, args_size=10
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.amd64.AMD64Kind cmpKind
        start local 2 // jdk.vm.ci.meta.Value left
        start local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue right
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
        start local 5 // org.graalvm.compiler.core.common.calc.Condition cond
        start local 6 // boolean unorderedIsTrue
        start local 7 // org.graalvm.compiler.lir.LabelRef trueLabel
        start local 8 // org.graalvm.compiler.lir.LabelRef falseLabel
        start local 9 // double trueLabelProbability
         0: .line 374
            aload 1 /* cmpKind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 10
         1: .line 375
            aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
         2: .line 376
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp
            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 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* right */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp.<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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 377
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
            dup
            aload 5 /* cond */
            iload 6 /* unorderedIsTrue */
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 378
            goto 26
      StackMap locals:
      StackMap stack:
         5: aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 9
         6: .line 379
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp
            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 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* right */
            aload 4 /* state */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp.<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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 380
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
            dup
            aload 5 /* cond */
            iload 6 /* unorderedIsTrue */
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         8: .line 381
            goto 26
         9: .line 382
      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
        10: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* cmpKind */
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            astore 11 /* size */
        start local 11 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        11: .line 386
            aload 2 /* left */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 25
        12: .line 387
            aload 2 /* left */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
            astore 12 /* a */
        start local 12 // org.graalvm.compiler.lir.ConstantValue a
        13: .line 388
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
            invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
            ifeq 16
        14: .line 389
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
            dup
            aload 11 /* size */
            aload 3 /* right */
            iconst_0
            aload 4 /* state */
            aload 5 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        15: .line 390
            return
        16: .line 391
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.lir.ConstantValue
      StackMap stack:
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
            instanceof jdk.vm.ci.meta.VMConstant
            ifeq 20
            aload 11 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            if_acmpne 20
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifeq 20
        17: .line 392
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.VMConstant
            astore 13 /* vc */
        start local 13 // jdk.vm.ci.meta.VMConstant vc
        18: .line 393
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
            dup
            aload 11 /* size */
            aload 3 /* right */
            aload 13 /* vc */
            aload 4 /* state */
            aload 5 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/VMConstant;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        19: .line 394
            return
        end local 13 // jdk.vm.ci.meta.VMConstant vc
        20: .line 395
      StackMap locals:
      StackMap stack:
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 25
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/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 25
        21: .line 396
            aload 12 /* a */
            invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 13 /* value */
        start local 13 // long value
        22: .line 397
            lload 13 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 25
        23: .line 398
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
            dup
            aload 11 /* size */
            aload 3 /* right */
            lload 13 /* value */
            l2i
            aload 4 /* state */
            aload 5 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        24: .line 399
            return
        end local 13 // long value
        end local 12 // org.graalvm.compiler.lir.ConstantValue a
        25: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
            dup
            aload 11 /* size */
            aload 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* right */
            aload 4 /* state */
            aload 5 /* cond */
            aload 7 /* trueLabel */
            aload 8 /* falseLabel */
            dload 9 /* trueLabelProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 11 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        26: .line 405
      StackMap locals:
      StackMap stack:
            return
        end local 9 // double trueLabelProbability
        end local 8 // org.graalvm.compiler.lir.LabelRef falseLabel
        end local 7 // org.graalvm.compiler.lir.LabelRef trueLabel
        end local 6 // boolean unorderedIsTrue
        end local 5 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.amd64.AMD64AddressValue right
        end local 2 // jdk.vm.ci.meta.Value left
        end local 1 // jdk.vm.ci.amd64.AMD64Kind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   27     1               cmpKind  Ljdk/vm/ci/amd64/AMD64Kind;
            0   27     2                  left  Ljdk/vm/ci/meta/Value;
            0   27     3                 right  Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            0   27     4                 state  Lorg/graalvm/compiler/lir/LIRFrameState;
            0   27     5                  cond  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   27     6       unorderedIsTrue  Z
            0   27     7             trueLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   27     8            falseLabel  Lorg/graalvm/compiler/lir/LabelRef;
            0   27     9  trueLabelProbability  D
           11   26    11                  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
           13   25    12                     a  Lorg/graalvm/compiler/lir/ConstantValue;
           18   20    13                    vc  Ljdk/vm/ci/meta/VMConstant;
           22   25    13                 value  J
    MethodParameters:
                      Name  Flags
      cmpKind               
      left                  
      right                 
      state                 
      cond                  
      unorderedIsTrue       
      trueLabel             
      falseLabel            
      trueLabelProbability  

  public void emitOverflowCheckBranch(org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.core.common.LIRKind, double);
    descriptor: (Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/core/common/LIRKind;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.lir.LabelRef overflow
        start local 2 // org.graalvm.compiler.lir.LabelRef noOverflow
        start local 3 // org.graalvm.compiler.core.common.LIRKind cmpLIRKind
        start local 4 // double overflowProbability
         0: .line 409
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Overflow:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 1 /* overflow */
            aload 2 /* noOverflow */
            dload 4 /* overflowProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         1: .line 410
            return
        end local 4 // double overflowProbability
        end local 3 // org.graalvm.compiler.core.common.LIRKind cmpLIRKind
        end local 2 // org.graalvm.compiler.lir.LabelRef noOverflow
        end local 1 // org.graalvm.compiler.lir.LabelRef overflow
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1             overflow  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     2           noOverflow  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     3           cmpLIRKind  Lorg/graalvm/compiler/core/common/LIRKind;
            0    2     4  overflowProbability  D
    MethodParameters:
                     Name  Flags
      overflow             
      noOverflow           
      cmpLIRKind           
      overflowProbability  

  public void emitIntegerTestBranch(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value left
        start local 2 // jdk.vm.ci.meta.Value right
        start local 3 // org.graalvm.compiler.lir.LabelRef trueDestination
        start local 4 // org.graalvm.compiler.lir.LabelRef falseDestination
        start local 5 // double trueDestinationProbability
         0: .line 414
            aload 1 /* left */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getVectorLength:()I
            iconst_1
            if_icmple 4
         1: .line 415
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 1 /* left */
            invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 0 /* this */
            aload 1 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp.<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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 416
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
            dup
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 3 /* trueDestination */
            aload 4 /* falseDestination */
            dload 5 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 417
            goto 18
         4: .line 418
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* left */
            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 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* left */
            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 6
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            goto 7
      StackMap locals:
      StackMap stack:
         6: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
         7: astore 7 /* size */
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         8: .line 420
            aload 2 /* right */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 11
            aload 2 /* right */
            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
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 11
         9: .line 421
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp
            dup
            aload 7 /* size */
            aload 0 /* this */
            aload 1 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* right */
            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
            l2i
            aconst_null
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 3 /* trueDestination */
            aload 4 /* falseDestination */
            dload 5 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        10: .line 422
            goto 18
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
        11: aload 1 /* left */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 14
            aload 1 /* left */
            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
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 14
        12: .line 423
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp
            dup
            aload 7 /* size */
            aload 0 /* this */
            aload 2 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* left */
            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
            l2i
            aconst_null
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 3 /* trueDestination */
            aload 4 /* falseDestination */
            dload 5 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        13: .line 424
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 2 /* right */
            invokestatic jdk.vm.ci.code.ValueUtil.isAllocatableValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 17
        15: .line 425
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
            dup
            aload 7 /* size */
            aload 0 /* this */
            aload 2 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 1 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aconst_null
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 3 /* trueDestination */
            aload 4 /* falseDestination */
            dload 5 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        16: .line 426
            goto 18
        17: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
            dup
            aload 7 /* size */
            aload 0 /* this */
            aload 1 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aconst_null
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 3 /* trueDestination */
            aload 4 /* falseDestination */
            dload 5 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        18: .line 430
      StackMap locals:
      StackMap stack:
            return
        end local 5 // double trueDestinationProbability
        end local 4 // org.graalvm.compiler.lir.LabelRef falseDestination
        end local 3 // org.graalvm.compiler.lir.LabelRef trueDestination
        end local 2 // jdk.vm.ci.meta.Value right
        end local 1 // jdk.vm.ci.meta.Value left
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   19     0                        this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   19     1                        left  Ljdk/vm/ci/meta/Value;
            0   19     2                       right  Ljdk/vm/ci/meta/Value;
            0   19     3             trueDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0   19     4            falseDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0   19     5  trueDestinationProbability  D
            8   18     7                        size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    MethodParameters:
                            Name  Flags
      left                        
      right                       
      trueDestination             
      falseDestination            
      trueDestinationProbability  

  public org.graalvm.compiler.lir.Variable emitConditionalMove(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        start local 2 // jdk.vm.ci.meta.Value left
        start local 3 // jdk.vm.ci.meta.Value right
        start local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        start local 5 // boolean unorderedIsTrue
        start local 6 // jdk.vm.ci.meta.Value trueValue
        start local 7 // jdk.vm.ci.meta.Value falseValue
         0: .line 434
            aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 1
            aload 1 /* cmpKind */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 8 /* isFloatComparison */
        start local 8 // boolean isFloatComparison
         3: .line 436
            aload 4 /* cond */
            astore 9 /* finalCondition */
        start local 9 // org.graalvm.compiler.core.common.calc.Condition finalCondition
         4: .line 437
            aload 6 /* trueValue */
            astore 10 /* finalTrueValue */
        start local 10 // jdk.vm.ci.meta.Value finalTrueValue
         5: .line 438
            aload 7 /* falseValue */
            astore 11 /* finalFalseValue */
        start local 11 // jdk.vm.ci.meta.Value finalFalseValue
         6: .line 439
            iload 8 /* isFloatComparison */
            ifeq 22
         7: .line 441
            aload 2 /* left */
            astore 12 /* finalLeft */
        start local 12 // jdk.vm.ci.meta.Value finalLeft
         8: .line 442
            aload 3 /* right */
            astore 13 /* finalRight */
        start local 13 // jdk.vm.ci.meta.Value finalRight
         9: .line 443
            iload 5 /* unorderedIsTrue */
            aload 9 /* finalCondition */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
            if_icmpeq 20
        10: .line 444
            iload 5 /* unorderedIsTrue */
            aload 9 /* finalCondition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
            if_icmpne 15
        11: .line 445
            aload 9 /* finalCondition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 9 /* finalCondition */
        12: .line 446
            aload 3 /* right */
            astore 12 /* finalLeft */
        13: .line 447
            aload 2 /* left */
            astore 13 /* finalRight */
        14: .line 448
            goto 20
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator jdk.vm.ci.meta.PlatformKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.core.common.calc.Condition int jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.core.common.calc.Condition jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
      StackMap stack:
        15: aload 9 /* finalCondition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpeq 20
            aload 9 /* finalCondition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpeq 20
        16: .line 452
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 17
            iload 5 /* unorderedIsTrue */
            aload 9 /* finalCondition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 453
      StackMap locals:
      StackMap stack:
            aload 9 /* finalCondition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 9 /* finalCondition */
        18: .line 454
            aload 7 /* falseValue */
            astore 10 /* finalTrueValue */
        19: .line 455
            aload 6 /* trueValue */
            astore 11 /* finalFalseValue */
        20: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmpKind */
            aload 12 /* finalLeft */
            aload 13 /* finalRight */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
        end local 13 // jdk.vm.ci.meta.Value finalRight
        end local 12 // jdk.vm.ci.meta.Value finalLeft
        21: .line 459
            goto 23
        22: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmpKind */
            aload 2 /* left */
            aload 3 /* right */
            aload 4 /* cond */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 9 /* finalCondition */
        23: .line 463
      StackMap locals:
      StackMap stack:
            iload 8 /* isFloatComparison */
            ifeq 24
            aload 9 /* finalCondition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 24
            aload 2 /* left */
            aload 3 /* right */
            invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
            ifeq 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 12 /* isSelfEqualsCheck */
        start local 12 // boolean isSelfEqualsCheck
        26: .line 464
            aload 0 /* this */
            aload 9 /* finalCondition */
            aload 10 /* finalTrueValue */
            aload 11 /* finalFalseValue */
            iload 8 /* isFloatComparison */
            iload 5 /* unorderedIsTrue */
            iload 12 /* isSelfEqualsCheck */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 12 // boolean isSelfEqualsCheck
        end local 11 // jdk.vm.ci.meta.Value finalFalseValue
        end local 10 // jdk.vm.ci.meta.Value finalTrueValue
        end local 9 // org.graalvm.compiler.core.common.calc.Condition finalCondition
        end local 8 // boolean isFloatComparison
        end local 7 // jdk.vm.ci.meta.Value falseValue
        end local 6 // jdk.vm.ci.meta.Value trueValue
        end local 5 // boolean unorderedIsTrue
        end local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // jdk.vm.ci.meta.Value left
        end local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   27     1            cmpKind  Ljdk/vm/ci/meta/PlatformKind;
            0   27     2               left  Ljdk/vm/ci/meta/Value;
            0   27     3              right  Ljdk/vm/ci/meta/Value;
            0   27     4               cond  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   27     5    unorderedIsTrue  Z
            0   27     6          trueValue  Ljdk/vm/ci/meta/Value;
            0   27     7         falseValue  Ljdk/vm/ci/meta/Value;
            3   27     8  isFloatComparison  Z
            4   27     9     finalCondition  Lorg/graalvm/compiler/core/common/calc/Condition;
            5   27    10     finalTrueValue  Ljdk/vm/ci/meta/Value;
            6   27    11    finalFalseValue  Ljdk/vm/ci/meta/Value;
            8   21    12          finalLeft  Ljdk/vm/ci/meta/Value;
            9   21    13         finalRight  Ljdk/vm/ci/meta/Value;
           26   27    12  isSelfEqualsCheck  Z
    MethodParameters:
                 Name  Flags
      cmpKind          
      left             
      right            
      cond             
      unorderedIsTrue  
      trueValue        
      falseValue       

  private org.graalvm.compiler.lir.Variable emitCondMoveOp(org.graalvm.compiler.core.common.calc.Condition, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 2 // jdk.vm.ci.meta.Value trueValue
        start local 3 // jdk.vm.ci.meta.Value falseValue
        start local 4 // boolean isFloatComparison
        start local 5 // boolean unorderedIsTrue
         0: .line 468
            aload 0 /* this */
            aload 1 /* condition */
            aload 2 /* trueValue */
            aload 3 /* falseValue */
            iload 4 /* isFloatComparison */
            iload 5 /* unorderedIsTrue */
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 5 // boolean unorderedIsTrue
        end local 4 // boolean isFloatComparison
        end local 3 // jdk.vm.ci.meta.Value falseValue
        end local 2 // jdk.vm.ci.meta.Value trueValue
        end local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1          condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    1     2          trueValue  Ljdk/vm/ci/meta/Value;
            0    1     3         falseValue  Ljdk/vm/ci/meta/Value;
            0    1     4  isFloatComparison  Z
            0    1     5    unorderedIsTrue  Z
    MethodParameters:
                   Name  Flags
      condition          
      trueValue          
      falseValue         
      isFloatComparison  
      unorderedIsTrue    

  private org.graalvm.compiler.lir.Variable emitCondMoveOp(org.graalvm.compiler.core.common.calc.Condition, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 2 // jdk.vm.ci.meta.Value trueValue
        start local 3 // jdk.vm.ci.meta.Value falseValue
        start local 4 // boolean isFloatComparison
        start local 5 // boolean unorderedIsTrue
        start local 6 // boolean isSelfEqualsCheck
         0: .line 472
            iload 4 /* isFloatComparison */
            ifeq 1
            iload 5 /* unorderedIsTrue */
            aload 1 /* condition */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
            if_icmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* isParityCheckNecessary */
        start local 7 // boolean isParityCheckNecessary
         3: .line 473
            aload 0 /* this */
            aload 2 /* trueValue */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 8 /* result */
        start local 8 // org.graalvm.compiler.lir.Variable result
         4: .line 474
            iload 7 /* isParityCheckNecessary */
            ifne 10
            aload 2 /* trueValue */
            lconst_1
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
            ifeq 10
            aload 3 /* falseValue */
            lconst_0
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
            ifeq 10
         5: .line 475
            iload 4 /* isFloatComparison */
            ifeq 8
         6: .line 476
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 477
            goto 26
         8: .line 478
      StackMap locals: int org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 480
            goto 26
      StackMap locals:
      StackMap stack:
        10: iload 7 /* isParityCheckNecessary */
            ifne 22
            aload 2 /* trueValue */
            lconst_0
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
            ifeq 22
            aload 3 /* falseValue */
            lconst_1
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
            ifeq 22
        11: .line 481
            iload 4 /* isFloatComparison */
            ifeq 20
        12: .line 482
            iload 5 /* unorderedIsTrue */
            aload 1 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
            if_icmpne 15
        13: .line 483
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        14: .line 484
            goto 26
        15: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        16: .line 486
            aload 0 /* this */
            aload 8 /* result */
            invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 9 /* negatedResult */
        start local 9 // org.graalvm.compiler.lir.Variable negatedResult
        17: .line 487
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
            aload 8 /* result */
            invokevirtual org.graalvm.compiler.lir.Variable.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            aload 9 /* negatedResult */
            aload 8 /* result */
            iconst_1
            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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        18: .line 488
            aload 9 /* negatedResult */
            astore 8 /* result */
        end local 9 // org.graalvm.compiler.lir.Variable negatedResult
        19: .line 490
            goto 26
        20: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        21: .line 493
            goto 26
      StackMap locals:
      StackMap stack:
        22: iload 4 /* isFloatComparison */
            ifeq 25
        23: .line 494
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            iload 5 /* unorderedIsTrue */
            aload 0 /* this */
            aload 2 /* trueValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 3 /* falseValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            iload 6 /* isSelfEqualsCheck */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;Z)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        24: .line 495
            goto 26
        25: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp
            dup
            aload 8 /* result */
            aload 1 /* condition */
            aload 0 /* this */
            aload 2 /* trueValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 3 /* falseValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        26: .line 498
      StackMap locals:
      StackMap stack:
            aload 8 /* result */
            areturn
        end local 8 // org.graalvm.compiler.lir.Variable result
        end local 7 // boolean isParityCheckNecessary
        end local 6 // boolean isSelfEqualsCheck
        end local 5 // boolean unorderedIsTrue
        end local 4 // boolean isFloatComparison
        end local 3 // jdk.vm.ci.meta.Value falseValue
        end local 2 // jdk.vm.ci.meta.Value trueValue
        end local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   27     0                    this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   27     1               condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   27     2               trueValue  Ljdk/vm/ci/meta/Value;
            0   27     3              falseValue  Ljdk/vm/ci/meta/Value;
            0   27     4       isFloatComparison  Z
            0   27     5         unorderedIsTrue  Z
            0   27     6       isSelfEqualsCheck  Z
            3   27     7  isParityCheckNecessary  Z
            4   27     8                  result  Lorg/graalvm/compiler/lir/Variable;
           17   19     9           negatedResult  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
                   Name  Flags
      condition          
      trueValue          
      falseValue         
      isFloatComparison  
      unorderedIsTrue    
      isSelfEqualsCheck  

  public org.graalvm.compiler.lir.Variable emitIntegerTestMove(jdk.vm.ci.meta.Value, 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;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value left
        start local 2 // jdk.vm.ci.meta.Value right
        start local 3 // jdk.vm.ci.meta.Value trueValue
        start local 4 // jdk.vm.ci.meta.Value falseValue
         0: .line 503
            aload 0 /* this */
            aload 1 /* left */
            aload 2 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitIntegerTest:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
         1: .line 504
            aload 0 /* this */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 0 /* this */
            aload 3 /* trueValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 4 /* falseValue */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 4 // jdk.vm.ci.meta.Value falseValue
        end local 3 // jdk.vm.ci.meta.Value trueValue
        end local 2 // jdk.vm.ci.meta.Value right
        end local 1 // jdk.vm.ci.meta.Value left
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1        left  Ljdk/vm/ci/meta/Value;
            0    2     2       right  Ljdk/vm/ci/meta/Value;
            0    2     3   trueValue  Ljdk/vm/ci/meta/Value;
            0    2     4  falseValue  Ljdk/vm/ci/meta/Value;
    MethodParameters:
            Name  Flags
      left        
      right       
      trueValue   
      falseValue  

  protected 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: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.vm.ci.meta.Value a
         0: .line 508
            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 509
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
            ifeq 3
         2: .line 510
            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 512
      StackMap locals: jdk.vm.ci.amd64.AMD64Kind
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            areturn
        end local 1 // jdk.vm.ci.amd64.AMD64Kind kind
        end local 0 // jdk.vm.ci.meta.Value a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  Ljdk/vm/ci/meta/Value;
            1    4     1  kind  Ljdk/vm/ci/amd64/AMD64Kind;
    MethodParameters:
      Name  Flags
      a     

  private void emitIntegerTest(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value a
        start local 2 // jdk.vm.ci.meta.Value b
         0: .line 517
            aload 1 /* a */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getVectorLength:()I
            iconst_1
            if_icmple 3
         1: .line 518
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
            aload 1 /* a */
            invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp.<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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 519
            goto 17
         3: .line 520
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
            ifne 4
            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.isInteger:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 521
      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.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            if_acmpne 5
            getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
         6: astore 3 /* size */
        start local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
         7: .line 522
            aload 2 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 10
            aload 2 /* 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
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 10
         8: .line 523
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 3 /* size */
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* 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
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 524
            goto 17
      StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
      StackMap stack:
        10: aload 1 /* a */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 13
            aload 1 /* a */
            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
            invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
            ifeq 13
        11: .line 525
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
            dup
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
            aload 3 /* size */
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* a */
            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
            l2i
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 526
            goto 17
      StackMap locals:
      StackMap stack:
        13: aload 2 /* b */
            invokestatic jdk.vm.ci.code.ValueUtil.isAllocatableValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 16
        14: .line 527
            aload 0 /* this */
            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 3 /* size */
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        15: .line 528
            goto 17
        16: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 3 /* size */
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        end local 3 // org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize size
        17: .line 532
      StackMap locals:
      StackMap stack:
            return
        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.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   18     1     a  Ljdk/vm/ci/meta/Value;
            0   18     2     b  Ljdk/vm/ci/meta/Value;
            7   17     3  size  Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
    MethodParameters:
      Name  Flags
      a     
      b     

  private org.graalvm.compiler.core.common.calc.Condition emitCompare(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        start local 2 // jdk.vm.ci.meta.Value a
        start local 3 // jdk.vm.ci.meta.Value b
        start local 4 // org.graalvm.compiler.core.common.calc.Condition cond
         0: .line 544
            aload 3 /* b */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
         1: .line 545
            aload 0 /* this */
            aload 1 /* cmpKind */
            aload 3 /* b */
            aload 2 /* a */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
         2: .line 546
            aload 4 /* cond */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            areturn
         3: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmpKind */
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
         4: .line 549
            aload 4 /* cond */
            areturn
        end local 4 // org.graalvm.compiler.core.common.calc.Condition cond
        end local 3 // jdk.vm.ci.meta.Value b
        end local 2 // jdk.vm.ci.meta.Value a
        end local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    5     1  cmpKind  Ljdk/vm/ci/meta/PlatformKind;
            0    5     2        a  Ljdk/vm/ci/meta/Value;
            0    5     3        b  Ljdk/vm/ci/meta/Value;
            0    5     4     cond  Lorg/graalvm/compiler/core/common/calc/Condition;
    MethodParameters:
         Name  Flags
      cmpKind  
      a        
      b        
      cond     

  private void emitRawCompare(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        start local 2 // jdk.vm.ci.meta.Value left
        start local 3 // jdk.vm.ci.meta.Value right
         0: .line 554
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            checkcast org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool
            aload 1 /* cmpKind */
            checkcast jdk.vm.ci.amd64.AMD64Kind
            aload 0 /* this */
            aload 2 /* left */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 3 /* right */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            invokeinterface org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool.emitCompareOp:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;)V
         1: .line 555
            return
        end local 3 // jdk.vm.ci.meta.Value right
        end local 2 // jdk.vm.ci.meta.Value left
        end local 1 // jdk.vm.ci.meta.PlatformKind cmpKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1  cmpKind  Ljdk/vm/ci/meta/PlatformKind;
            0    2     2     left  Ljdk/vm/ci/meta/Value;
            0    2     3    right  Ljdk/vm/ci/meta/Value;
    MethodParameters:
         Name  Flags
      cmpKind  
      left     
      right    

  public void emitMembar(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // int barriers
         0: .line 559
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            iload 1 /* barriers */
            invokevirtual jdk.vm.ci.code.Architecture.requiredBarriers:(I)I
            istore 2 /* necessaryBarriers */
        start local 2 // int necessaryBarriers
         1: .line 560
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.isMP:Z
            ifeq 3
            iload 2 /* necessaryBarriers */
            ifeq 3
         2: .line 561
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp
            dup
            iload 2 /* necessaryBarriers */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp.<init>:(I)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 563
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int necessaryBarriers
        end local 1 // int barriers
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    4     1           barriers  I
            1    4     2  necessaryBarriers  I
    MethodParameters:
          Name  Flags
      barriers  

  public abstract void emitCCall(long, jdk.vm.ci.code.CallingConvention, jdk.vm.ci.meta.Value[], int);
    descriptor: (JLjdk/vm/ci/code/CallingConvention;[Ljdk/vm/ci/meta/Value;I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                                Name  Flags
      address                         
      nativeCallingConvention         
      args                            
      numberOfFloatingPointArguments  

  protected void emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[], org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage
        start local 2 // jdk.vm.ci.meta.Value result
        start local 3 // jdk.vm.ci.meta.Value[] arguments
        start local 4 // jdk.vm.ci.meta.Value[] temps
        start local 5 // org.graalvm.compiler.lir.LIRFrameState info
         0: .line 569
            aload 1 /* linkage */
            invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.getMaxCallTargetOffset:()J
            lstore 6 /* maxOffset */
        start local 6 // long maxOffset
         1: .line 570
            lload 6 /* maxOffset */
            lload 6 /* maxOffset */
            l2i
            i2l
            lcmp
            ifeq 4
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.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 4
         2: .line 571
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp
            dup
            aload 1 /* linkage */
            aload 2 /* result */
            aload 3 /* arguments */
            aload 4 /* temps */
            aload 5 /* info */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 572
            goto 5
         4: .line 573
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp
            dup
            aload 1 /* linkage */
            aload 2 /* result */
            aload 3 /* arguments */
            aload 4 /* temps */
            aload 5 /* info */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 575
      StackMap locals:
      StackMap stack:
            return
        end local 6 // long maxOffset
        end local 5 // org.graalvm.compiler.lir.LIRFrameState info
        end local 4 // jdk.vm.ci.meta.Value[] temps
        end local 3 // jdk.vm.ci.meta.Value[] arguments
        end local 2 // jdk.vm.ci.meta.Value result
        end local 1 // org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    6     1    linkage  Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
            0    6     2     result  Ljdk/vm/ci/meta/Value;
            0    6     3  arguments  [Ljdk/vm/ci/meta/Value;
            0    6     4      temps  [Ljdk/vm/ci/meta/Value;
            0    6     5       info  Lorg/graalvm/compiler/lir/LIRFrameState;
            1    6     6  maxOffset  J
    MethodParameters:
           Name  Flags
      linkage    
      result     
      arguments  
      temps      
      info       

  public org.graalvm.compiler.lir.Variable emitByteSwap(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value input
         0: .line 579
            aload 0 /* this */
            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.core.amd64.AMD64LIRGenerator.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 580
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ByteSwapOp
            dup
            aload 2 /* result */
            aload 1 /* input */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ByteSwapOp.<init>:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 581
            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.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1   input  Ljdk/vm/ci/meta/Value;
            1    3     2  result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
       Name  Flags
      input  

  public org.graalvm.compiler.lir.Variable emitArrayCompareTo(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;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=12, locals=12, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaKind kind1
        start local 2 // jdk.vm.ci.meta.JavaKind kind2
        start local 3 // jdk.vm.ci.meta.Value array1
        start local 4 // jdk.vm.ci.meta.Value array2
        start local 5 // jdk.vm.ci.meta.Value length1
        start local 6 // jdk.vm.ci.meta.Value length2
         0: .line 586
            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;
            astore 7 /* resultKind */
        start local 7 // org.graalvm.compiler.core.common.LIRKind resultKind
         1: .line 587
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 7 /* resultKind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 8 /* raxRes */
        start local 8 // jdk.vm.ci.code.RegisterValue raxRes
         2: .line 588
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aload 5 /* length1 */
            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 9 /* cnt1 */
        start local 9 // jdk.vm.ci.code.RegisterValue cnt1
         3: .line 589
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aload 6 /* length2 */
            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 10 /* cnt2 */
        start local 10 // jdk.vm.ci.code.RegisterValue cnt2
         4: .line 590
            aload 0 /* this */
            aload 9 /* cnt1 */
            aload 5 /* length1 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         5: .line 591
            aload 0 /* this */
            aload 10 /* cnt2 */
            aload 6 /* length2 */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         6: .line 592
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ArrayCompareToOp
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
            aload 1 /* kind1 */
            aload 2 /* kind2 */
            aload 8 /* raxRes */
            aload 3 /* array1 */
            aload 4 /* array2 */
            aload 9 /* cnt1 */
            aload 10 /* cnt2 */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayCompareToOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 593
            aload 0 /* this */
            aload 7 /* resultKind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 11 /* result */
        start local 11 // org.graalvm.compiler.lir.Variable result
         8: .line 594
            aload 0 /* this */
            aload 11 /* result */
            aload 8 /* raxRes */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         9: .line 595
            aload 11 /* result */
            areturn
        end local 11 // org.graalvm.compiler.lir.Variable result
        end local 10 // jdk.vm.ci.code.RegisterValue cnt2
        end local 9 // jdk.vm.ci.code.RegisterValue cnt1
        end local 8 // jdk.vm.ci.code.RegisterValue raxRes
        end local 7 // org.graalvm.compiler.core.common.LIRKind resultKind
        end local 6 // jdk.vm.ci.meta.Value length2
        end local 5 // jdk.vm.ci.meta.Value length1
        end local 4 // jdk.vm.ci.meta.Value array2
        end local 3 // jdk.vm.ci.meta.Value array1
        end local 2 // jdk.vm.ci.meta.JavaKind kind2
        end local 1 // jdk.vm.ci.meta.JavaKind kind1
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   10     1       kind1  Ljdk/vm/ci/meta/JavaKind;
            0   10     2       kind2  Ljdk/vm/ci/meta/JavaKind;
            0   10     3      array1  Ljdk/vm/ci/meta/Value;
            0   10     4      array2  Ljdk/vm/ci/meta/Value;
            0   10     5     length1  Ljdk/vm/ci/meta/Value;
            0   10     6     length2  Ljdk/vm/ci/meta/Value;
            1   10     7  resultKind  Lorg/graalvm/compiler/core/common/LIRKind;
            2   10     8      raxRes  Ljdk/vm/ci/code/RegisterValue;
            3   10     9        cnt1  Ljdk/vm/ci/code/RegisterValue;
            4   10    10        cnt2  Ljdk/vm/ci/code/RegisterValue;
            8   10    11      result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      kind1    
      kind2    
      array1   
      array2   
      length1  
      length2  

  public org.graalvm.compiler.lir.Variable emitArrayEquals(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // jdk.vm.ci.meta.Value array1
        start local 3 // jdk.vm.ci.meta.Value array2
        start local 4 // jdk.vm.ci.meta.Value length
        start local 5 // boolean directPointers
         0: .line 600
            aload 0 /* this */
            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 org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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 601
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
            dup
            aload 0 /* this */
            aload 1 /* kind */
            aload 1 /* kind */
            aload 6 /* result */
            aload 2 /* array1 */
            aload 3 /* array2 */
            aload 4 /* length */
            iload 5 /* directPointers */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZI)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 602
            aload 6 /* result */
            areturn
        end local 6 // org.graalvm.compiler.lir.Variable result
        end local 5 // boolean directPointers
        end local 4 // jdk.vm.ci.meta.Value length
        end local 3 // jdk.vm.ci.meta.Value array2
        end local 2 // jdk.vm.ci.meta.Value array1
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1            kind  Ljdk/vm/ci/meta/JavaKind;
            0    3     2          array1  Ljdk/vm/ci/meta/Value;
            0    3     3          array2  Ljdk/vm/ci/meta/Value;
            0    3     4          length  Ljdk/vm/ci/meta/Value;
            0    3     5  directPointers  Z
            1    3     6          result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
                Name  Flags
      kind            
      array1          
      array2          
      length          
      directPointers  

  public org.graalvm.compiler.lir.Variable emitArrayEquals(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaKind kind1
        start local 2 // jdk.vm.ci.meta.JavaKind kind2
        start local 3 // jdk.vm.ci.meta.Value array1
        start local 4 // jdk.vm.ci.meta.Value array2
        start local 5 // jdk.vm.ci.meta.Value length
        start local 6 // boolean directPointers
         0: .line 607
            aload 0 /* this */
            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 org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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 608
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
            dup
            aload 0 /* this */
            aload 1 /* kind1 */
            aload 2 /* kind2 */
            aload 7 /* result */
            aload 3 /* array1 */
            aload 4 /* array2 */
            aload 5 /* length */
            iload 6 /* directPointers */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZI)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         2: .line 609
            aload 7 /* result */
            areturn
        end local 7 // org.graalvm.compiler.lir.Variable result
        end local 6 // boolean directPointers
        end local 5 // jdk.vm.ci.meta.Value length
        end local 4 // jdk.vm.ci.meta.Value array2
        end local 3 // jdk.vm.ci.meta.Value array1
        end local 2 // jdk.vm.ci.meta.JavaKind kind2
        end local 1 // jdk.vm.ci.meta.JavaKind kind1
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    3     1           kind1  Ljdk/vm/ci/meta/JavaKind;
            0    3     2           kind2  Ljdk/vm/ci/meta/JavaKind;
            0    3     3          array1  Ljdk/vm/ci/meta/Value;
            0    3     4          array2  Ljdk/vm/ci/meta/Value;
            0    3     5          length  Ljdk/vm/ci/meta/Value;
            0    3     6  directPointers  Z
            1    3     7          result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
                Name  Flags
      kind1           
      kind2           
      array1          
      array2          
      length          
      directPointers  

  protected int getMaxVectorSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
         0: .line 617
            iconst_m1
            ireturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;

  protected int getAVX3Threshold();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
         0: .line 624
            sipush 4096
            ireturn
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;

  public org.graalvm.compiler.lir.Variable emitArrayIndexOf(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[]);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=13, locals=9, args_size=8
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaKind arrayKind
        start local 2 // jdk.vm.ci.meta.JavaKind valueKind
        start local 3 // boolean findTwoConsecutive
        start local 4 // jdk.vm.ci.meta.Value arrayPointer
        start local 5 // jdk.vm.ci.meta.Value arrayLength
        start local 6 // jdk.vm.ci.meta.Value fromIndex
        start local 7 // jdk.vm.ci.meta.Value[] searchValues
         0: .line 629
            aload 0 /* this */
            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 org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 8 /* result */
        start local 8 // org.graalvm.compiler.lir.Variable result
         1: .line 630
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
            dup
            aload 1 /* arrayKind */
            aload 2 /* valueKind */
            iload 3 /* findTwoConsecutive */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
            aload 0 /* this */
            aload 8 /* result */
         2: .line 631
            aload 0 /* this */
            aload 4 /* arrayPointer */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 5 /* arrayLength */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            aload 6 /* fromIndex */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 7 /* searchValues */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.<init>:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZILorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)V
         3: .line 630
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         4: .line 632
            aload 8 /* result */
            areturn
        end local 8 // org.graalvm.compiler.lir.Variable result
        end local 7 // jdk.vm.ci.meta.Value[] searchValues
        end local 6 // jdk.vm.ci.meta.Value fromIndex
        end local 5 // jdk.vm.ci.meta.Value arrayLength
        end local 4 // jdk.vm.ci.meta.Value arrayPointer
        end local 3 // boolean findTwoConsecutive
        end local 2 // jdk.vm.ci.meta.JavaKind valueKind
        end local 1 // jdk.vm.ci.meta.JavaKind arrayKind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    5     1           arrayKind  Ljdk/vm/ci/meta/JavaKind;
            0    5     2           valueKind  Ljdk/vm/ci/meta/JavaKind;
            0    5     3  findTwoConsecutive  Z
            0    5     4        arrayPointer  Ljdk/vm/ci/meta/Value;
            0    5     5         arrayLength  Ljdk/vm/ci/meta/Value;
            0    5     6           fromIndex  Ljdk/vm/ci/meta/Value;
            0    5     7        searchValues  [Ljdk/vm/ci/meta/Value;
            1    5     8              result  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
                    Name  Flags
      arrayKind           
      valueKind           
      findTwoConsecutive  
      arrayPointer        
      arrayLength         
      fromIndex           
      searchValues        

  public void emitStringLatin1Inflate(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;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value src
        start local 2 // jdk.vm.ci.meta.Value dst
        start local 3 // jdk.vm.ci.meta.Value len
         0: .line 637
            getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
            aload 1 /* src */
            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 4 /* rsrc */
        start local 4 // jdk.vm.ci.code.RegisterValue rsrc
         1: .line 638
            getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
            aload 2 /* dst */
            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 5 /* rdst */
        start local 5 // jdk.vm.ci.code.RegisterValue rdst
         2: .line 639
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aload 3 /* len */
            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 6 /* rlen */
        start local 6 // jdk.vm.ci.code.RegisterValue rlen
         3: .line 641
            aload 0 /* this */
            aload 4 /* rsrc */
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         4: .line 642
            aload 0 /* this */
            aload 5 /* rdst */
            aload 2 /* dst */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         5: .line 643
            aload 0 /* this */
            aload 6 /* rlen */
            aload 3 /* len */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         6: .line 645
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64StringLatin1InflateOp
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
            aload 4 /* rsrc */
            aload 5 /* rdst */
            aload 6 /* rlen */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64StringLatin1InflateOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         7: .line 646
            return
        end local 6 // jdk.vm.ci.code.RegisterValue rlen
        end local 5 // jdk.vm.ci.code.RegisterValue rdst
        end local 4 // jdk.vm.ci.code.RegisterValue rsrc
        end local 3 // jdk.vm.ci.meta.Value len
        end local 2 // jdk.vm.ci.meta.Value dst
        end local 1 // jdk.vm.ci.meta.Value src
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    8     1   src  Ljdk/vm/ci/meta/Value;
            0    8     2   dst  Ljdk/vm/ci/meta/Value;
            0    8     3   len  Ljdk/vm/ci/meta/Value;
            1    8     4  rsrc  Ljdk/vm/ci/code/RegisterValue;
            2    8     5  rdst  Ljdk/vm/ci/code/RegisterValue;
            3    8     6  rlen  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
      Name  Flags
      src   
      dst   
      len   

  public org.graalvm.compiler.lir.Variable emitStringUTF16Compress(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=9, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value src
        start local 2 // jdk.vm.ci.meta.Value dst
        start local 3 // jdk.vm.ci.meta.Value len
         0: .line 650
            getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
            aload 1 /* src */
            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 4 /* rsrc */
        start local 4 // jdk.vm.ci.code.RegisterValue rsrc
         1: .line 651
            getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
            aload 2 /* dst */
            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 5 /* rdst */
        start local 5 // jdk.vm.ci.code.RegisterValue rdst
         2: .line 652
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aload 3 /* len */
            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 6 /* rlen */
        start local 6 // jdk.vm.ci.code.RegisterValue rlen
         3: .line 654
            aload 0 /* this */
            aload 4 /* rsrc */
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         4: .line 655
            aload 0 /* this */
            aload 5 /* rdst */
            aload 2 /* dst */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         5: .line 656
            aload 0 /* this */
            aload 6 /* rlen */
            aload 3 /* len */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         6: .line 658
            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;
            astore 7 /* reskind */
        start local 7 // org.graalvm.compiler.core.common.LIRKind reskind
         7: .line 659
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 7 /* reskind */
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 8 /* rres */
        start local 8 // jdk.vm.ci.code.RegisterValue rres
         8: .line 661
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64StringUTF16CompressOp
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
            aload 8 /* rres */
            aload 4 /* rsrc */
            aload 5 /* rdst */
            aload 6 /* rlen */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64StringUTF16CompressOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         9: .line 663
            aload 0 /* this */
            aload 7 /* reskind */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 9 /* res */
        start local 9 // org.graalvm.compiler.lir.Variable res
        10: .line 664
            aload 0 /* this */
            aload 9 /* res */
            aload 8 /* rres */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        11: .line 665
            aload 9 /* res */
            areturn
        end local 9 // org.graalvm.compiler.lir.Variable res
        end local 8 // jdk.vm.ci.code.RegisterValue rres
        end local 7 // org.graalvm.compiler.core.common.LIRKind reskind
        end local 6 // jdk.vm.ci.code.RegisterValue rlen
        end local 5 // jdk.vm.ci.code.RegisterValue rdst
        end local 4 // jdk.vm.ci.code.RegisterValue rsrc
        end local 3 // jdk.vm.ci.meta.Value len
        end local 2 // jdk.vm.ci.meta.Value dst
        end local 1 // jdk.vm.ci.meta.Value src
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   12     1      src  Ljdk/vm/ci/meta/Value;
            0   12     2      dst  Ljdk/vm/ci/meta/Value;
            0   12     3      len  Ljdk/vm/ci/meta/Value;
            1   12     4     rsrc  Ljdk/vm/ci/code/RegisterValue;
            2   12     5     rdst  Ljdk/vm/ci/code/RegisterValue;
            3   12     6     rlen  Ljdk/vm/ci/code/RegisterValue;
            7   12     7  reskind  Lorg/graalvm/compiler/core/common/LIRKind;
            8   12     8     rres  Ljdk/vm/ci/code/RegisterValue;
           10   12     9      res  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      src   
      dst   
      len   

  public void emitReturn(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // jdk.vm.ci.meta.Value input
         0: .line 670
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            astore 3 /* operand */
        start local 3 // jdk.vm.ci.meta.AllocatableValue operand
         1: .line 671
            aload 2 /* input */
            ifnull 4
         2: .line 672
            aload 0 /* this */
            aload 1 /* kind */
            aload 2 /* input */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.resultOperandFor:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 3 /* operand */
         3: .line 673
            aload 0 /* this */
            aload 3 /* operand */
            aload 2 /* input */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         4: .line 675
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp
            dup
            aload 3 /* operand */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp.<init>:(Ljdk/vm/ci/meta/Value;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         5: .line 676
            return
        end local 3 // jdk.vm.ci.meta.AllocatableValue operand
        end local 2 // jdk.vm.ci.meta.Value input
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    6     1     kind  Ljdk/vm/ci/meta/JavaKind;
            0    6     2    input  Ljdk/vm/ci/meta/Value;
            1    6     3  operand  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
       Name  Flags
      kind   
      input  

  protected org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp createStrategySwitchOp(org.graalvm.compiler.lir.SwitchStrategy, org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$StrategySwitchOp;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.lir.SwitchStrategy strategy
        start local 2 // org.graalvm.compiler.lir.LabelRef[] keyTargets
        start local 3 // org.graalvm.compiler.lir.LabelRef defaultTarget
        start local 4 // org.graalvm.compiler.lir.Variable key
        start local 5 // jdk.vm.ci.meta.AllocatableValue temp
         0: .line 679
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp
            dup
            aload 1 /* strategy */
            aload 2 /* keyTargets */
            aload 3 /* defaultTarget */
            aload 4 /* key */
            aload 5 /* temp */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp.<init>:(Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
            areturn
        end local 5 // jdk.vm.ci.meta.AllocatableValue temp
        end local 4 // org.graalvm.compiler.lir.Variable key
        end local 3 // org.graalvm.compiler.lir.LabelRef defaultTarget
        end local 2 // org.graalvm.compiler.lir.LabelRef[] keyTargets
        end local 1 // org.graalvm.compiler.lir.SwitchStrategy strategy
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1       strategy  Lorg/graalvm/compiler/lir/SwitchStrategy;
            0    1     2     keyTargets  [Lorg/graalvm/compiler/lir/LabelRef;
            0    1     3  defaultTarget  Lorg/graalvm/compiler/lir/LabelRef;
            0    1     4            key  Lorg/graalvm/compiler/lir/Variable;
            0    1     5           temp  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
               Name  Flags
      strategy       
      keyTargets     
      defaultTarget  
      key            
      temp           

  public void emitStrategySwitch(org.graalvm.compiler.lir.SwitchStrategy, org.graalvm.compiler.lir.Variable, org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LabelRef);
    descriptor: (Lorg/graalvm/compiler/lir/SwitchStrategy;Lorg/graalvm/compiler/lir/Variable;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.lir.SwitchStrategy strategy
        start local 2 // org.graalvm.compiler.lir.Variable key
        start local 3 // org.graalvm.compiler.lir.LabelRef[] keyTargets
        start local 4 // org.graalvm.compiler.lir.LabelRef defaultTarget
         0: .line 685
            aload 2 /* key */
            invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* needsTemp */
        start local 5 // boolean needsTemp
         3: .line 686
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* strategy */
            aload 3 /* keyTargets */
            aload 4 /* defaultTarget */
            aload 2 /* key */
            iload 5 /* needsTemp */
            ifeq 4
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            goto 5
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.Variable org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef int
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.Variable
         4: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
      StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.Variable org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef int
      StackMap stack: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
         5: invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.createStrategySwitchOp:(Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$StrategySwitchOp;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         6: .line 687
            return
        end local 5 // boolean needsTemp
        end local 4 // org.graalvm.compiler.lir.LabelRef defaultTarget
        end local 3 // org.graalvm.compiler.lir.LabelRef[] keyTargets
        end local 2 // org.graalvm.compiler.lir.Variable key
        end local 1 // org.graalvm.compiler.lir.SwitchStrategy strategy
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    7     1       strategy  Lorg/graalvm/compiler/lir/SwitchStrategy;
            0    7     2            key  Lorg/graalvm/compiler/lir/Variable;
            0    7     3     keyTargets  [Lorg/graalvm/compiler/lir/LabelRef;
            0    7     4  defaultTarget  Lorg/graalvm/compiler/lir/LabelRef;
            3    7     5      needsTemp  Z
    MethodParameters:
               Name  Flags
      strategy       
      key            
      keyTargets     
      defaultTarget  

  protected void emitTableSwitch(int, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef[], jdk.vm.ci.meta.Value);
    descriptor: (ILorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // int lowKey
        start local 2 // org.graalvm.compiler.lir.LabelRef defaultTarget
        start local 3 // org.graalvm.compiler.lir.LabelRef[] targets
        start local 4 // jdk.vm.ci.meta.Value key
         0: .line 691
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp
            dup
            iload 1 /* lowKey */
            aload 2 /* defaultTarget */
            aload 3 /* targets */
            aload 4 /* key */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp.<init>:(ILorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         1: .line 692
            return
        end local 4 // jdk.vm.ci.meta.Value key
        end local 3 // org.graalvm.compiler.lir.LabelRef[] targets
        end local 2 // org.graalvm.compiler.lir.LabelRef defaultTarget
        end local 1 // int lowKey
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    2     1         lowKey  I
            0    2     2  defaultTarget  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     3        targets  [Lorg/graalvm/compiler/lir/LabelRef;
            0    2     4            key  Ljdk/vm/ci/meta/Value;
    MethodParameters:
               Name  Flags
      lowKey         
      defaultTarget  
      targets        
      key            

  protected java.util.Optional<org.graalvm.compiler.lir.hashing.IntHasher> hasherFor(jdk.vm.ci.meta.JavaConstant[], double);
    descriptor: ([Ljdk/vm/ci/meta/JavaConstant;D)Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.JavaConstant[] keyConstants
        start local 2 // double minDensity
         0: .line 696
            aload 1 /* keyConstants */
            arraylength
            newarray 10
            astore 4 /* keys */
        start local 4 // int[] keys
         1: .line 697
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 698
      StackMap locals: int[] int
      StackMap stack:
            aload 4 /* keys */
            iload 5 /* i */
            aload 1 /* keyConstants */
            iload 5 /* i */
            aaload
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iastore
         4: .line 697
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            aload 1 /* keyConstants */
            arraylength
            if_icmplt 3
        end local 5 // int i
         6: .line 700
            aload 4 /* keys */
            invokestatic org.graalvm.compiler.lir.hashing.IntHasher.forKeys:([I)Ljava/util/Optional;
            areturn
        end local 4 // int[] keys
        end local 2 // double minDensity
        end local 1 // jdk.vm.ci.meta.JavaConstant[] keyConstants
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    7     1  keyConstants  [Ljdk/vm/ci/meta/JavaConstant;
            0    7     2    minDensity  D
            1    7     4          keys  [I
            2    6     5             i  I
    Signature: ([Ljdk/vm/ci/meta/JavaConstant;D)Ljava/util/Optional<Lorg/graalvm/compiler/lir/hashing/IntHasher;>;
    MethodParameters:
              Name  Flags
      keyConstants  
      minDensity    

  protected void emitHashTableSwitch(org.graalvm.compiler.lir.hashing.IntHasher, jdk.vm.ci.meta.JavaConstant[], org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef[], jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/lir/hashing/IntHasher;[Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=6
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // org.graalvm.compiler.lir.hashing.IntHasher hasher
        start local 2 // jdk.vm.ci.meta.JavaConstant[] keys
        start local 3 // org.graalvm.compiler.lir.LabelRef defaultTarget
        start local 4 // org.graalvm.compiler.lir.LabelRef[] targets
        start local 5 // jdk.vm.ci.meta.Value value
         0: .line 705
            aload 5 /* value */
            astore 6 /* hash */
        start local 6 // jdk.vm.ci.meta.Value hash
         1: .line 706
            aload 1 /* hasher */
            getfield org.graalvm.compiler.lir.hashing.IntHasher.factor:S
            iconst_1
            if_icmple 4
         2: .line 707
            aload 0 /* this */
            aload 1 /* hasher */
            getfield org.graalvm.compiler.lir.hashing.IntHasher.factor:S
            invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
            astore 7 /* factor */
        start local 7 // jdk.vm.ci.meta.Value factor
         3: .line 708
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 6 /* hash */
            aload 7 /* factor */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitMul:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
            astore 6 /* hash */
        end local 7 // jdk.vm.ci.meta.Value factor
         4: .line 710
      StackMap locals: jdk.vm.ci.meta.Value
      StackMap stack:
            aload 1 /* hasher */
            getfield org.graalvm.compiler.lir.hashing.IntHasher.shift:B
            ifle 7
         5: .line 711
            aload 0 /* this */
            aload 1 /* hasher */
            getfield org.graalvm.compiler.lir.hashing.IntHasher.shift:B
            invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
            astore 7 /* shift */
        start local 7 // jdk.vm.ci.meta.Value shift
         6: .line 712
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 6 /* hash */
            aload 7 /* shift */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitShr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            astore 6 /* hash */
        end local 7 // jdk.vm.ci.meta.Value shift
         7: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* hasher */
            getfield org.graalvm.compiler.lir.hashing.IntHasher.cardinality:I
            iconst_1
            isub
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
            astore 7 /* cardinalityAnd */
        start local 7 // jdk.vm.ci.meta.Value cardinalityAnd
         8: .line 715
            aload 0 /* this */
            getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
            aload 6 /* hash */
            aload 7 /* cardinalityAnd */
            invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAnd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            astore 6 /* hash */
         9: .line 717
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 8 /* scratch */
        start local 8 // org.graalvm.compiler.lir.Variable scratch
        10: .line 718
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 9 /* entryScratch */
        start local 9 // org.graalvm.compiler.lir.Variable entryScratch
        11: .line 719
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp
            dup
            aload 2 /* keys */
            aload 3 /* defaultTarget */
            aload 4 /* targets */
            aload 5 /* value */
            aload 6 /* hash */
            aload 8 /* scratch */
            aload 9 /* entryScratch */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp.<init>:([Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
        12: .line 720
            return
        end local 9 // org.graalvm.compiler.lir.Variable entryScratch
        end local 8 // org.graalvm.compiler.lir.Variable scratch
        end local 7 // jdk.vm.ci.meta.Value cardinalityAnd
        end local 6 // jdk.vm.ci.meta.Value hash
        end local 5 // jdk.vm.ci.meta.Value value
        end local 4 // org.graalvm.compiler.lir.LabelRef[] targets
        end local 3 // org.graalvm.compiler.lir.LabelRef defaultTarget
        end local 2 // jdk.vm.ci.meta.JavaConstant[] keys
        end local 1 // org.graalvm.compiler.lir.hashing.IntHasher hasher
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0   13     1          hasher  Lorg/graalvm/compiler/lir/hashing/IntHasher;
            0   13     2            keys  [Ljdk/vm/ci/meta/JavaConstant;
            0   13     3   defaultTarget  Lorg/graalvm/compiler/lir/LabelRef;
            0   13     4         targets  [Lorg/graalvm/compiler/lir/LabelRef;
            0   13     5           value  Ljdk/vm/ci/meta/Value;
            1   13     6            hash  Ljdk/vm/ci/meta/Value;
            3    4     7          factor  Ljdk/vm/ci/meta/Value;
            6    7     7           shift  Ljdk/vm/ci/meta/Value;
            8   13     7  cardinalityAnd  Ljdk/vm/ci/meta/Value;
           10   13     8         scratch  Lorg/graalvm/compiler/lir/Variable;
           11   13     9    entryScratch  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
               Name  Flags
      hasher         
      keys           
      defaultTarget  
      targets        
      value          

  public void emitPause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
         0: .line 724
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64PauseOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64PauseOp.<init>:()V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         1: .line 725
            return
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;

  public org.graalvm.compiler.lir.StandardOp$ZapRegistersOp createZapRegisters(jdk.vm.ci.code.Register[], jdk.vm.ci.meta.JavaConstant[]);
    descriptor: ([Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/StandardOp$ZapRegistersOp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.code.Register[] zappedRegisters
        start local 2 // jdk.vm.ci.meta.JavaConstant[] zapValues
         0: .line 729
            new org.graalvm.compiler.lir.amd64.AMD64ZapRegistersOp
            dup
            aload 1 /* zappedRegisters */
            aload 2 /* zapValues */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ZapRegistersOp.<init>:([Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/meta/JavaConstant;)V
            areturn
        end local 2 // jdk.vm.ci.meta.JavaConstant[] zapValues
        end local 1 // jdk.vm.ci.code.Register[] zappedRegisters
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1  zappedRegisters  [Ljdk/vm/ci/code/Register;
            0    1     2        zapValues  [Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
                 Name  Flags
      zappedRegisters  
      zapValues        

  public org.graalvm.compiler.lir.LIRInstruction createZapArgumentSpace(jdk.vm.ci.code.StackSlot[], jdk.vm.ci.meta.JavaConstant[]);
    descriptor: ([Ljdk/vm/ci/code/StackSlot;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/LIRInstruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.code.StackSlot[] zappedStack
        start local 2 // jdk.vm.ci.meta.JavaConstant[] zapValues
         0: .line 734
            new org.graalvm.compiler.lir.amd64.AMD64ZapStackOp
            dup
            aload 1 /* zappedStack */
            aload 2 /* zapValues */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ZapStackOp.<init>:([Ljdk/vm/ci/code/StackSlot;[Ljdk/vm/ci/meta/JavaConstant;)V
            areturn
        end local 2 // jdk.vm.ci.meta.JavaConstant[] zapValues
        end local 1 // jdk.vm.ci.code.StackSlot[] zappedStack
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    1     1  zappedStack  [Ljdk/vm/ci/code/StackSlot;
            0    1     2    zapValues  [Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
             Name  Flags
      zappedStack  
      zapValues    

  public void emitSpeculationFence();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
         0: .line 739
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64LFenceOp
            dup
            invokespecial org.graalvm.compiler.lir.amd64.AMD64LFenceOp.<init>:()V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         1: .line 740
            return
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;

  public void emitZeroMemory(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
        start local 1 // jdk.vm.ci.meta.Value address
        start local 2 // jdk.vm.ci.meta.Value length
        start local 3 // boolean isAligned
         0: .line 744
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aload 2 /* length */
            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 4 /* lengthReg */
        start local 4 // jdk.vm.ci.code.RegisterValue lengthReg
         1: .line 745
            aload 0 /* this */
            aload 4 /* lengthReg */
            aload 2 /* length */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
         2: .line 746
            aload 0 /* this */
            new org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp
            dup
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
            aload 4 /* lengthReg */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/code/RegisterValue;)V
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
            pop
         3: .line 747
            return
        end local 4 // jdk.vm.ci.code.RegisterValue lengthReg
        end local 3 // boolean isAligned
        end local 2 // jdk.vm.ci.meta.Value length
        end local 1 // jdk.vm.ci.meta.Value address
        end local 0 // org.graalvm.compiler.core.amd64.AMD64LIRGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            0    4     1    address  Ljdk/vm/ci/meta/Value;
            0    4     2     length  Ljdk/vm/ci/meta/Value;
            0    4     3  isAligned  Z
            1    4     4  lengthReg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
           Name  Flags
      address    
      length     
      isAligned  

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 131
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.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.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.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 jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.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 jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.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 jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[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

  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 131
            getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$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.AMD64LIRGenerator.$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
}
SourceFile: "AMD64LIRGenerator.java"
InnerClasses:
  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 AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp 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 JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
  public abstract ZapRegistersOp = org.graalvm.compiler.lir.StandardOp$ZapRegistersOp of org.graalvm.compiler.lir.StandardOp
  public ConstOp = org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp of org.graalvm.compiler.lir.amd64.AMD64Binary
  public ConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public MemoryRMOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public Op = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
  public final DirectFarForeignCallOp = org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp of org.graalvm.compiler.lir.amd64.AMD64Call
  public final DirectNearForeignCallOp = org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp of org.graalvm.compiler.lir.amd64.AMD64Call
  public BranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public CmpBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public CmpConstBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public CmpDataBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final CondMoveOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final CondSetOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final FloatBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final FloatCondMoveOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final FloatCondSetOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final HashTableSwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final ReturnOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public StrategySwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final TableSwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public TestBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public TestByteBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public TestConstBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
  public final AtomicReadAndAddOp = org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public final AtomicReadAndWriteOp = org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public final CompareAndSwapOp = org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public final MembarOp = org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public final NullCheckOp = org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public final StackLeaOp = org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp of org.graalvm.compiler.lir.amd64.AMD64Move
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool