public class org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler extends org.graalvm.compiler.asm.aarch64.AArch64Assembler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  super_class: org.graalvm.compiler.asm.aarch64.AArch64Assembler
{
  private final org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister[] scratchRegister;
    descriptor: [Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int nextFreeScratchRegister;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  public void <init>(jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.TargetDescription target
         0: .line 57
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 51
            aload 0 /* this */
            iconst_2
            anewarray org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            iconst_0
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r8:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;)V
            aastore
            dup
            iconst_1
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r9:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;)V
            aastore
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.scratchRegister:[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
         2: .line 54
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
         3: .line 58
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1  target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
        Name  Flags
      target  

  public org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister getScratchRegister();
    descriptor: ()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 79
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.scratchRegister:[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
            aaload
            areturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public static org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan generateAddressPlan(long, boolean, int);
    descriptor: (JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // long displacement
        start local 2 // boolean hasIndexRegister
        start local 3 // int transferSize
         0: .line 131
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 3 /* transferSize */
            ifeq 1
            iload 3 /* transferSize */
            iconst_1
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_2
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_4
            if_icmpeq 1
            iload 3 /* transferSize */
            bipush 8
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 132
      StackMap locals:
      StackMap stack:
            iload 3 /* transferSize */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* indexScaled */
        start local 4 // boolean indexScaled
         4: .line 133
            iload 3 /* transferSize */
            invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
            istore 5 /* log2Scale */
        start local 5 // int log2Scale
         5: .line 134
            lload 0 /* displacement */
            iload 5 /* log2Scale */
            lshr
            lstore 6 /* scaledDisplacement */
        start local 6 // long scaledDisplacement
         6: .line 135
            iload 4 /* indexScaled */
            ifeq 7
            lload 0 /* displacement */
            iload 3 /* transferSize */
            iconst_1
            isub
            i2l
            land
            lconst_0
            lcmp
            ifne 7
            iconst_1
            goto 8
      StackMap locals: int int long
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* displacementScalable */
        start local 8 // boolean displacementScalable
         9: .line 136
            lload 0 /* displacement */
            lconst_0
            lcmp
            ifne 11
        10: .line 138
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        11: .line 140
      StackMap locals: int
      StackMap stack:
            iload 2 /* hasIndexRegister */
            ifeq 21
        12: .line 141
            iload 8 /* displacementScalable */
            ifeq 17
        13: .line 142
            lload 6 /* scaledDisplacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        16: .line 143
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        17: .line 145
      StackMap locals:
      StackMap stack:
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 18
            iconst_0
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        20: .line 146
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        21: .line 149
      StackMap locals:
      StackMap stack:
            iload 8 /* displacementScalable */
            ifeq 23
            bipush 12
            lload 6 /* scaledDisplacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(IJ)Z
            ifeq 23
        22: .line 150
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        23: .line 151
      StackMap locals:
      StackMap stack:
            bipush 9
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
            ifeq 25
        24: .line 152
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        25: .line 154
      StackMap locals:
      StackMap stack:
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_1
      StackMap locals:
      StackMap stack: int
        27: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        28: .line 155
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        end local 8 // boolean displacementScalable
        end local 6 // long scaledDisplacement
        end local 5 // int log2Scale
        end local 4 // boolean indexScaled
        end local 3 // int transferSize
        end local 2 // boolean hasIndexRegister
        end local 0 // long displacement
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   29     0          displacement  J
            0   29     2      hasIndexRegister  Z
            0   29     3          transferSize  I
            4   29     4           indexScaled  Z
            5   29     5             log2Scale  I
            6   29     6    scaledDisplacement  J
            9   29     8  displacementScalable  Z
           16   17     9          needsScratch  Z
           20   21     9          needsScratch  Z
           28   29     9          needsScratch  Z
    MethodParameters:
                  Name  Flags
      displacement      
      hasIndexRegister  
      transferSize      

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, jdk.vm.ci.code.Register, boolean, int, jdk.vm.ci.code.Register, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=18, args_size=8
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // jdk.vm.ci.code.Register index
        start local 5 // boolean signExtendIndex
        start local 6 // int transferSize
        start local 7 // jdk.vm.ci.code.Register additionalReg
        start local 8 // boolean allowOverwrite
         0: .line 181
            lload 2 /* displacement */
            aload 4 /* index */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: long
         1: iconst_1
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int
      StackMap stack: long int
         2: iload 6 /* transferSize */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 9 /* plan */
        start local 9 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
         3: .line 182
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 4
            iload 8 /* allowOverwrite */
            ifne 4
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 7 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.workPlan:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 183
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 5
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 5
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 7 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 184
      StackMap locals:
      StackMap stack:
            iload 6 /* transferSize */
            invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
            istore 10 /* log2Scale */
        start local 10 // int log2Scale
         6: .line 185
            lload 2 /* displacement */
            iload 10 /* log2Scale */
            lshr
            lstore 11 /* scaledDisplacement */
        start local 11 // long scaledDisplacement
         7: .line 186
            aload 4 /* index */
            astore 13 /* newIndex */
        start local 13 // jdk.vm.ci.code.Register newIndex
         8: .line 187
            aload 1 /* base */
            astore 14 /* newBase */
        start local 14 // jdk.vm.ci.code.Register newBase
         9: .line 189
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:()[I
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.workPlan:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 10
                    2: 15
                    3: 31
              default: 43
          }
        10: .line 191
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.addressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 13
        11: .line 192
            lload 11 /* scaledDisplacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        12: .line 193
            goto 44
        end local 15 // int immediate
        13: .line 194
      StackMap locals:
      StackMap stack:
            lload 2 /* displacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        14: .line 196
            goto 44
        end local 15 // int immediate
        15: .line 198
      StackMap locals:
      StackMap stack:
            iload 8 /* allowOverwrite */
            ifeq 16
            aload 4 /* index */
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 7 /* additionalReg */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        17: astore 13 /* newIndex */
        18: .line 199
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 20
            aload 13 /* newIndex */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 19
            aload 13 /* newIndex */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 20
      StackMap locals:
      StackMap stack:
        19: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 200
      StackMap locals:
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 26
        21: .line 201
            aload 0 /* this */
            aload 7 /* additionalReg */
            lload 11 /* scaledDisplacement */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
        22: .line 202
            aload 0 /* this */
            iload 5 /* signExtendIndex */
            ifeq 23
            bipush 32
            goto 24
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
        23: bipush 64
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int
        24: aload 13 /* newIndex */
            aload 4 /* index */
            aload 7 /* additionalReg */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        25: .line 203
            goto 29
        26: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* signExtendIndex */
            ifeq 27
            bipush 32
            goto 28
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
        27: bipush 64
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int
        28: aload 13 /* newIndex */
            aload 4 /* index */
            lload 11 /* scaledDisplacement */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        29: .line 206
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        30: .line 207
            goto 44
        end local 15 // int immediate
        31: .line 209
      StackMap locals:
      StackMap stack:
            iload 8 /* allowOverwrite */
            ifeq 32
            aload 1 /* base */
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 7 /* additionalReg */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        33: astore 14 /* newBase */
        34: .line 210
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 36
            aload 14 /* newBase */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 35
            aload 14 /* newBase */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 36
      StackMap locals:
      StackMap stack:
        35: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 211
      StackMap locals:
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 40
        37: .line 212
            aload 0 /* this */
            aload 7 /* additionalReg */
            lload 2 /* displacement */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
        38: .line 213
            aload 0 /* this */
            bipush 64
            aload 14 /* newBase */
            aload 1 /* base */
            aload 7 /* additionalReg */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        39: .line 214
            goto 41
        40: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 14 /* newBase */
            aload 1 /* base */
            lload 2 /* displacement */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        41: .line 217
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        42: .line 218
            goto 44
        end local 15 // int immediate
        43: .line 220
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 15 // int immediate
        44: .line 222
      StackMap locals: int
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.addressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        start local 16 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
        45: .line 223
            aconst_null
            astore 17 /* extendType */
        start local 17 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType extendType
        46: .line 224
            aload 16 /* addressingMode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 53
        47: .line 225
            aload 13 /* newIndex */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 50
        48: .line 226
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        49: .line 227
            goto 53
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack:
        50: iload 5 /* signExtendIndex */
            ifeq 53
        51: .line 228
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        52: .line 229
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            astore 17 /* extendType */
        53: .line 232
      StackMap locals:
      StackMap stack:
            aload 16 /* addressingMode */
            aload 14 /* newBase */
            aload 13 /* newIndex */
            iload 15 /* immediate */
            iload 6 /* transferSize */
            ifeq 54
            iconst_1
            goto 55
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
        54: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode jdk.vm.ci.code.Register jdk.vm.ci.code.Register int int
        55: aload 17 /* extendType */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createAddress:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZLorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 17 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType extendType
        end local 16 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
        end local 15 // int immediate
        end local 14 // jdk.vm.ci.code.Register newBase
        end local 13 // jdk.vm.ci.code.Register newIndex
        end local 11 // long scaledDisplacement
        end local 10 // int log2Scale
        end local 9 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
        end local 8 // boolean allowOverwrite
        end local 7 // jdk.vm.ci.code.Register additionalReg
        end local 6 // int transferSize
        end local 5 // boolean signExtendIndex
        end local 4 // jdk.vm.ci.code.Register index
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   56     0                this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   56     1                base  Ljdk/vm/ci/code/Register;
            0   56     2        displacement  J
            0   56     4               index  Ljdk/vm/ci/code/Register;
            0   56     5     signExtendIndex  Z
            0   56     6        transferSize  I
            0   56     7       additionalReg  Ljdk/vm/ci/code/Register;
            0   56     8      allowOverwrite  Z
            3   56     9                plan  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            6   56    10           log2Scale  I
            7   56    11  scaledDisplacement  J
            8   56    13            newIndex  Ljdk/vm/ci/code/Register;
            9   56    14             newBase  Ljdk/vm/ci/code/Register;
           12   13    15           immediate  I
           14   15    15           immediate  I
           30   31    15           immediate  I
           42   43    15           immediate  I
           44   56    15           immediate  I
           45   56    16      addressingMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
           46   56    17          extendType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
    MethodParameters:
                 Name  Flags
      base             
      displacement     
      index            
      signExtendIndex  
      transferSize     
      additionalReg    
      allowOverwrite   

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, jdk.vm.ci.code.Register, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;IZ)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // jdk.vm.ci.code.Register additionalReg
        start local 5 // int transferSize
        start local 6 // boolean allowOverwrite
         0: .line 250
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 4 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* base */
            lload 2 /* displacement */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iload 5 /* transferSize */
            aload 4 /* additionalReg */
            iload 6 /* allowOverwrite */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 6 // boolean allowOverwrite
        end local 5 // int transferSize
        end local 4 // jdk.vm.ci.code.Register additionalReg
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1            base  Ljdk/vm/ci/code/Register;
            0    2     2    displacement  J
            0    2     4   additionalReg  Ljdk/vm/ci/code/Register;
            0    2     5    transferSize  I
            0    2     6  allowOverwrite  Z
    MethodParameters:
                Name  Flags
      base            
      displacement    
      additionalReg   
      transferSize    
      allowOverwrite  

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, int);
    descriptor: (Ljdk/vm/ci/code/Register;JI)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // int transferSize
         0: .line 265
            aload 0 /* this */
            aload 1 /* base */
            lload 2 /* displacement */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iload 4 /* transferSize */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 4 // int transferSize
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1          base  Ljdk/vm/ci/code/Register;
            0    1     2  displacement  J
            0    1     4  transferSize  I
    MethodParameters:
              Name  Flags
      base          
      displacement  
      transferSize  

  public void loadAddress(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address, int);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        start local 3 // int transferSize
         0: .line 281
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 3 /* transferSize */
            iconst_1
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_2
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_4
            if_icmpeq 1
            iload 3 /* transferSize */
            bipush 8
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 282
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 1 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 283
      StackMap locals:
      StackMap stack:
            iload 3 /* transferSize */
            invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
            istore 4 /* shiftAmt */
        start local 4 // int shiftAmt
         3: .line 284
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:()[I
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 4
                    2: 17
                    3: 30
                    4: 20
                    5: 24
                    6: 28
              default: 32
          }
         4: .line 286
      StackMap locals: int
      StackMap stack:
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            iload 4 /* shiftAmt */
            ishl
            istore 5 /* scaledImmediate */
        start local 5 // int scaledImmediate
         5: .line 287
            iload 5 /* scaledImmediate */
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* lowerBits */
        start local 6 // int lowerBits
         6: .line 288
            iload 5 /* scaledImmediate */
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_m1
            ixor
            iand
            istore 7 /* higherBits */
        start local 7 // int higherBits
         7: .line 289
            iconst_1
            istore 8 /* firstAdd */
        start local 8 // boolean firstAdd
         8: .line 290
            iload 6 /* lowerBits */
            ifeq 11
         9: .line 291
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            iload 6 /* lowerBits */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        10: .line 292
            iconst_0
            istore 8 /* firstAdd */
        11: .line 294
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int int int int int
      StackMap stack:
            iload 7 /* higherBits */
            ifeq 33
        12: .line 295
            iload 8 /* firstAdd */
            ifeq 13
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1 /* dst */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        14: astore 9 /* src */
        start local 9 // jdk.vm.ci.code.Register src
        15: .line 296
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 9 /* src */
            iload 7 /* higherBits */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        end local 9 // jdk.vm.ci.code.Register src
        16: .line 298
            goto 33
        end local 8 // boolean firstAdd
        end local 7 // int higherBits
        end local 6 // int lowerBits
        end local 5 // int scaledImmediate
        17: .line 300
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack:
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            istore 9 /* immediate */
        start local 9 // int immediate
        18: .line 301
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            iload 9 /* immediate */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        19: .line 302
            goto 33
        end local 9 // int immediate
        20: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isScaled:()Z
            ifeq 21
            iload 4 /* shiftAmt */
            goto 22
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType
        21: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType int
        22: invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
        23: .line 305
            goto 33
        24: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getExtendType:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isScaled:()Z
            ifeq 25
            iload 4 /* shiftAmt */
            goto 26
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
        25: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType int
        26: invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
        27: .line 308
            goto 33
        28: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;I)V
        29: .line 311
            goto 33
        30: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movx:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        31: .line 314
            goto 33
        32: .line 316
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        33: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int shiftAmt
        end local 3 // int transferSize
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   34     1              dst  Ljdk/vm/ci/code/Register;
            0   34     2          address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            0   34     3     transferSize  I
            3   34     4         shiftAmt  I
            5   17     5  scaledImmediate  I
            6   17     6        lowerBits  I
            7   17     7       higherBits  I
            8   17     8         firstAdd  Z
           15   16     9              src  Ljdk/vm/ci/code/Register;
           18   20     9        immediate  I
    MethodParameters:
              Name  Flags
      dst           
      address       
      transferSize  

  public void movx(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register src
         0: .line 321
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 322
            return
        end local 2 // jdk.vm.ci.code.Register src
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   dst  Ljdk/vm/ci/code/Register;
            0    2     2   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dst   
      src   

  public void mov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 325
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 327
            goto 4
         3: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.or:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  private void mov64(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 340
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         1: .line 341
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         2: goto 12
         3: .line 342
      StackMap locals: int int
      StackMap stack:
            lload 2 /* imm */
            iload 5 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* chunk */
        start local 6 // int chunk
         4: .line 343
            iload 6 /* chunk */
            ifne 6
         5: .line 344
            goto 11
         6: .line 346
      StackMap locals: int
      StackMap stack:
            iload 4 /* firstMove */
            ifeq 10
         7: .line 347
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movz:(ILjdk/vm/ci/code/Register;II)V
         8: .line 348
            iconst_0
            istore 4 /* firstMove */
         9: .line 349
            goto 11
        10: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movk:(ILjdk/vm/ci/code/Register;II)V
        end local 6 // int chunk
        11: .line 341
      StackMap locals:
      StackMap stack:
            iinc 5 /* offset */ 16
      StackMap locals:
      StackMap stack:
        12: iload 5 /* offset */
            bipush 64
            if_icmplt 3
        end local 5 // int offset
        13: .line 353
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 14
            iload 4 /* firstMove */
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstMove
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   15     1        dst  Ljdk/vm/ci/code/Register;
            0   15     2        imm  J
            1   15     4  firstMove  Z
            2   13     5     offset  I
            4   11     6      chunk  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void mov(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 363
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 364
      StackMap locals:
      StackMap stack:
            lload 2 /* imm */
            lconst_0
            lcmp
            ifne 4
         2: .line 365
            aload 0 /* this */
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movx:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 366
            goto 12
      StackMap locals:
      StackMap stack:
         4: iconst_1
            lload 2 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 7
         5: .line 367
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            lload 2 /* imm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.or:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         6: .line 368
            goto 12
      StackMap locals:
      StackMap stack:
         7: lload 2 /* imm */
            bipush 32
            lshr
            ldc -1
            lcmp
            ifne 11
            lload 2 /* imm */
            l2i
            ifge 11
            lload 2 /* imm */
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 11
         8: .line 373
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* imm */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
         9: .line 374
            aload 0 /* this */
            bipush 64
            bipush 32
            aload 1 /* dst */
            aload 1 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sxt:(IILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 375
            goto 12
        11: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* imm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov64:(Ljdk/vm/ci/code/Register;J)V
        12: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   13     1   dst  Ljdk/vm/ci/code/Register;
            0   13     2   imm  J
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void mov(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // int imm
         0: .line 387
            aload 0 /* this */
            aload 1 /* dst */
            iload 2 /* imm */
            i2l
            ldc 4294967295
            land
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
         1: .line 388
            return
        end local 2 // int imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   dst  Ljdk/vm/ci/code/Register;
            0    2     2   imm  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void movNativeAddress(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 401
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            lload 2 /* imm */
            ldc -281474976710656
            land
            lconst_0
            lcmp
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 403
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         2: .line 404
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         3: goto 11
         4: .line 405
      StackMap locals: int int
      StackMap stack:
            lload 2 /* imm */
            iload 5 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* chunk */
        start local 6 // int chunk
         5: .line 406
            iload 4 /* firstMove */
            ifeq 9
         6: .line 407
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movz:(ILjdk/vm/ci/code/Register;II)V
         7: .line 408
            iconst_0
            istore 4 /* firstMove */
         8: .line 409
            goto 10
         9: .line 410
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movk:(ILjdk/vm/ci/code/Register;II)V
        end local 6 // int chunk
        10: .line 404
      StackMap locals:
      StackMap stack:
            iinc 5 /* offset */ 16
      StackMap locals:
      StackMap stack:
        11: iload 5 /* offset */
            bipush 48
            if_icmplt 4
        end local 5 // int offset
        12: .line 413
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 13
            iload 4 /* firstMove */
            ifeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 414
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstMove
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   14     1        dst  Ljdk/vm/ci/code/Register;
            0   14     2        imm  J
            2   14     4  firstMove  Z
            3   12     5     offset  I
            5   10     6      chunk  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void movNarrowAddress(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 424
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            lload 2 /* imm */
            ldc -4294967296
            land
            lconst_0
            lcmp
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            lload 2 /* imm */
            bipush 16
            lushr
            l2i
            bipush 16
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movz:(ILjdk/vm/ci/code/Register;II)V
         2: .line 426
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            lload 2 /* imm */
            ldc 65535
            land
            l2i
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movk:(ILjdk/vm/ci/code/Register;II)V
         3: .line 427
            return
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1   dst  Ljdk/vm/ci/code/Register;
            0    4     2   imm  J
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public static int nrInstructionsToMoveImmediate(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // long imm
         0: .line 433
            lload 0 /* imm */
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 2
         1: .line 434
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 436
      StackMap locals:
      StackMap stack:
            lload 0 /* imm */
            bipush 32
            lshr
            ldc -1
            lcmp
            ifne 4
            lload 0 /* imm */
            l2i
            ifge 4
            lload 0 /* imm */
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 4
         3: .line 441
            iconst_2
            ireturn
         4: .line 443
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* nrInstructions */
        start local 2 // int nrInstructions
         5: .line 444
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         6: goto 11
         7: .line 445
      StackMap locals: int int
      StackMap stack:
            lload 0 /* imm */
            iload 3 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 4 /* part */
        start local 4 // int part
         8: .line 446
            iload 4 /* part */
            ifeq 10
         9: .line 447
            iinc 2 /* nrInstructions */ 1
        end local 4 // int part
        10: .line 444
      StackMap locals:
      StackMap stack:
            iinc 3 /* offset */ 16
      StackMap locals:
      StackMap stack:
        11: iload 3 /* offset */
            bipush 64
            if_icmplt 7
        end local 3 // int offset
        12: .line 450
            iload 2 /* nrInstructions */
            ireturn
        end local 2 // int nrInstructions
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0             imm  J
            5   13     2  nrInstructions  I
            6   12     3          offset  I
            8   10     4            part  I
    MethodParameters:
      Name  Flags
      imm   

  public void ldrs(int, int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address);
    descriptor: (IILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int targetSize
        start local 2 // int srcSize
        start local 3 // jdk.vm.ci.code.Register rt
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         0: .line 464
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* targetSize */
            bipush 32
            if_icmpeq 1
            iload 1 /* targetSize */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 465
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            iload 2 /* srcSize */
            iload 1 /* targetSize */
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 466
      StackMap locals:
      StackMap stack:
            iload 1 /* targetSize */
            iload 2 /* srcSize */
            if_icmpne 5
         3: .line 467
            aload 0 /* this */
            iload 2 /* srcSize */
            aload 3 /* rt */
            aload 4 /* address */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         4: .line 468
            goto 6
         5: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* targetSize */
            iload 2 /* srcSize */
            aload 3 /* rt */
            aload 4 /* address */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ldrs:(IILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         6: .line 471
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 3 // jdk.vm.ci.code.Register rt
        end local 2 // int srcSize
        end local 1 // int targetSize
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  targetSize  I
            0    7     2     srcSize  I
            0    7     3          rt  Ljdk/vm/ci/code/Register;
            0    7     4     address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
            Name  Flags
      targetSize  
      srcSize     
      rt          
      address     

  public void ldr(int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address);
    descriptor: (ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int srcSize
        start local 2 // jdk.vm.ci.code.Register rt
        start local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         0: .line 483
            aload 0 /* this */
            iload 1 /* srcSize */
            aload 2 /* rt */
            aload 3 /* address */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         1: .line 484
            return
        end local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 2 // jdk.vm.ci.code.Register rt
        end local 1 // int srcSize
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  srcSize  I
            0    2     2       rt  Ljdk/vm/ci/code/Register;
            0    2     3  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
         Name  Flags
      srcSize  
      rt       
      address  

  public void cmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register result
        start local 3 // jdk.vm.ci.code.Register trueValue
        start local 4 // jdk.vm.ci.code.Register falseValue
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cond
         0: .line 496
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* result */
            aload 3 /* trueValue */
            aload 4 /* falseValue */
            aload 5 /* cond */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csel:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 497
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cond
        end local 4 // jdk.vm.ci.code.Register falseValue
        end local 3 // jdk.vm.ci.code.Register trueValue
        end local 2 // jdk.vm.ci.code.Register result
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        size  I
            0    2     2      result  Ljdk/vm/ci/code/Register;
            0    2     3   trueValue  Ljdk/vm/ci/code/Register;
            0    2     4  falseValue  Ljdk/vm/ci/code/Register;
            0    2     5        cond  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
            Name  Flags
      size        
      result      
      trueValue   
      falseValue  
      cond        

  public void cset(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 506
            aload 0 /* this */
            bipush 32
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* condition */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.negate:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csinc:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 507
            return
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        dst  Ljdk/vm/ci/code/Register;
            0    2     2  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      dst        
      condition  

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 518
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         2: .line 520
            goto 4
         3: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         4: .line 523
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3  src1  Ljdk/vm/ci/code/Register;
            0    5     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void adds(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 534
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         2: .line 536
            goto 4
         3: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         4: .line 539
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3  src1  Ljdk/vm/ci/code/Register;
            0    5     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void subs(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 550
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         2: .line 552
            goto 4
         3: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         4: .line 555
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3  src1  Ljdk/vm/ci/code/Register;
            0    5     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 566
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         2: .line 568
            goto 4
         3: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         4: .line 571
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3  src1  Ljdk/vm/ci/code/Register;
            0    5     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        start local 6 // int shiftAmt
         0: .line 585
            iload 1 /* size */
            iload 6 /* shiftAmt */
            i2l
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 7 /* shift */
        start local 7 // int shift
         1: .line 586
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            aload 5 /* shiftType */
            iload 7 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         2: .line 587
            return
        end local 7 // int shift
        end local 6 // int shiftAmt
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1       size  I
            0    3     2        dst  Ljdk/vm/ci/code/Register;
            0    3     3       src1  Ljdk/vm/ci/code/Register;
            0    3     4       src2  Ljdk/vm/ci/code/Register;
            0    3     5  shiftType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            0    3     6   shiftAmt  I
            1    3     7      shift  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src1       
      src2       
      shiftType  
      shiftAmt   

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        start local 6 // int shiftAmt
         0: .line 601
            iload 1 /* size */
            iload 6 /* shiftAmt */
            i2l
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 7 /* shift */
        start local 7 // int shift
         1: .line 602
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            aload 5 /* shiftType */
            iload 7 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         2: .line 603
            return
        end local 7 // int shift
        end local 6 // int shiftAmt
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1       size  I
            0    3     2        dst  Ljdk/vm/ci/code/Register;
            0    3     3       src1  Ljdk/vm/ci/code/Register;
            0    3     4       src2  Ljdk/vm/ci/code/Register;
            0    3     5  shiftType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            0    3     6   shiftAmt  I
            1    3     7      shift  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src1       
      src2       
      shiftType  
      shiftAmt   

  public void neg(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 613
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 614
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 626
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 627
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 628
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 629
            goto 16
      StackMap locals:
      StackMap stack:
         5: iload 4 /* immediate */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 9
         6: .line 630
            aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iload 4 /* immediate */
            ifeq 16
         7: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         8: .line 633
            goto 16
      StackMap locals:
      StackMap stack:
         9: iload 4 /* immediate */
            ldc -16777216
            if_icmplt 13
            iload 4 /* immediate */
            ldc 16777216
            if_icmpge 13
        10: .line 634
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            sipush -4096
            iand
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        11: .line 635
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            iload 4 /* immediate */
            sipush 4095
            iand
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        12: .line 636
            goto 16
        13: .line 637
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 14
            aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            iload 4 /* immediate */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        15: .line 639
            aload 0 /* this */
            iload 1 /* size */
            aload 3 /* src */
            aload 2 /* dst */
            aload 2 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        16: .line 641
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   17     1       size  I
            0   17     2        dst  Ljdk/vm/ci/code/Register;
            0   17     3        src  Ljdk/vm/ci/code/Register;
            0   17     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void adds(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 653
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 654
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 655
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 656
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iload 4 /* immediate */
            ifeq 7
         6: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         7: .line 659
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    8     1       size  I
            0    8     2        dst  Ljdk/vm/ci/code/Register;
            0    8     3        src  Ljdk/vm/ci/code/Register;
            0    8     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 671
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 672
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 673
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 674
            goto 16
      StackMap locals:
      StackMap stack:
         5: iload 4 /* immediate */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 9
         6: .line 675
            aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iload 4 /* immediate */
            ifeq 16
         7: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         8: .line 678
            goto 16
      StackMap locals:
      StackMap stack:
         9: iload 4 /* immediate */
            ldc -16777216
            if_icmplt 13
            iload 4 /* immediate */
            ldc 16777216
            if_icmpge 13
        10: .line 679
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            sipush -4096
            iand
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        11: .line 680
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            iload 4 /* immediate */
            sipush 4095
            iand
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        12: .line 681
            goto 16
        13: .line 682
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 14
            aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            iload 4 /* immediate */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        15: .line 684
            aload 0 /* this */
            iload 1 /* size */
            aload 3 /* src */
            aload 2 /* dst */
            aload 2 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        16: .line 686
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   17     1       size  I
            0   17     2        dst  Ljdk/vm/ci/code/Register;
            0   17     3        src  Ljdk/vm/ci/code/Register;
            0   17     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void subs(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 698
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 699
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 700
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 701
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iload 4 /* immediate */
            ifeq 7
         6: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         7: .line 704
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    8     1       size  I
            0    8     2        dst  Ljdk/vm/ci/code/Register;
            0    8     3        src  Ljdk/vm/ci/code/Register;
            0    8     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void mul(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 715
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.madd:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 716
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void umulh(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 727
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 728
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 3
            iload 1 /* size */
            bipush 32
            if_icmpeq 3
            iload 1 /* size */
            bipush 64
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 729
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 6
         4: .line 730
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.umulh:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 731
            goto 8
         6: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.umaddl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         7: .line 735
            aload 0 /* this */
            bipush 64
            aload 2 /* dst */
            aload 2 /* dst */
            ldc 32
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.lshr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         8: .line 737
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    9     1  size  I
            0    9     2   dst  Ljdk/vm/ci/code/Register;
            0    9     3  src1  Ljdk/vm/ci/code/Register;
            0    9     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void smulh(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 748
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src1 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 749
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 3
            iload 1 /* size */
            bipush 32
            if_icmpeq 3
            iload 1 /* size */
            bipush 64
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 750
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 6
         4: .line 751
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.smulh:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 752
            goto 8
         6: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.smaddl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         7: .line 756
            aload 0 /* this */
            bipush 64
            aload 2 /* dst */
            aload 2 /* dst */
            ldc 32
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.lshr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         8: .line 758
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    9     1  size  I
            0    9     2   dst  Ljdk/vm/ci/code/Register;
            0    9     3  src1  Ljdk/vm/ci/code/Register;
            0    9     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void rem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 769
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* n */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 4 /* d */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sdiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 775
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.msub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 776
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3     n  Ljdk/vm/ci/code/Register;
            0    5     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public void urem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 790
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.udiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 791
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.msub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 792
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1  size  I
            0    3     2   dst  Ljdk/vm/ci/code/Register;
            0    3     3     n  Ljdk/vm/ci/code/Register;
            0    3     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public static boolean isArithmeticImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long imm
         0: .line 804
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 1
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isComparisonImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long imm
         0: .line 814
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isMovableImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 842
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 1
            bipush 16
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            l2i
            invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(II)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public void shl(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 854
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 855
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 1 /* size */
            iload 6 /* shift */
            isub
            iload 1 /* size */
            iconst_1
            isub
            iand
            iload 1 /* size */
            iconst_1
            isub
            iload 6 /* shift */
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ubfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 856
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void shl(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 867
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.lsl:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 868
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  public void lshr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 879
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 880
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 6 /* shift */
            iload 1 /* size */
            iconst_1
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ubfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 881
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void lshr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 892
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.lsr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 893
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  public void ashr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 904
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 905
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 6 /* shift */
            iload 1 /* size */
            iconst_1
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sbfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 906
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void ashr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 917
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.asr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 918
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  private static int clampShiftAmt(int, long);
    descriptor: (IJ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int size
        start local 1 // long shiftAmt
         0: .line 929
            lload 1 /* shiftAmt */
            iload 0 /* size */
            iconst_1
            isub
            i2l
            land
            l2i
            ireturn
        end local 1 // long shiftAmt
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      size  I
            0    1     1  shiftAmt  J
    MethodParameters:
          Name  Flags
      size      
      shiftAmt  

  public void and(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 941
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.and:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 942
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void eor(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 953
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.eor:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 954
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void or(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 965
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 966
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void or(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long bimm
         0: .line 978
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            lload 4 /* bimm */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         1: .line 979
            return
        end local 4 // long bimm
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
            0    2     4  bimm  J
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   
      bimm  

  public void not(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 989
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orn:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 990
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void sxt(int, int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (IILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int destSize
        start local 2 // int srcSize
        start local 3 // jdk.vm.ci.code.Register dst
        start local 4 // jdk.vm.ci.code.Register src
         0: .line 1001
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            iload 2 /* srcSize */
            iload 1 /* destSize */
            if_icmpge 1
            iload 2 /* srcSize */
            ifgt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* destSize */
            aload 3 /* dst */
            aload 4 /* src */
            iconst_0
            iload 2 /* srcSize */
            iconst_1
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sbfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         3: .line 1003
            return
        end local 4 // jdk.vm.ci.code.Register src
        end local 3 // jdk.vm.ci.code.Register dst
        end local 2 // int srcSize
        end local 1 // int destSize
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1  destSize  I
            0    4     2   srcSize  I
            0    4     3       dst  Ljdk/vm/ci/code/Register;
            0    4     4       src  Ljdk/vm/ci/code/Register;
    MethodParameters:
          Name  Flags
      destSize  
      srcSize   
      dst       
      src       

  public void csneg(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 1014
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 3 /* src */
            aload 4 /* condition */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.negate:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csneg:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 1015
            return
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1       size  I
            0    2     2        dst  Ljdk/vm/ci/code/Register;
            0    2     3        src  Ljdk/vm/ci/code/Register;
            0    2     4  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      condition  

  public static boolean isLogicalImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 1021
            iconst_1
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isLogicalImmediate(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int imm
         0: .line 1028
            iload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.YES:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  I
    MethodParameters:
      Name  Flags
      imm   

  public void fmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 1045
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 2 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "src and dst cannot both be integer registers."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1046
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 1047
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovFpu2Cpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 1048
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1049
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovCpu2Fpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         6: .line 1050
            goto 8
         7: .line 1051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         8: .line 1053
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    9     1  size  I
            0    9     2   dst  Ljdk/vm/ci/code/Register;
            0    9     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void fmov(int, jdk.vm.ci.code.Register, double);
    descriptor: (ILjdk/vm/ci/code/Register;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // double imm
         0: .line 1066
            dload 3 /* imm */
            dconst_0
            dcmpl
            ifne 4
         1: .line 1067
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            dload 3 /* imm */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "-0.0 is no valid immediate."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1068
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovCpu2Fpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 1069
            goto 5
         4: .line 1070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            dload 3 /* imm */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmov:(ILjdk/vm/ci/code/Register;D)V
         5: .line 1072
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double imm
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1  size  I
            0    6     2   dst  Ljdk/vm/ci/code/Register;
            0    6     3   imm  D
    MethodParameters:
      Name  Flags
      size  
      dst   
      imm   

  public static boolean isDoubleImmediate(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double imm
         0: .line 1080
            dload 0 /* imm */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifeq 1
            dload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler.isDoubleImmediate:(D)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // double imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  D
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isFloatImmediate(float);
    descriptor: (F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float imm
         0: .line 1089
            fload 0 /* imm */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            ifeq 1
            fload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler.isFloatImmediate:(F)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // float imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  F
    MethodParameters:
      Name  Flags
      imm   

  public void fcmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register result
        start local 3 // jdk.vm.ci.code.Register trueValue
        start local 4 // jdk.vm.ci.code.Register falseValue
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 1102
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* result */
            aload 3 /* trueValue */
            aload 4 /* falseValue */
            aload 5 /* condition */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fcsel:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 1103
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 4 // jdk.vm.ci.code.Register falseValue
        end local 3 // jdk.vm.ci.code.Register trueValue
        end local 2 // jdk.vm.ci.code.Register result
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        size  I
            0    2     2      result  Ljdk/vm/ci/code/Register;
            0    2     3   trueValue  Ljdk/vm/ci/code/Register;
            0    2     4  falseValue  Ljdk/vm/ci/code/Register;
            0    2     5   condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
            Name  Flags
      size        
      result      
      trueValue   
      falseValue  
      condition   

  public void frem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 1116
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fdiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 1117
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.frintz:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 1118
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmsub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 1119
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1  size  I
            0    4     2   dst  Ljdk/vm/ci/code/Register;
            0    4     3     n  Ljdk/vm/ci/code/Register;
            0    4     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public void cmp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register x
        start local 3 // jdk.vm.ci.code.Register y
         0: .line 1131
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* size */
            bipush 32
            if_icmpeq 1
            iload 1 /* size */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            aload 3 /* y */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         2: .line 1133
            return
        end local 3 // jdk.vm.ci.code.Register y
        end local 2 // jdk.vm.ci.code.Register x
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1  size  I
            0    3     2     x  Ljdk/vm/ci/code/Register;
            0    3     3     y  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      x     
      y     

  public void cmp(int, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register x
        start local 3 // int y
         0: .line 1143
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* size */
            bipush 32
            if_icmpeq 1
            iload 1 /* size */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1144
      StackMap locals:
      StackMap stack:
            iload 3 /* y */
            ifge 4
         2: .line 1145
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            iload 3 /* y */
            ineg
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         3: .line 1146
            goto 5
         4: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            iload 3 /* y */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 1149
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int y
        end local 2 // jdk.vm.ci.code.Register x
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1  size  I
            0    6     2     x  Ljdk/vm/ci/code/Register;
            0    6     3     y  I
    MethodParameters:
      Name  Flags
      size  
      x     
      y     

  public void ands(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register x
        start local 4 // jdk.vm.ci.code.Register y
         0: .line 1160
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* x */
            aload 4 /* y */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ands:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 1161
            return
        end local 4 // jdk.vm.ci.code.Register y
        end local 3 // jdk.vm.ci.code.Register x
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3     x  Ljdk/vm/ci/code/Register;
            0    2     4     y  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      x     
      y     

  public void mulvs(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register x
        start local 4 // jdk.vm.ci.code.Register y
         0: .line 1172
            aconst_null
            astore 5
            aconst_null
            astore 6
         1: aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            astore 7 /* sc1 */
        start local 7 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc1
         2: .line 1173
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            astore 8 /* sc2 */
        start local 8 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc2
         3: .line 1174
            iload 1 /* size */
            lookupswitch { // 2
                   32: 14
                   64: 4
              default: 21
          }
         4: .line 1178
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
      StackMap stack:
            aload 7 /* sc1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
            astore 9 /* rscratch1 */
        start local 9 // jdk.vm.ci.code.Register rscratch1
         5: .line 1179
            aload 8 /* sc2 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
            astore 10 /* rscratch2 */
        start local 10 // jdk.vm.ci.code.Register rscratch2
         6: .line 1180
            aload 0 /* this */
            bipush 64
            aload 9 /* rscratch1 */
            aload 3 /* x */
            aload 4 /* y */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mul:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         7: .line 1181
            aload 0 /* this */
            bipush 64
            aload 10 /* rscratch2 */
            aload 3 /* x */
            aload 4 /* y */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.smulh:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         8: .line 1183
            aload 0 /* this */
            bipush 64
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 10 /* rscratch2 */
            aload 9 /* rscratch1 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.ASR:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            bipush 63
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         9: .line 1185
            aload 0 /* this */
            bipush 64
            aload 2 /* dst */
            aload 9 /* rscratch1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 1186
            aload 0 /* this */
            aload 9 /* rscratch1 */
            ldc -2147483648
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        11: .line 1188
            aload 0 /* this */
            bipush 32
            aload 9 /* rscratch1 */
            aload 9 /* rscratch1 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.NE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
        12: .line 1189
            aload 0 /* this */
            bipush 32
            aload 9 /* rscratch1 */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
        13: .line 1191
            goto 21
        end local 10 // jdk.vm.ci.code.Register rscratch2
        end local 9 // jdk.vm.ci.code.Register rscratch1
        14: .line 1194
      StackMap locals:
      StackMap stack:
            aload 7 /* sc1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
            astore 9 /* rscratch1 */
        start local 9 // jdk.vm.ci.code.Register rscratch1
        15: .line 1195
            aload 0 /* this */
            aload 9 /* rscratch1 */
            aload 3 /* x */
            aload 4 /* y */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.smaddl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        16: .line 1197
            aload 0 /* this */
            bipush 32
            aload 2 /* dst */
            aload 9 /* rscratch1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        17: .line 1198
            aload 0 /* this */
            bipush 64
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 9 /* rscratch1 */
            aload 9 /* rscratch1 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
        18: .line 1200
            aload 0 /* this */
            aload 9 /* rscratch1 */
            ldc -2147483648
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        19: .line 1202
            aload 0 /* this */
            bipush 32
            aload 9 /* rscratch1 */
            aload 9 /* rscratch1 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.NE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
        20: .line 1203
            aload 0 /* this */
            bipush 32
            aload 9 /* rscratch1 */
            iconst_1
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
        end local 9 // jdk.vm.ci.code.Register rscratch1
        21: .line 1208
      StackMap locals:
      StackMap stack:
            aload 8 /* sc2 */
            ifnull 24
            aload 8 /* sc2 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 5
            aload 8 /* sc2 */
            ifnull 23
            aload 8 /* sc2 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
        end local 8 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc2
      StackMap locals:
      StackMap stack:
        23: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        24: aload 7 /* sc1 */
            ifnull 32
            aload 7 /* sc1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 6
            aload 5
            ifnonnull 26
            aload 6
            astore 5
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 5
            aload 6
            if_acmpeq 27
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 7 /* sc1 */
            ifnull 28
            aload 7 /* sc1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
        end local 7 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc1
      StackMap locals:
      StackMap stack:
        28: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 6
            aload 5
            ifnonnull 30
            aload 6
            astore 5
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 5
            aload 6
            if_acmpeq 31
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 5
            athrow
        32: .line 1209
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register y
        end local 3 // jdk.vm.ci.code.Register x
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   33     1       size  I
            0   33     2        dst  Ljdk/vm/ci/code/Register;
            0   33     3          x  Ljdk/vm/ci/code/Register;
            0   33     4          y  Ljdk/vm/ci/code/Register;
            2   28     7        sc1  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            3   23     8        sc2  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            5   14     9  rscratch1  Ljdk/vm/ci/code/Register;
            6   14    10  rscratch2  Ljdk/vm/ci/code/Register;
           15   21     9  rscratch1  Ljdk/vm/ci/code/Register;
      Exception table:
        from    to  target  type
           3    21      22  any
           2    24      25  any
           1    29      29  any
    MethodParameters:
      Name  Flags
      size  
      dst   
      x     
      y     

  public void adr(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.Label label
         0: .line 1247
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1248
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 1249
            aload 0 /* this */
            aload 1 /* dst */
            iload 3 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;I)V
        end local 3 // int offset
         3: .line 1250
            goto 6
         4: .line 1251
      StackMap locals:
      StackMap stack:
            aload 2 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1253
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ADR:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            aload 1 /* dst */
            getfield jdk.vm.ci.code.Register.encoding:I
            iconst_5
            ishl
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1255
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.asm.Label label
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1     dst  Ljdk/vm/ci/code/Register;
            0    7     2   label  Lorg/graalvm/compiler/asm/Label;
            2    3     3  offset  I
    MethodParameters:
       Name  Flags
      dst    
      label  

  public void cbnz(int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register cmp
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1266
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1267
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         2: .line 1268
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* cmp */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbnz:(ILjdk/vm/ci/code/Register;I)V
        end local 4 // int offset
         3: .line 1269
            goto 10
         4: .line 1270
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1271
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1272
            iload 1 /* size */
            bipush 64
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: iconst_5
            ishl
            istore 5 /* sizeEncoding */
        start local 5 // int sizeEncoding
         9: .line 1274
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* regEncoding */
            ior
            iload 5 /* sizeEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int sizeEncoding
        end local 4 // int regEncoding
        10: .line 1276
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // jdk.vm.ci.code.Register cmp
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1          size  I
            0   11     2           cmp  Ljdk/vm/ci/code/Register;
            0   11     3         label  Lorg/graalvm/compiler/asm/Label;
            2    3     4        offset  I
            6   10     4   regEncoding  I
            9   10     5  sizeEncoding  I
    MethodParameters:
       Name  Flags
      size   
      cmp    
      label  

  public void cbz(int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register cmp
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1287
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1288
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         2: .line 1289
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* cmp */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbz:(ILjdk/vm/ci/code/Register;I)V
        end local 4 // int offset
         3: .line 1290
            goto 10
         4: .line 1291
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1292
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1293
            iload 1 /* size */
            bipush 64
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: iconst_5
            ishl
            istore 5 /* sizeEncoding */
        start local 5 // int sizeEncoding
         9: .line 1295
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* regEncoding */
            ior
            iload 5 /* sizeEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int sizeEncoding
        end local 4 // int regEncoding
        10: .line 1297
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // jdk.vm.ci.code.Register cmp
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1          size  I
            0   11     2           cmp  Ljdk/vm/ci/code/Register;
            0   11     3         label  Lorg/graalvm/compiler/asm/Label;
            2    3     4        offset  I
            6   10     4   regEncoding  I
            9   10     5  sizeEncoding  I
    MethodParameters:
       Name  Flags
      size   
      cmp    
      label  

  public void tbnz(jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.Label);
    descriptor: (Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register cmp
        start local 2 // int uimm6
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1307
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            bipush 6
            iload 2 /* uimm6 */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(II)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1308
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 5
         2: .line 1309
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         3: .line 1310
            aload 0 /* this */
            aload 1 /* cmp */
            iload 2 /* uimm6 */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.tbnz:(Ljdk/vm/ci/code/Register;II)V
        end local 4 // int offset
         4: .line 1311
            goto 9
         5: .line 1312
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         6: .line 1313
            iload 2 /* uimm6 */
            iconst_5
            ishl
            istore 4 /* indexEncoding */
        start local 4 // int indexEncoding
         7: .line 1314
            aload 1 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 11
            ishl
            istore 5 /* regEncoding */
        start local 5 // int regEncoding
         8: .line 1315
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_BIT_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* indexEncoding */
            ior
            iload 5 /* regEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int regEncoding
        end local 4 // int indexEncoding
         9: .line 1317
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // int uimm6
        end local 1 // jdk.vm.ci.code.Register cmp
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   10     1            cmp  Ljdk/vm/ci/code/Register;
            0   10     2          uimm6  I
            0   10     3          label  Lorg/graalvm/compiler/asm/Label;
            3    4     4         offset  I
            7    9     4  indexEncoding  I
            8    9     5    regEncoding  I
    MethodParameters:
       Name  Flags
      cmp    
      uimm6  
      label  

  public void tbz(jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.Label);
    descriptor: (Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register cmp
        start local 2 // int uimm6
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1327
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            bipush 6
            iload 2 /* uimm6 */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(II)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1328
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 5
         2: .line 1329
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         3: .line 1330
            aload 0 /* this */
            aload 1 /* cmp */
            iload 2 /* uimm6 */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.tbz:(Ljdk/vm/ci/code/Register;II)V
        end local 4 // int offset
         4: .line 1331
            goto 9
         5: .line 1332
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         6: .line 1333
            iload 2 /* uimm6 */
            iconst_5
            ishl
            istore 4 /* indexEncoding */
        start local 4 // int indexEncoding
         7: .line 1334
            aload 1 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 11
            ishl
            istore 5 /* regEncoding */
        start local 5 // int regEncoding
         8: .line 1335
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_BIT_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* indexEncoding */
            ior
            iload 5 /* regEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int regEncoding
        end local 4 // int indexEncoding
         9: .line 1337
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // int uimm6
        end local 1 // jdk.vm.ci.code.Register cmp
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   10     1            cmp  Ljdk/vm/ci/code/Register;
            0   10     2          uimm6  I
            0   10     3          label  Lorg/graalvm/compiler/asm/Label;
            3    4     4         offset  I
            7    9     4  indexEncoding  I
            8    9     5    regEncoding  I
    MethodParameters:
       Name  Flags
      cmp    
      uimm6  
      label  

  public void branchConditionally(org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag, org.graalvm.compiler.asm.Label);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        start local 2 // org.graalvm.compiler.asm.Label label
         0: .line 1347
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1348
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 1349
            aload 0 /* this */
            aload 1 /* condition */
            iload 3 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;I)V
        end local 3 // int offset
         3: .line 1350
            goto 6
         4: .line 1351
      StackMap locals:
      StackMap stack:
            aload 2 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1353
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_CONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            aload 1 /* condition */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.encoding:I
            iconst_5
            ishl
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1355
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.asm.Label label
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            0    7     2      label  Lorg/graalvm/compiler/asm/Label;
            2    3     3     offset  I
    MethodParameters:
           Name  Flags
      condition  
      label      

  public void branchConditionally(org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 1364
            aload 0 /* this */
            aload 1 /* condition */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;I)V
         1: .line 1365
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      condition  

  public void jmp(org.graalvm.compiler.asm.Label);
    descriptor: (Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.Label label
         0: .line 1375
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1376
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 1377
            aload 0 /* this */
            iload 2 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
        end local 2 // int offset
         3: .line 1378
            goto 6
         4: .line 1379
      StackMap locals:
      StackMap stack:
            aload 1 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1380
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_UNCONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1382
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.asm.Label label
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1   label  Lorg/graalvm/compiler/asm/Label;
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      label  

  public void jmp(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dest
         0: .line 1390
            aload 0 /* this */
            aload 1 /* dest */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.br:(Ljdk/vm/ci/code/Register;)V
         1: .line 1391
            return
        end local 1 // jdk.vm.ci.code.Register dest
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  dest  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dest  

  public void jmp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1398
            aload 0 /* this */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
         1: .line 1399
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public static boolean isBranchImmediateOffset(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 1406
            bipush 28
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public void hlt(org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
         0: .line 1432
            aload 0 /* this */
            aload 1 /* exceptionCode */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode.encoding:I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.hlt:(I)V
         1: .line 1433
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  exceptionCode  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;
    MethodParameters:
               Name  Flags
      exceptionCode  

  public void brk(org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
         0: .line 1442
            aload 0 /* this */
            aload 1 /* exceptionCode */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode.encoding:I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.brk:(I)V
         1: .line 1443
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  exceptionCode  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;
    MethodParameters:
               Name  Flags
      exceptionCode  

  public void pause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1446
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void nop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1453
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$SystemHint.NOP:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SystemHint;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.hint:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SystemHint;)V
         1: .line 1454
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void ensureUniquePC();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1461
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         1: .line 1462
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void align(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int modulus
         0: .line 1471
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            iload 1 /* modulus */
            ifle 1
            iload 1 /* modulus */
            iconst_3
            iand
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            ldc "Modulus has to be a positive multiple of 4."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            iload 1 /* modulus */
            irem
            ifne 4
         3: .line 1473
            return
         4: .line 1475
      StackMap locals:
      StackMap stack:
            iload 1 /* modulus */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            iload 1 /* modulus */
            irem
            isub
            istore 2 /* offset */
        start local 2 // int offset
         5: .line 1476
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 1477
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         8: .line 1476
            iinc 3 /* i */ 4
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* offset */
            if_icmplt 7
        end local 3 // int i
        10: .line 1479
            return
        end local 2 // int offset
        end local 1 // int modulus
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1  modulus  I
            5   11     2   offset  I
            6   10     3        i  I
    MethodParameters:
         Name  Flags
      modulus  

  protected void patchJumpTarget(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int branch
        start local 2 // int jumpTarget
         0: .line 1486
            aload 0 /* this */
            iload 1 /* branch */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getInt:(I)I
            istore 3 /* instruction */
        start local 3 // int instruction
         1: .line 1487
            iload 2 /* jumpTarget */
            iload 1 /* branch */
            isub
            istore 4 /* branchOffset */
        start local 4 // int branchOffset
         2: .line 1488
            iload 3 /* instruction */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.fromEncoding:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            astore 5 /* type */
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind type
         3: .line 1489
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:()[I
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 4
                    2: 7
                    3: 12
                    4: 12
                    5: 22
                    6: 22
                    7: 9
                    8: 31
              default: 36
          }
         4: .line 1491
      StackMap locals: int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.fromEncoding:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            astore 6 /* cf */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cf
         5: .line 1492
            aload 0 /* this */
            aload 6 /* cf */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;II)V
         6: .line 1493
            goto 37
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cf
         7: .line 1495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(II)V
         8: .line 1496
            goto 37
         9: .line 1498
      StackMap locals:
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 7 /* offset */
        start local 7 // int offset
        10: .line 1499
            aload 0 /* this */
            iload 2 /* jumpTarget */
            iload 7 /* offset */
            isub
            iload 1 /* branch */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(II)V
        11: .line 1500
            goto 37
        end local 7 // int offset
        12: .line 1503
      StackMap locals:
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 8 /* information */
        start local 8 // int information
        13: .line 1504
            iload 8 /* information */
            iconst_1
            iand
            istore 9 /* sizeEncoding */
        start local 9 // int sizeEncoding
        14: .line 1505
            iload 8 /* information */
            iconst_1
            iushr
            istore 10 /* regEncoding */
        start local 10 // int regEncoding
        15: .line 1506
            getstatic jdk.vm.ci.aarch64.AArch64.cpuRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 10 /* regEncoding */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 11 /* reg */
        start local 11 // jdk.vm.ci.code.Register reg
        16: .line 1508
            iload 9 /* sizeEncoding */
            bipush 32
            imul
            bipush 32
            iadd
            istore 12 /* size */
        start local 12 // int size
        17: .line 1509
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:()[I
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 18
                    4: 20
              default: 21
          }
        18: .line 1511
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind top top int int int jdk.vm.ci.code.Register int
      StackMap stack:
            aload 0 /* this */
            iload 12 /* size */
            aload 11 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbnz:(ILjdk/vm/ci/code/Register;II)V
        19: .line 1512
            goto 37
        20: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 12 /* size */
            aload 11 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbz:(ILjdk/vm/ci/code/Register;II)V
        21: .line 1517
      StackMap locals:
      StackMap stack:
            goto 37
        end local 12 // int size
        end local 11 // jdk.vm.ci.code.Register reg
        end local 10 // int regEncoding
        end local 9 // int sizeEncoding
        end local 8 // int information
        22: .line 1521
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 8 /* information */
        start local 8 // int information
        23: .line 1522
            iload 8 /* information */
            bipush 6
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 9 /* sizeEncoding */
        start local 9 // int sizeEncoding
        24: .line 1523
            iload 8 /* information */
            bipush 6
            iushr
            istore 10 /* regEncoding */
        start local 10 // int regEncoding
        25: .line 1524
            getstatic jdk.vm.ci.aarch64.AArch64.cpuRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 10 /* regEncoding */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 11 /* reg */
        start local 11 // jdk.vm.ci.code.Register reg
        26: .line 1525
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:()[I
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iaload
            tableswitch { // 5 - 6
                    5: 27
                    6: 29
              default: 30
          }
        27: .line 1527
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind top top int int int jdk.vm.ci.code.Register
      StackMap stack:
            aload 0 /* this */
            aload 11 /* reg */
            iload 9 /* sizeEncoding */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.tbnz:(Ljdk/vm/ci/code/Register;III)V
        28: .line 1528
            goto 37
        29: .line 1530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* reg */
            iload 9 /* sizeEncoding */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.tbz:(Ljdk/vm/ci/code/Register;III)V
        30: .line 1533
      StackMap locals:
      StackMap stack:
            goto 37
        end local 11 // jdk.vm.ci.code.Register reg
        end local 10 // int regEncoding
        end local 9 // int sizeEncoding
        end local 8 // int information
        31: .line 1536
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 8 /* information */
        start local 8 // int information
        32: .line 1537
            iload 8 /* information */
            istore 9 /* regEncoding */
        start local 9 // int regEncoding
        33: .line 1538
            getstatic jdk.vm.ci.aarch64.AArch64.cpuRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 9 /* regEncoding */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 10 /* reg */
        start local 10 // jdk.vm.ci.code.Register reg
        34: .line 1539
            aload 0 /* this */
            aload 10 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;II)V
        35: .line 1540
            goto 37
        end local 10 // jdk.vm.ci.code.Register reg
        end local 9 // int regEncoding
        end local 8 // int information
        36: .line 1543
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        37: .line 1545
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind type
        end local 4 // int branchOffset
        end local 3 // int instruction
        end local 2 // int jumpTarget
        end local 1 // int branch
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   38     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   38     1        branch  I
            0   38     2    jumpTarget  I
            1   38     3   instruction  I
            2   38     4  branchOffset  I
            3   38     5          type  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            5    7     6            cf  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
           10   12     7        offset  I
           13   22     8   information  I
           14   22     9  sizeEncoding  I
           15   22    10   regEncoding  I
           16   22    11           reg  Ljdk/vm/ci/code/Register;
           17   22    12          size  I
           23   31     8   information  I
           24   31     9  sizeEncoding  I
           25   31    10   regEncoding  I
           26   31    11           reg  Ljdk/vm/ci/code/Register;
           32   36     8   information  I
           33   36     9   regEncoding  I
           34   36    10           reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
            Name  Flags
      branch      
      jumpTarget  

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // int displacement
         0: .line 1559
            aload 0 /* this */
            aload 1 /* base */
            iload 2 /* displacement */
            i2l
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iconst_0
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 2 // int displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1          base  Ljdk/vm/ci/code/Register;
            0    1     2  displacement  I
    MethodParameters:
              Name  Flags
      base          
      displacement  

  public org.graalvm.compiler.asm.AbstractAddress getPlaceholder(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/AbstractAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int instructionStartPosition
         0: .line 1564
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address.PLACEHOLDER:Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 1 // int instructionStartPosition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0                      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1  instructionStartPosition  I
    MethodParameters:
                          Name  Flags
      instructionStartPosition  

  public void lea(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register d
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address a
         0: .line 1574
            aload 2 /* a */
            aload 0 /* this */
            aload 1 /* d */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.lea:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;)V
         1: .line 1575
            return
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address a
        end local 1 // jdk.vm.ci.code.Register d
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1     d  Ljdk/vm/ci/code/Register;
            0    2     2     a  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      d     
      a     

  public org.graalvm.compiler.asm.AbstractAddress makeAddress(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/AbstractAddress;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:[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

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.AddressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 9
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_POST_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 7
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PRE_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 8
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_2
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.PC_LITERAL:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 6
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_4
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[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

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ADR:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            bipush 8
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_BIT_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_BIT_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_CONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_UNCONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_4
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.JUMP_ADDRESS:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:[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
}
SourceFile: "AArch64MacroAssembler.java"
NestMembers:
  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
InnerClasses:
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
  public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
  public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final ExtendType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public LogicalImmediateTable = org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  final Representable = org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable of org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable
  public final ShiftType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final SystemHint = org.graalvm.compiler.asm.aarch64.AArch64Assembler$SystemHint of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final AArch64ExceptionCode = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public AddressGenerationPlan = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public final WorkPlan = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
  public final PatchLabelKind = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler