class org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister
super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister> TYPE;
descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;>;
jdk.vm.ci.meta.AllocatableValue result;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Def(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
jdk.vm.ci.meta.AllocatableValue left;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
jdk.vm.ci.meta.AllocatableValue right;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
jdk.vm.ci.meta.AllocatableValue temp;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
putstatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getstatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
invokespecial org.graalvm.compiler.lir.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.result:Ljdk/vm/ci/meta/AllocatableValue;
2: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.left:Ljdk/vm/ci/meta/AllocatableValue;
3: aload 0
aload 3
putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.right:Ljdk/vm/ci/meta/AllocatableValue;
4: aload 0
aload 4
putfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.temp:Ljdk/vm/ci/meta/AllocatableValue;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
0 6 1 result Ljdk/vm/ci/meta/AllocatableValue;
0 6 2 left Ljdk/vm/ci/meta/AllocatableValue;
0 6 3 right Ljdk/vm/ci/meta/AllocatableValue;
0 6 4 temp Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
result
left
right
temp
private static int getRXB(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
iconst_1
ishr
istore 2
start local 2 1: iload 2
aload 1
getfield jdk.vm.ci.code.Register.encoding:I
bipush 8
iand
iconst_3
ishr
ior
istore 2
2: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 reg Ljdk/vm/ci/code/Register;
0 3 1 rm Ljdk/vm/ci/code/Register;
1 3 2 rxb I
MethodParameters:
Name Flags
reg
rm
public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.result:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.left:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 4
start local 4 2: aload 0
getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.right:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.temp:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 6
start local 6 4: aload 2
sipush 196
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
5: aload 2
aload 6
aload 5
invokestatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
iconst_m1
ixor
bipush 7
iand
iconst_5
ishl
iconst_1
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
6: aload 2
aload 4
getfield jdk.vm.ci.code.Register.encoding:I
iconst_m1
ixor
bipush 15
iand
iconst_3
ishl
iconst_4
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
7: aload 2
sipush 194
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
8: aload 2
sipush 192
aload 6
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
iconst_3
ishl
ior
aload 5
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
9: aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
10: aload 2
sipush 196
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
11: aload 2
aload 3
aload 6
invokestatic org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister.getRXB:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)I
iconst_m1
ixor
bipush 7
iand
iconst_5
ishl
iconst_1
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
12: aload 2
bipush 124
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
13: aload 2
bipush 80
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
14: aload 2
sipush 192
aload 3
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
iconst_3
ishl
ior
aload 6
getfield jdk.vm.ci.code.Register.encoding:I
bipush 7
iand
ior
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.emitByte:(I)V
15: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/hotspot/amd64/test/StubAVXTest$CompareAVXRegister;
0 16 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 16 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
1 16 3 res Ljdk/vm/ci/code/Register;
2 16 4 x Ljdk/vm/ci/code/Register;
3 16 5 y Ljdk/vm/ci/code/Register;
4 16 6 tmp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
masm
}
SourceFile: "StubAVXTest.java"
NestHost: org.graalvm.compiler.hotspot.amd64.test.StubAVXTest
InnerClasses:
private CompareAVXRegister = org.graalvm.compiler.hotspot.amd64.test.StubAVXTest$CompareAVXRegister of org.graalvm.compiler.hotspot.amd64.test.StubAVXTest
public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction