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 50
            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 58
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 52
            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 55
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
         3: .line 59
            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 80
            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 132
            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 133
      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 134
            iload 3 /* transferSize */
            invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
            istore 5 /* log2Scale */
        start local 5 // int log2Scale
         5: .line 135
            lload 0 /* displacement */
            iload 5 /* log2Scale */
            lshr
            lstore 6 /* scaledDisplacement */
        start local 6 // long scaledDisplacement
         6: .line 136
            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 137
            lload 0 /* displacement */
            lconst_0
            lcmp
            ifne 11
        10: .line 139
            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 141
      StackMap locals: int
      StackMap stack:
            iload 2 /* hasIndexRegister */
            ifeq 21
        12: .line 142
            iload 8 /* displacementScalable */
            ifeq 17
        13: .line 143
            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 144
            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 146
      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 147
            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 150
      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 151
            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 152
      StackMap locals:
      StackMap stack:
            bipush 9
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
            ifeq 25
        24: .line 153
            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 155
      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 156
            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 182
            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 183
            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 184
      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 185
      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 186
            lload 2 /* displacement */
            iload 10 /* log2Scale */
            lshr
            lstore 11 /* scaledDisplacement */
        start local 11 // long scaledDisplacement
         7: .line 187
            aload 4 /* index */
            astore 13 /* newIndex */
        start local 13 // jdk.vm.ci.code.Register newIndex
         8: .line 188
            aload 1 /* base */
            astore 14 /* newBase */
        start local 14 // jdk.vm.ci.code.Register newBase
         9: .line 190
            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 192
      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 193
            lload 11 /* scaledDisplacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        12: .line 194
            goto 44
        end local 15 // int immediate
        13: .line 195
      StackMap locals:
      StackMap stack:
            lload 2 /* displacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        14: .line 197
            goto 44
        end local 15 // int immediate
        15: .line 199
      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 200
            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 201
      StackMap locals:
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 26
        21: .line 202
            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 203
            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 204
            goto 29
        26: .line 205
      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 207
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        30: .line 208
            goto 44
        end local 15 // int immediate
        31: .line 210
      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 211
            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 212
      StackMap locals:
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 40
        37: .line 213
            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 214
            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 215
            goto 41
        40: .line 216
      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 218
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        42: .line 219
            goto 44
        end local 15 // int immediate
        43: .line 221
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 15 // int immediate
        44: .line 223
      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 224
            aconst_null
            astore 17 /* extendType */
        start local 17 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType extendType
        46: .line 225
            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 226
            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 227
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        49: .line 228
            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 229
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        52: .line 230
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            astore 17 /* extendType */
        53: .line 233
      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 251
            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 252
      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 266
            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 282
            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 283
      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 284
      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 285
            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 287
      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 288
            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 289
            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 290
            iconst_1
            istore 8 /* firstAdd */
        start local 8 // boolean firstAdd
         8: .line 291
            iload 6 /* lowerBits */
            ifeq 11
         9: .line 292
            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 293
            iconst_0
            istore 8 /* firstAdd */
        11: .line 295
      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 296
            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 297
            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 299
            goto 33
        end local 8 // boolean firstAdd
        end local 7 // int higherBits
        end local 6 // int lowerBits
        end local 5 // int scaledImmediate
        17: .line 301
      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 302
            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 303
            goto 33
        end local 9 // int immediate
        20: .line 305
      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 306
            goto 33
        24: .line 308
      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 309
            goto 33
        28: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.addressOf:(Ljdk/vm/ci/code/Register;)V
        29: .line 312
            goto 33
        30: .line 315
      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 316
            goto 33
        32: .line 318
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        33: .line 320
      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 323
            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 324
            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 327
            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 328
      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 329
            goto 4
         3: .line 330
      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 332
      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 342
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         1: .line 343
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         2: goto 12
         3: .line 344
      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 345
            iload 6 /* chunk */
            ifne 6
         5: .line 346
            goto 11
         6: .line 348
      StackMap locals: int
      StackMap stack:
            iload 4 /* firstMove */
            ifeq 10
         7: .line 349
            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 350
            iconst_0
            istore 4 /* firstMove */
         9: .line 351
            goto 11
        10: .line 352
      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 343
      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 355
            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 356
      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 365
            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 366
      StackMap locals:
      StackMap stack:
            lload 2 /* imm */
            lconst_0
            lcmp
            ifne 4
         2: .line 367
            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 368
            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 369
            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 370
            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 375
            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 376
            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 377
            goto 12
        11: .line 378
      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 380
      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 389
            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 390
            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 403
            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 405
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         2: .line 406
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         3: goto 11
         4: .line 407
      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 408
            iload 4 /* firstMove */
            ifeq 9
         6: .line 409
            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 410
            iconst_0
            istore 4 /* firstMove */
         8: .line 411
            goto 10
         9: .line 412
      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 406
      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 415
            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 416
      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 426
            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 427
      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 428
            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 429
            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 435
            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 436
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 438
      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 443
            iconst_2
            ireturn
         4: .line 445
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* nrInstructions */
        start local 2 // int nrInstructions
         5: .line 446
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         6: goto 11
         7: .line 447
      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 448
            iload 4 /* part */
            ifeq 10
         9: .line 449
            iinc 2 /* nrInstructions */ 1
        end local 4 // int part
        10: .line 446
      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 452
            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 466
            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 467
      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 468
      StackMap locals:
      StackMap stack:
            iload 1 /* targetSize */
            iload 2 /* srcSize */
            if_icmpne 5
         3: .line 469
            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 470
            goto 6
         5: .line 471
      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 473
      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 485
            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 486
            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 498
            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 499
            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 508
            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 509
            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 520
            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 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$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 522
            goto 4
         3: .line 523
      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 525
      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 536
            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 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$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 538
            goto 4
         3: .line 539
      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 541
      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 552
            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 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$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 554
            goto 4
         3: .line 555
      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 557
      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 568
            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 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$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 570
            goto 4
         3: .line 571
      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 573
      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 587
            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 588
            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 589
            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 603
            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 604
            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 605
            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 615
            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 616
            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 628
            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 629
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 630
            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 631
            goto 16
      StackMap locals:
      StackMap stack:
         5: iload 4 /* immediate */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 9
         6: .line 632
            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 633
      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 635
            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 636
            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 637
            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 638
            goto 16
        13: .line 639
      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 640
      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 641
            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 643
      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 add(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 immediate
         0: .line 654
            lload 4 /* immediate */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
            ifeq 3
         1: .line 655
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            lload 4 /* immediate */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 656
            goto 9
         3: .line 657
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 5
            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 4
            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 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 658
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 6
            aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 659
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 7
            iload 1 /* size */
            bipush 64
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            lload 4 /* immediate */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
         8: .line 661
            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
         9: .line 663
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long 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   10     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   10     1       size  I
            0   10     2        dst  Ljdk/vm/ci/code/Register;
            0   10     3        src  Ljdk/vm/ci/code/Register;
            0   10     4  immediate  J
    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 675
            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 676
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 677
            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 678
            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 679
      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 681
      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 693
            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 694
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 695
            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 696
            goto 16
      StackMap locals:
      StackMap stack:
         5: iload 4 /* immediate */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 9
         6: .line 697
            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 698
      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 700
            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 701
            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 702
            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 703
            goto 16
        13: .line 704
      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 705
      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 706
            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 708
      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 720
            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 721
      StackMap locals:
      StackMap stack:
            iload 4 /* immediate */
            ifge 5
         3: .line 722
            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 723
            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 724
      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 726
      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 737
            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 738
            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 749
            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 750
      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 751
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 6
         4: .line 752
            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 753
            goto 8
         6: .line 755
      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 757
            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 759
      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 770
            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 771
      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 772
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 6
         4: .line 773
            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 774
            goto 8
         6: .line 776
      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 778
            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 780
      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 791
            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 796
      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 797
            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 798
            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 812
            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 813
            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 814
            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 826
            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 836
            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 864
            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 876
            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 877
            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 878
            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 889
            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 890
            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 901
            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 902
            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 903
            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 914
            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 915
            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 926
            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 927
            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 928
            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 939
            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 940
            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 951
            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 963
            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 964
            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 975
            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 976
            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 987
            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 988
            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 1000
            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 1001
            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 1011
            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 1012
            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 1023
            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 1024
      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 1025
            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 1036
            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 1037
            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 1043
            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 1050
            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 1067
            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 1068
      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 1069
            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 1070
            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 1071
            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 1072
            goto 8
         7: .line 1073
      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 1075
      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 1088
            dload 3 /* imm */
            dconst_0
            dcmpl
            ifne 4
         1: .line 1089
            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 1090
      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 1091
            goto 5
         4: .line 1092
      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 1094
      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 1102
            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 1111
            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 1124
            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 1125
            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 1138
            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 1139
            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 1140
            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 1141
            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 1153
            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 1154
      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 1155
            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 1165
            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 1166
      StackMap locals:
      StackMap stack:
            iload 3 /* y */
            ifge 4
         2: .line 1167
            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 1168
            goto 5
         4: .line 1169
      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 1171
      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 1182
            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 1183
            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 1194
            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 1195
            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 1196
            iload 1 /* size */
            lookupswitch { // 2
                   32: 14
                   64: 4
              default: 21
          }
         4: .line 1200
      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 1201
            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 1202
            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 1203
            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 1205
            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 1207
            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 1208
            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 1210
            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 1211
            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 1213
            goto 21
        end local 10 // jdk.vm.ci.code.Register rscratch2
        end local 9 // jdk.vm.ci.code.Register rscratch1
        14: .line 1216
      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 1217
            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 1219
            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 1220
            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 1222
            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 1224
            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 1225
            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 1230
      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 1231
      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 1269
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1270
            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 1271
            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 1272
            goto 6
         4: .line 1273
      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 1275
            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 1277
      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 1288
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1289
            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 1290
            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 1291
            goto 10
         4: .line 1292
      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 1293
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1294
            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 1296
            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 1298
      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 1309
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1310
            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 1311
            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 1312
            goto 10
         4: .line 1313
      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 1314
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1315
            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 1317
            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 1319
      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 1329
            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 1330
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 5
         2: .line 1331
            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 1332
            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 1333
            goto 9
         5: .line 1334
      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 1335
            iload 2 /* uimm6 */
            iconst_5
            ishl
            istore 4 /* indexEncoding */
        start local 4 // int indexEncoding
         7: .line 1336
            aload 1 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 11
            ishl
            istore 5 /* regEncoding */
        start local 5 // int regEncoding
         8: .line 1337
            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 1339
      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 1349
            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 1350
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 5
         2: .line 1351
            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 1352
            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 1353
            goto 9
         5: .line 1354
      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 1355
            iload 2 /* uimm6 */
            iconst_5
            ishl
            istore 4 /* indexEncoding */
        start local 4 // int indexEncoding
         7: .line 1356
            aload 1 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 11
            ishl
            istore 5 /* regEncoding */
        start local 5 // int regEncoding
         8: .line 1357
            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 1359
      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 1369
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1370
            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 1371
            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 1372
            goto 6
         4: .line 1373
      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 1375
            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 1377
      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 1386
            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 1387
            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 1397
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1398
            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 1399
            aload 0 /* this */
            iload 2 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
        end local 2 // int offset
         3: .line 1400
            goto 6
         4: .line 1401
      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 1402
            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 1404
      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 1412
            aload 0 /* this */
            aload 1 /* dest */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.br:(Ljdk/vm/ci/code/Register;)V
         1: .line 1413
            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 1420
            aload 0 /* this */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
         1: .line 1421
            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 1428
            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 1454
            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 1455
            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 1464
            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 1465
            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 1468
            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 1475
            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 1476
            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 1483
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         1: .line 1484
            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 1493
            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 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            iload 1 /* modulus */
            irem
            ifne 4
         3: .line 1495
            return
         4: .line 1497
      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 1498
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 1499
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         8: .line 1498
            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 1501
            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 1508
            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 1509
            iload 2 /* jumpTarget */
            iload 1 /* branch */
            isub
            istore 4 /* branchOffset */
        start local 4 // int branchOffset
         2: .line 1510
            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 1511
            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 1513
      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 1514
            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 1515
            goto 37
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cf
         7: .line 1517
      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 1518
            goto 37
         9: .line 1520
      StackMap locals:
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 7 /* offset */
        start local 7 // int offset
        10: .line 1521
            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 1522
            goto 37
        end local 7 // int offset
        12: .line 1525
      StackMap locals:
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 8 /* information */
        start local 8 // int information
        13: .line 1526
            iload 8 /* information */
            iconst_1
            iand
            istore 9 /* sizeEncoding */
        start local 9 // int sizeEncoding
        14: .line 1527
            iload 8 /* information */
            iconst_1
            iushr
            istore 10 /* regEncoding */
        start local 10 // int regEncoding
        15: .line 1528
            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 1530
            iload 9 /* sizeEncoding */
            bipush 32
            imul
            bipush 32
            iadd
            istore 12 /* size */
        start local 12 // int size
        17: .line 1531
            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 1533
      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 1534
            goto 37
        20: .line 1536
      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 1539
      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 1543
      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 1544
            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 1545
            iload 8 /* information */
            bipush 6
            iushr
            istore 10 /* regEncoding */
        start local 10 // int regEncoding
        25: .line 1546
            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 1547
            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 1549
      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 1550
            goto 37
        29: .line 1552
      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 1555
      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 1558
      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 1559
            iload 8 /* information */
            istore 9 /* regEncoding */
        start local 9 // int regEncoding
        33: .line 1560
            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 1561
            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 1562
            goto 37
        end local 10 // jdk.vm.ci.code.Register reg
        end local 9 // int regEncoding
        end local 8 // int information
        36: .line 1565
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        37: .line 1567
      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 1581
            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.aarch64.AArch64Address getPlaceholder(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    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 1586
            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 addressOf(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
         0: .line 1591
            aload 0 /* this */
            aload 1 /* dst */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adrp:(Ljdk/vm/ci/code/Register;)V
         1: .line 1592
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 1 /* dst */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 1593
            return
        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    3     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1   dst  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dst   

  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 1602
            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 1603
            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

  public org.graalvm.compiler.asm.AbstractAddress getPlaceholder(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/AbstractAddress;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getPlaceholder:(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 50
            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 50
            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 50
            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