public class org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest extends org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest
  super_class: org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
         0: .line 30
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;

  public long signedMulLong(int, int);
    descriptor: (II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
         0: .line 33
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lreturn
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public long signedMulLongFromShort(short, short);
    descriptor: (SS)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // short a
        start local 2 // short b
         0: .line 37
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lreturn
        end local 2 // short b
        end local 1 // short a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  S
            0    1     2     b  S
    MethodParameters:
      Name  Flags
      a     
      b     

  public long signedMulLongFromChar(char, char);
    descriptor: (CC)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // char a
        start local 2 // char b
         0: .line 41
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lreturn
        end local 2 // char b
        end local 1 // char a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  C
            0    1     2     b  C
    MethodParameters:
      Name  Flags
      a     
      b     

  public long signedMulLongFromByte(byte, byte);
    descriptor: (BB)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // byte a
        start local 2 // byte b
         0: .line 45
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lreturn
        end local 2 // byte b
        end local 1 // byte a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  B
            0    1     2     b  B
    MethodParameters:
      Name  Flags
      a     
      b     

  public void testSignedMulLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
         0: .line 50
            aload 0 /* this */
            ldc "signedMulLong"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 305419896
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -2023406815
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 51
            aload 0 /* this */
            ldc "signedMulLong"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$0(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         2: .line 52
            aload 0 /* this */
            ldc "signedMulLongFromShort"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 32767
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            sipush -32768
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 53
            aload 0 /* this */
            ldc "signedMulLongFromShort"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$1(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         4: .line 54
            aload 0 /* this */
            ldc "signedMulLongFromChar"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 59999
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            dup
            iconst_1
            ldc 65535
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 55
            aload 0 /* this */
            ldc "signedMulLongFromChar"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$2(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         6: .line 56
            aload 0 /* this */
            ldc "signedMulLongFromByte"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 10
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         7: .line 57
            aload 0 /* this */
            ldc "signedMulLongFromByte"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$3(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         8: .line 58
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public long signedMNegLong1(int, int);
    descriptor: (II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
         0: .line 61
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lneg
            lreturn
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public long signedMNegLong2(int, int);
    descriptor: (II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
         0: .line 65
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lneg
            lmul
            lreturn
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public void testSignedMNegLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
         0: .line 70
            aload 0 /* this */
            ldc "signedMNegLong1"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc -1985229329
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -19088744
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 71
            aload 0 /* this */
            ldc "signedMNegLong1"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$4(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         2: .line 72
            aload 0 /* this */
            ldc "signedMNegLong2"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc -1985229329
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -19088744
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 73
            aload 0 /* this */
            ldc "signedMNegLong2"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$5(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         4: .line 74
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public long signedMAddLong1(int, int, long);
    descriptor: (IIJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
        start local 3 // long c
         0: .line 77
            lload 3 /* c */
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            ladd
            lreturn
        end local 3 // long c
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
            0    1     3     c  J
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public long signedMAddLong2(int, int, long);
    descriptor: (IIJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
        start local 3 // long c
         0: .line 81
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lload 3 /* c */
            ladd
            lreturn
        end local 3 // long c
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
            0    1     3     c  J
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public void testSignedMAddLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
         0: .line 86
            aload 0 /* this */
            ldc "signedMAddLong1"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 572688520
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -1431647028
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            ldc 320255973501901
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 87
            aload 0 /* this */
            ldc "signedMAddLong1"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$6(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         2: .line 88
            aload 0 /* this */
            ldc "signedMAddLong2"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 572688520
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -1431647028
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            ldc 320255973501901
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 89
            aload 0 /* this */
            ldc "signedMAddLong2"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$7(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         4: .line 90
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public long signedMSubLong(int, int, long);
    descriptor: (IIJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
        start local 1 // int a
        start local 2 // int b
        start local 3 // long c
         0: .line 93
            lload 3 /* c */
            iload 1 /* a */
            i2l
            iload 2 /* b */
            i2l
            lmul
            lsub
            lreturn
        end local 3 // long c
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
            0    1     1     a  I
            0    1     2     b  I
            0    1     3     c  J
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public void testSignedMSubLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
         0: .line 98
            aload 0 /* this */
            ldc "signedMSubLong"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc -1718004395
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc -286344261
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            ldc 920735923817967
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 99
            aload 0 /* this */
            ldc "signedMSubLong"
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest.lambda$8(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         2: .line 100
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MultiplyLongTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MultiplyLongTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean lambda$0(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 51
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMULL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$1(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 53
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMULL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$2(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 55
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMULL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$3(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 57
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMULL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$4(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 71
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMNEGL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$5(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 73
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMNEGL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$6(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 87
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMADDL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$7(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 89
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMADDL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$8(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 99
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
            ldc "SMSUBL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "AArch64MultiplyLongTest.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest