public class org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest extends org.graalvm.compiler.test.GraalTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest
  super_class: org.graalvm.compiler.test.GraalTest
{
  private org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm;
    descriptor: Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler asm;
    descriptor: Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.code.Register base;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.code.Register index;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.code.Register scratch;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 48
            aload 0 /* this */
            invokespecial org.graalvm.compiler.test.GraalTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;

  private static java.util.EnumSet<jdk.vm.ci.aarch64.AArch64$CPUFeature> computeFeatures();
    descriptor: ()Ljava/util/EnumSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 57
            ldc Ljdk/vm/ci/aarch64/AArch64$CPUFeature;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 0 /* features */
        start local 0 // java.util.EnumSet features
         1: .line 58
            aload 0 /* features */
            getstatic jdk.vm.ci.aarch64.AArch64$CPUFeature.FP:Ljdk/vm/ci/aarch64/AArch64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 59
            aload 0 /* features */
            areturn
        end local 0 // java.util.EnumSet features
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    3     0  features  Ljava/util/EnumSet<Ljdk/vm/ci/aarch64/AArch64$CPUFeature;>;
    Signature: ()Ljava/util/EnumSet<Ljdk/vm/ci/aarch64/AArch64$CPUFeature;>;

  private static java.util.EnumSet<jdk.vm.ci.aarch64.AArch64$Flag> computeFlags();
    descriptor: ()Ljava/util/EnumSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 63
            ldc Ljdk/vm/ci/aarch64/AArch64$Flag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 0 /* flags */
        start local 0 // java.util.EnumSet flags
         1: .line 64
            aload 0 /* flags */
            areturn
        end local 0 // java.util.EnumSet flags
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    2     0  flags  Ljava/util/EnumSet<Ljdk/vm/ci/aarch64/AArch64$Flag;>;
    Signature: ()Ljava/util/EnumSet<Ljdk/vm/ci/aarch64/AArch64$Flag;>;

  private static jdk.vm.ci.code.TargetDescription createTarget();
    descriptor: ()Ljdk/vm/ci/code/TargetDescription;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=0
         0: .line 71
            new jdk.vm.ci.aarch64.AArch64
            dup
            invokestatic org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.computeFeatures:()Ljava/util/EnumSet;
            invokestatic org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.computeFlags:()Ljava/util/EnumSet;
            invokespecial jdk.vm.ci.aarch64.AArch64.<init>:(Ljava/util/EnumSet;Ljava/util/EnumSet;)V
            astore 0 /* arch */
        start local 0 // jdk.vm.ci.code.Architecture arch
         1: .line 72
            new jdk.vm.ci.code.TargetDescription
            dup
            aload 0 /* arch */
            iconst_1
            bipush 16
            sipush 4096
            iconst_1
            invokespecial jdk.vm.ci.code.TargetDescription.<init>:(Ljdk/vm/ci/code/Architecture;ZIIZ)V
            areturn
        end local 0 // jdk.vm.ci.code.Architecture arch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0  arch  Ljdk/vm/ci/code/Architecture;

  public void setupEnvironment();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 77
            invokestatic org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.createTarget:()Ljdk/vm/ci/code/TargetDescription;
            astore 1 /* target */
        start local 1 // jdk.vm.ci.code.TargetDescription target
         1: .line 78
            aload 0 /* this */
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
            dup
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
         2: .line 79
            aload 0 /* this */
            new org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler
            dup
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
            putfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
         3: .line 80
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r10:Ljdk/vm/ci/code/Register;
            putfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
         4: .line 81
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r13:Ljdk/vm/ci/code/Register;
            putfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
         5: .line 82
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r15:Ljdk/vm/ci/code/Register;
            putfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
         6: .line 83
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    7     1  target  Ljdk/vm/ci/code/TargetDescription;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void testGenerateAddressPlan();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 87
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
         1: .line 88
            aload 1 /* 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_acmpne 4
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 4
         2: .line 89
            aload 1 /* 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_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpeq 3
            aload 1 /* 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_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
      StackMap stack:
         3: iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
         5: .line 88
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 91
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            iconst_1
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
         7: .line 92
            aload 1 /* 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_acmpne 10
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 10
         8: .line 93
            aload 1 /* 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_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpeq 9
            aload 1 /* 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_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
        11: .line 92
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 95
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            ineg
            iconst_1
            isub
            i2l
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        13: .line 96
            aload 1 /* 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_acmpne 14
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 14
            aload 1 /* 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_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: invokestatic org.junit.Assert.assertTrue:(Z)V
        16: .line 98
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            iconst_1
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        17: .line 99
            aload 1 /* 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_acmpne 18
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 18
            aload 1 /* 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_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: invokestatic org.junit.Assert.assertTrue:(Z)V
        20: .line 101
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_2
            ishl
            i2l
            iconst_0
            iconst_4
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        21: .line 102
            aload 1 /* 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_acmpne 22
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 22
            aload 1 /* 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_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 104
            lconst_0
            iconst_0
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        25: .line 105
            aload 1 /* 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_acmpne 26
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 26
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: invokestatic org.junit.Assert.assertTrue:(Z)V
        28: .line 107
            lconst_0
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        29: .line 108
            aload 1 /* 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_acmpne 30
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 30
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: invokestatic org.junit.Assert.assertTrue:(Z)V
        32: .line 110
            bipush 9
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        33: .line 111
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 34
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 34
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: invokestatic org.junit.Assert.assertTrue:(Z)V
        36: .line 113
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        37: .line 114
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 38
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 38
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 38
            iconst_1
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: invokestatic org.junit.Assert.assertTrue:(Z)V
        40: .line 116
            bipush 13
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_0
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        41: .line 117
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 42
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 42
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 42
            iconst_1
            goto 43
      StackMap locals:
      StackMap stack:
        42: iconst_0
      StackMap locals:
      StackMap stack: int
        43: invokestatic org.junit.Assert.assertTrue:(Z)V
        44: .line 119
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            ineg
            i2l
            iconst_0
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        45: .line 120
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 46
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 46
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack:
        46: iconst_0
      StackMap locals:
      StackMap stack: int
        47: invokestatic org.junit.Assert.assertTrue:(Z)V
        48: .line 122
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            bipush 12
            ishl
            ineg
            i2l
            iconst_0
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        49: .line 123
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 50
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 50
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 50
            iconst_1
            goto 51
      StackMap locals:
      StackMap stack:
        50: iconst_0
      StackMap locals:
      StackMap stack: int
        51: invokestatic org.junit.Assert.assertTrue:(Z)V
        52: .line 125
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            iconst_1
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        53: .line 126
            aload 1 /* 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.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 54
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 54
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 54
            iconst_1
            goto 55
      StackMap locals:
      StackMap stack:
        54: iconst_0
      StackMap locals:
      StackMap stack: int
        55: invokestatic org.junit.Assert.assertTrue:(Z)V
        56: .line 128
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            i2l
            iconst_1
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        57: .line 129
            aload 1 /* 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.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 58
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifne 58
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 58
            iconst_1
            goto 59
      StackMap locals:
      StackMap stack:
        58: iconst_0
      StackMap locals:
      StackMap stack: int
        59: invokestatic org.junit.Assert.assertTrue:(Z)V
        60: .line 131
            bipush 13
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            i2l
            iconst_1
            bipush 8
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 1 /* plan */
        61: .line 132
            aload 1 /* 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.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpne 62
            aload 1 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 62
            aload 1 /* 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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 62
            iconst_1
            goto 63
      StackMap locals:
      StackMap stack:
        62: iconst_0
      StackMap locals:
      StackMap stack: int
        63: invokestatic org.junit.Assert.assertTrue:(Z)V
        64: .line 133
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   65     0  this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1   65     1  plan  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressNoAction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 137
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            i2l
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            bipush 8
            aconst_null
            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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 138
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 139
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            if_icmpne 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 138
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 141
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         6: .line 142
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    7     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddIndex();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 146
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_5
            ishl
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            bipush 8
            aconst_null
            iconst_1
            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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 147
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 148
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 147
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 149
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_2
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 150
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 151
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddIndexNoOverwrite();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 155
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_5
            ishl
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            bipush 8
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch: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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 156
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 157
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 156
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 158
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_2
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 159
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 160
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddBaseNoOverwrite();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 164
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            bipush 8
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch: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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 165
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 166
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 165
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 167
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 168
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 169
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddBase();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 173
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            bipush 8
            aconst_null
            iconst_1
            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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 174
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 175
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 174
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 176
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 177
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 178
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddIndexNoOverwriteExtend();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 182
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_5
            ishl
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_1
            bipush 8
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch: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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 183
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 184
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getExtendType:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 183
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 185
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 32
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_2
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 186
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 187
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMakeAddressAddIndexExtend();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 191
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_5
            ishl
            i2l
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_1
            bipush 8
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.scratch:Ljdk/vm/ci/code/Register;
            iconst_1
            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;
            astore 1 /* address */
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         1: .line 192
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isRegisterOffsetScaled:()Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 193
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getExtendType:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address
      StackMap stack:
         3: iconst_0
         4: .line 192
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 194
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 32
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_2
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         6: .line 195
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         7: .line 196
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    8     1  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressUnscaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 200
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 201
            bipush 64
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createImmediateAddress:(ILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 202
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            bipush 8
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 203
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 204
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 205
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressUnscaled2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 209
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 210
            bipush 64
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            ineg
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createImmediateAddress:(ILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 211
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            bipush 8
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 212
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 8
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 213
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 214
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressScaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 218
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 219
            bipush 64
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            bipush 12
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createImmediateAddress:(ILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 220
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            bipush 8
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 221
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            iconst_3
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            bipush 12
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 222
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 1 /* dst */
            bipush 9
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 223
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         6: .line 224
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    7     1      dst  Ljdk/vm/ci/code/Register;
            2    7     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressScaledLowerOnly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 228
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 229
            bipush 64
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            iconst_5
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createImmediateAddress:(ILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 230
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            bipush 8
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 231
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            iconst_5
            invokestatic org.graalvm.compiler.core.common.NumUtil.getNbitNumberInt:(I)I
            iconst_3
            ishl
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 232
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 233
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressScaledHigherOnly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 237
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 238
            bipush 64
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            sipush 16384
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createImmediateAddress:(ILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 239
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            bipush 8
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 240
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            sipush 16384
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 241
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 242
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressRegisterOffsetUnscaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 246
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 247
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createRegisterOffsetAddress:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 248
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            iconst_4
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 249
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.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 250
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 251
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressRegisterOffsetScaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 255
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 256
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_1
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createRegisterOffsetAddress:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 257
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            iconst_4
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 258
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_2
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.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 259
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 260
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressExtendedRegisterOffsetUnscaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 264
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 265
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createExtendedRegisterOffsetAddress:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ZLorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 266
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            iconst_4
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 267
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.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
         4: .line 268
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 269
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadAddressExtendedRegisterOffsetScaled();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 273
            getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
            astore 1 /* dst */
        start local 1 // jdk.vm.ci.code.Register dst
         1: .line 274
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            iconst_1
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createExtendedRegisterOffsetAddress:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ZLorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 275
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            aload 1 /* dst */
            aload 2 /* address */
            iconst_4
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.loadAddress:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
         3: .line 276
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            bipush 64
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.base:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.index:Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_2
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.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
         4: .line 277
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.compareAssembly:()V
         5: .line 278
            return
        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.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    6     1      dst  Ljdk/vm/ci/code/Register;
            2    6     2  address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void compareAssembly();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
         0: .line 284
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.asm:Lorg/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler;
            iconst_1
            invokevirtual org.graalvm.compiler.asm.aarch64.test.TestProtectedAssembler.close:(Z)[B
            astore 1 /* expected */
        start local 1 // byte[] expected
         1: .line 285
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest.masm:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iconst_1
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.close:(Z)[B
            astore 2 /* actual */
        start local 2 // byte[] actual
         2: .line 286
            aload 1 /* expected */
            aload 2 /* actual */
            invokestatic org.junit.Assert.assertArrayEquals:([B[B)V
         3: .line 287
            return
        end local 2 // byte[] actual
        end local 1 // byte[] expected
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64AddressingModeTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest;
            1    4     1  expected  [B
            2    4     2    actual  [B
}
SourceFile: "AArch64AddressingModeTest.java"
InnerClasses:
  public final CPUFeature = jdk.vm.ci.aarch64.AArch64$CPUFeature of jdk.vm.ci.aarch64.AArch64
  public final Flag = jdk.vm.ci.aarch64.AArch64$Flag of jdk.vm.ci.aarch64.AArch64
  public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
  public final ExtendType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final ShiftType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  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