abstract class org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen
  super_class: java.lang.Object
{
  protected org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm1;
    descriptor: Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm2;
    descriptor: Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
    flags: (0x0004) ACC_PROTECTED

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            invokeinterface jdk.vm.ci.runtime.JVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            astore 1 /* target */
        start local 1 // jdk.vm.ci.code.TargetDescription target
         2: .line 66
            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.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm1:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
         3: .line 67
            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.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm2:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
         4: .line 68
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            2    5     1  target  Ljdk/vm/ci/code/TargetDescription;

  void emitScaledImmLdr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt
        start local 3 // jdk.vm.ci.code.Register base
        start local 4 // int imm12
         0: .line 71
            iload 1 /* size */
            bipush 8
            idiv
            istore 5 /* scaleAmount */
        start local 5 // int scaleAmount
         1: .line 72
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 3 /* base */
            iload 4 /* imm12 */
            iload 5 /* scaleAmount */
            imul
            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 6 /* address */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 73
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm2:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt */
            aload 6 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 74
            return
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 5 // int scaleAmount
        end local 4 // int imm12
        end local 3 // jdk.vm.ci.code.Register base
        end local 2 // jdk.vm.ci.code.Register rt
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    4     1         size  I
            0    4     2           rt  Ljdk/vm/ci/code/Register;
            0    4     3         base  Ljdk/vm/ci/code/Register;
            0    4     4        imm12  I
            1    4     5  scaleAmount  I
            2    4     6      address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
       Name  Flags
      size   
      rt     
      base   
      imm12  

  void emitUnscaledImmLdr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt
        start local 3 // jdk.vm.ci.code.Register base
        start local 4 // int imm9
         0: .line 77
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 3 /* base */
            iload 4 /* imm9 */
            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 5 /* address1 */
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Address address1
         1: .line 78
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm2:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt */
            aload 5 /* address1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         2: .line 79
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Address address1
        end local 4 // int imm9
        end local 3 // jdk.vm.ci.code.Register base
        end local 2 // jdk.vm.ci.code.Register rt
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    3     1      size  I
            0    3     2        rt  Ljdk/vm/ci/code/Register;
            0    3     3      base  Ljdk/vm/ci/code/Register;
            0    3     4      imm9  I
            1    3     5  address1  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt    
      base  
      imm9  

  void emitScaledImmStr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt
        start local 3 // jdk.vm.ci.code.Register base
        start local 4 // int imm12
         0: .line 82
            iload 1 /* size */
            bipush 8
            idiv
            istore 5 /* scaleAmount */
        start local 5 // int scaleAmount
         1: .line 83
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 3 /* base */
            iload 4 /* imm12 */
            iload 5 /* scaleAmount */
            imul
            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 6 /* address */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         2: .line 84
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm2:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt */
            aload 6 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 85
            return
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 5 // int scaleAmount
        end local 4 // int imm12
        end local 3 // jdk.vm.ci.code.Register base
        end local 2 // jdk.vm.ci.code.Register rt
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    4     1         size  I
            0    4     2           rt  Ljdk/vm/ci/code/Register;
            0    4     3         base  Ljdk/vm/ci/code/Register;
            0    4     4        imm12  I
            1    4     5  scaleAmount  I
            2    4     6      address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
       Name  Flags
      size   
      rt     
      base   
      imm12  

  void emitUnscaledImmStr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt
        start local 3 // jdk.vm.ci.code.Register base
        start local 4 // int imm9
         0: .line 88
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 3 /* base */
            iload 4 /* imm9 */
            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 5 /* address1 */
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Address address1
         1: .line 89
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm2:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt */
            aload 5 /* address1 */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         2: .line 90
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Address address1
        end local 4 // int imm9
        end local 3 // jdk.vm.ci.code.Register base
        end local 2 // jdk.vm.ci.code.Register rt
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    3     1      size  I
            0    3     2        rt  Ljdk/vm/ci/code/Register;
            0    3     3      base  Ljdk/vm/ci/code/Register;
            0    3     4      imm9  I
            1    3     5  address1  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt    
      base  
      imm9  

  void emitScaledLdp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt1
        start local 3 // jdk.vm.ci.code.Register rt2
        start local 4 // jdk.vm.ci.code.Register base
        start local 5 // int imm7
         0: .line 93
            iload 1 /* size */
            bipush 8
            idiv
            istore 6 /* scaleAmount */
        start local 6 // int scaleAmount
         1: .line 94
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_SIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 4 /* base */
            iload 5 /* imm7 */
            iload 6 /* scaleAmount */
            imul
            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 7 /* mergeAddress */
        start local 7 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
         2: .line 95
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm1:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt1 */
            aload 3 /* rt2 */
            aload 7 /* mergeAddress */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 96
            return
        end local 7 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
        end local 6 // int scaleAmount
        end local 5 // int imm7
        end local 4 // jdk.vm.ci.code.Register base
        end local 3 // jdk.vm.ci.code.Register rt2
        end local 2 // jdk.vm.ci.code.Register rt1
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    4     1          size  I
            0    4     2           rt1  Ljdk/vm/ci/code/Register;
            0    4     3           rt2  Ljdk/vm/ci/code/Register;
            0    4     4          base  Ljdk/vm/ci/code/Register;
            0    4     5          imm7  I
            1    4     6   scaleAmount  I
            2    4     7  mergeAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt1   
      rt2   
      base  
      imm7  

  void emitScaledStp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt1
        start local 3 // jdk.vm.ci.code.Register rt2
        start local 4 // jdk.vm.ci.code.Register base
        start local 5 // int imm7
         0: .line 99
            iload 1 /* size */
            bipush 8
            idiv
            istore 6 /* scaleAmount */
        start local 6 // int scaleAmount
         1: .line 100
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_SIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 4 /* base */
            iload 5 /* imm7 */
            iload 6 /* scaleAmount */
            imul
            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 7 /* mergeAddress */
        start local 7 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
         2: .line 101
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm1:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt1 */
            aload 3 /* rt2 */
            aload 7 /* mergeAddress */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.stp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 102
            return
        end local 7 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
        end local 6 // int scaleAmount
        end local 5 // int imm7
        end local 4 // jdk.vm.ci.code.Register base
        end local 3 // jdk.vm.ci.code.Register rt2
        end local 2 // jdk.vm.ci.code.Register rt1
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    4     1          size  I
            0    4     2           rt1  Ljdk/vm/ci/code/Register;
            0    4     3           rt2  Ljdk/vm/ci/code/Register;
            0    4     4          base  Ljdk/vm/ci/code/Register;
            0    4     5          imm7  I
            1    4     6   scaleAmount  I
            2    4     7  mergeAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt1   
      rt2   
      base  
      imm7  

  void emitUnscaledLdp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt1
        start local 3 // jdk.vm.ci.code.Register rt2
        start local 4 // jdk.vm.ci.code.Register base
        start local 5 // int imm
         0: .line 105
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_SIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 4 /* base */
            iload 5 /* imm */
            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 6 /* mergeAddress */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
         1: .line 106
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm1:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt1 */
            aload 3 /* rt2 */
            aload 6 /* mergeAddress */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         2: .line 107
            return
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
        end local 5 // int imm
        end local 4 // jdk.vm.ci.code.Register base
        end local 3 // jdk.vm.ci.code.Register rt2
        end local 2 // jdk.vm.ci.code.Register rt1
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    3     1          size  I
            0    3     2           rt1  Ljdk/vm/ci/code/Register;
            0    3     3           rt2  Ljdk/vm/ci/code/Register;
            0    3     4          base  Ljdk/vm/ci/code/Register;
            0    3     5           imm  I
            1    3     6  mergeAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt1   
      rt2   
      base  
      imm   

  void emitUnscaledStp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register rt1
        start local 3 // jdk.vm.ci.code.Register rt2
        start local 4 // jdk.vm.ci.code.Register base
        start local 5 // int imm
         0: .line 110
            iload 1 /* size */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_SIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            aload 4 /* base */
            iload 5 /* imm */
            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 6 /* mergeAddress */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
         1: .line 111
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen.masm1:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            iload 1 /* size */
            aload 2 /* rt1 */
            aload 3 /* rt2 */
            aload 6 /* mergeAddress */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.stp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         2: .line 112
            return
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address mergeAddress
        end local 5 // int imm
        end local 4 // jdk.vm.ci.code.Register base
        end local 3 // jdk.vm.ci.code.Register rt2
        end local 2 // jdk.vm.ci.code.Register rt1
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/asm/aarch64/test/AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen;
            0    3     1          size  I
            0    3     2           rt1  Ljdk/vm/ci/code/Register;
            0    3     3           rt2  Ljdk/vm/ci/code/Register;
            0    3     4          base  Ljdk/vm/ci/code/Register;
            0    3     5           imm  I
            1    3     6  mergeAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
      Name  Flags
      size  
      rt1   
      rt2   
      base  
      imm   

  abstract void checkAssembly();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT
}
SourceFile: "AArch64LoadStoreMergingAssemblerTest.java"
NestHost: org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest
InnerClasses:
  public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
  private abstract AArch64LoadStoreCodeGen = org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest$AArch64LoadStoreCodeGen of org.graalvm.compiler.asm.aarch64.test.AArch64LoadStoreMergingAssemblerTest