public class org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest 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.AArch64MergeExtendWithAddSubTest
super_class: org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
{
private static final java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> PRED_EXTEND_ADD_SHIFT;
descriptor: Ljava/util/function/Predicate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
private static final java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> PRED_EXTEND_SUB_SHIFT;
descriptor: Ljava/util/function/Predicate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
private static final java.lang.Long[] LONG_VALUES;
descriptor: [Ljava/lang/Long;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer[] INT_VALUES;
descriptor: [Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: 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/AArch64MergeExtendWithAddSubTest.lambda$0(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
1: 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/AArch64MergeExtendWithAddSubTest.lambda$1(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
2: bipush 8
anewarray java.lang.Long
dup
iconst_0
ldc -1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
ldc 1311768465173141112
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
ldc 4294967295
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
ldc 18
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
ldc 4660
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
ldc -9223372036854775808
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 7
ldc 9223372036854775807
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
3: bipush 6
anewarray java.lang.Integer
dup
iconst_0
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 4660
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
ldc 305419896
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
ldc -2147483648
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
private <T> void predicateExist(java.lang.String[], T[], java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction>);
descriptor: ([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate top int int java.lang.String[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 7
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate java.lang.String int int java.lang.String[] top int int java.lang.Object[]
StackMap stack:
3: aload 11
iload 9
aaload
astore 8
start local 8 4: aload 0
aload 4
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 8
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: aload 0
aload 4
aload 3
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
end local 8 6: iinc 9 1
StackMap locals:
StackMap stack:
7: iload 9
iload 10
if_icmplt 3
end local 4 8: iinc 5 1
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate top int int java.lang.String[]
StackMap stack:
9: iload 5
iload 6
if_icmplt 1
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 11 1 testCases [Ljava/lang/String;
0 11 2 values [Ljava/lang/Object;
0 11 3 predicate Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
2 8 4 t Ljava/lang/String;
4 6 8 value TT;
Signature: <T:Ljava/lang/Object;>([Ljava/lang/String;[TT;Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;)V
MethodParameters:
Name Flags
testCases
values
predicate
public long addI2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_3
lshl
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z I
MethodParameters:
Name Flags
x
y
public long addB2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2b
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_2
lshl
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z B
MethodParameters:
Name Flags
x
y
public long addC2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2c
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_1
lshl
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z C
MethodParameters:
Name Flags
x
y
public long addS2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2s
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_4
lshl
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z S
MethodParameters:
Name Flags
x
y
public long subI2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_1
lshl
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z I
MethodParameters:
Name Flags
x
y
public long subB2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2b
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_2
lshl
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z B
MethodParameters:
Name Flags
x
y
public long subC2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2c
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_3
lshl
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z C
MethodParameters:
Name Flags
x
y
public long subS2LShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2s
istore 5
start local 5 1: lload 1
iload 5
i2l
iconst_4
lshl
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z S
MethodParameters:
Name Flags
x
y
public long addI2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
istore 5
start local 5 1: lload 1
iload 5
i2l
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z I
MethodParameters:
Name Flags
x
y
public long addB2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2b
istore 5
start local 5 1: lload 1
iload 5
i2l
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z B
MethodParameters:
Name Flags
x
y
public long addC2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2c
istore 5
start local 5 1: lload 1
iload 5
i2l
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z C
MethodParameters:
Name Flags
x
y
public long addS2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2s
istore 5
start local 5 1: lload 1
iload 5
i2l
ladd
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z S
MethodParameters:
Name Flags
x
y
public int addB2S(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
i2s
istore 3
start local 3 1: iload 2
i2b
istore 4
start local 4 2: iload 3
iload 4
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 3 1 x I
0 3 2 y I
1 3 3 a S
2 3 4 b B
MethodParameters:
Name Flags
x
y
public int addB2SShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
i2s
istore 3
start local 3 1: iload 2
i2b
istore 4
start local 4 2: iload 3
iload 4
iconst_2
ishl
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 3 1 x I
0 3 2 y I
1 3 3 a S
2 3 4 b B
MethodParameters:
Name Flags
x
y
public int addB2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2b
istore 3
start local 3 1: iload 1
iload 3
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z B
MethodParameters:
Name Flags
x
y
public int addB2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2b
istore 3
start local 3 1: iload 1
iload 3
iconst_3
ishl
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z B
MethodParameters:
Name Flags
x
y
public int addS2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2s
istore 3
start local 3 1: iload 1
iload 3
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z S
MethodParameters:
Name Flags
x
y
public int addS2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2s
istore 3
start local 3 1: iload 1
iload 3
iconst_2
ishl
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z S
MethodParameters:
Name Flags
x
y
public int addC2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2c
istore 3
start local 3 1: iload 1
iload 3
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z C
MethodParameters:
Name Flags
x
y
public int addC2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2c
istore 3
start local 3 1: iload 1
iload 3
iconst_1
ishl
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z C
MethodParameters:
Name Flags
x
y
public void mergeSignExtendIntoAdd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "addB2S"
aastore
dup
iconst_1
ldc "addB2I"
aastore
dup
iconst_2
ldc "addS2I"
aastore
dup
iconst_3
ldc "addC2I"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "addB2L"
aastore
dup
iconst_1
ldc "addC2L"
aastore
dup
iconst_2
ldc "addI2L"
aastore
dup
iconst_3
ldc "addS2L"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void mergeSignExtendShiftIntoAdd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "addB2SShift"
aastore
dup
iconst_1
ldc "addB2IShift"
aastore
dup
iconst_2
ldc "addS2IShift"
aastore
dup
iconst_3
ldc "addC2IShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "addB2LShift"
aastore
dup
iconst_1
ldc "addC2LShift"
aastore
dup
iconst_2
ldc "addI2LShift"
aastore
dup
iconst_3
ldc "addS2LShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public long subI2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
istore 5
start local 5 1: lload 1
iload 5
i2l
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z I
MethodParameters:
Name Flags
x
y
public long subB2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2b
istore 5
start local 5 1: lload 1
iload 5
i2l
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z B
MethodParameters:
Name Flags
x
y
public long subC2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2c
istore 5
start local 5 1: lload 1
iload 5
i2l
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z C
MethodParameters:
Name Flags
x
y
public long subS2L(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 3
l2i
i2s
istore 5
start local 5 1: lload 1
iload 5
i2l
lsub
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x J
0 2 3 y J
1 2 5 z S
MethodParameters:
Name Flags
x
y
public int subB2S(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
i2s
istore 3
start local 3 1: iload 2
i2b
istore 4
start local 4 2: iload 3
iload 4
isub
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 3 1 x I
0 3 2 y I
1 3 3 a S
2 3 4 b B
MethodParameters:
Name Flags
x
y
public int subB2SShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
i2s
istore 3
start local 3 1: iload 2
i2b
istore 4
start local 4 2: iload 3
iload 4
iconst_2
ishl
isub
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 3 1 x I
0 3 2 y I
1 3 3 a S
2 3 4 b B
MethodParameters:
Name Flags
x
y
public int subB2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2b
istore 3
start local 3 1: iload 1
iload 3
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z B
MethodParameters:
Name Flags
x
y
public int subB2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2b
istore 3
start local 3 1: iload 1
iload 3
iconst_3
ishl
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z B
MethodParameters:
Name Flags
x
y
public int subS2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2s
istore 3
start local 3 1: iload 1
iload 3
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z S
MethodParameters:
Name Flags
x
y
public int subS2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2s
istore 3
start local 3 1: iload 1
iload 3
iconst_2
ishl
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z S
MethodParameters:
Name Flags
x
y
public int subC2I(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2c
istore 3
start local 3 1: iload 1
iload 3
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z C
MethodParameters:
Name Flags
x
y
public int subC2IShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2c
istore 3
start local 3 1: iload 1
iload 3
iconst_1
ishl
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
0 2 1 x I
0 2 2 y I
1 2 3 z C
MethodParameters:
Name Flags
x
y
public void mergeSignExtendShiftIntoSub();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "subB2SShift"
aastore
dup
iconst_1
ldc "subB2IShift"
aastore
dup
iconst_2
ldc "subS2IShift"
aastore
dup
iconst_3
ldc "subC2IShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "subB2LShift"
aastore
dup
iconst_1
ldc "subC2LShift"
aastore
dup
iconst_2
ldc "subI2LShift"
aastore
dup
iconst_3
ldc "subS2LShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void mergeSignExtendIntoSub();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "subB2S"
aastore
dup
iconst_1
ldc "subB2I"
aastore
dup
iconst_2
ldc "subS2I"
aastore
dup
iconst_3
ldc "subC2I"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "subB2L"
aastore
dup
iconst_1
ldc "subC2L"
aastore
dup
iconst_2
ldc "subI2L"
aastore
dup
iconst_3
ldc "subS2L"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeExtendWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeExtendWithAddSubTest;
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 0: aload 0
instanceof org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
ldc "ADD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 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 0: aload 0
instanceof org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
ldc "SUB"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "AArch64MergeExtendWithAddSubTest.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
public ExtendedAddSubShiftOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp