diff -r 5d4c3724e4c7 -r 03fbcd06b4c0 src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Ternary.java --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Ternary.java Thu Nov 14 11:16:14 2019 -0800 +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Ternary.java Thu Nov 14 12:21:00 2019 -0800 @@ -37,6 +37,7 @@ import org.graalvm.compiler.asm.amd64.AVXKind.AVXSize; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.Opcode; +import org.graalvm.compiler.lir.amd64.vector.AMD64VectorInstruction; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; import jdk.vm.ci.meta.AllocatableValue; @@ -49,11 +50,10 @@ /** * Instruction that has two {@link AllocatableValue} operands. */ - public static class ThreeOp extends AMD64LIRInstruction { + public static class ThreeOp extends AMD64VectorInstruction { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(ThreeOp.class); @Opcode private final VexRVMOp opcode; - private final AVXSize size; @Def({REG, HINT}) protected AllocatableValue result; @Use({REG}) protected AllocatableValue x; @@ -65,10 +65,8 @@ @Alive({REG, STACK}) protected AllocatableValue z; public ThreeOp(VexRVMOp opcode, AVXSize size, AllocatableValue result, AllocatableValue x, AllocatableValue y, AllocatableValue z) { - super(TYPE); + super(TYPE, size); this.opcode = opcode; - this.size = size; - this.result = result; this.x = x; this.y = y;