public static class AMD64Ternary.ThreeOp extends AMD64VectorInstruction
AllocatableValue operands.LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
result |
static LIRInstructionClass<AMD64Ternary.ThreeOp> |
TYPE |
protected AllocatableValue |
x |
protected AllocatableValue |
y
This argument must be Alive to ensure that result and y are not assigned to the same
register, which would break the code generation by destroying y too early.
|
protected AllocatableValue |
z |
sizeADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
ThreeOp(AMD64Assembler.VexRVMOp opcode,
AVXKind.AVXSize size,
AllocatableValue result,
AllocatableValue x,
AllocatableValue y,
AllocatableValue z) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
needsClearUpperVectorRegistersemitCodeaddStackSlotsToTemporaries, destroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getComment, getLIRInstructionClass, getPosition, hashCode, hasOperands, hasState, id, isLoadConstantOp, isMoveOp, isValueMoveOp, name, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64Ternary.ThreeOp> TYPE
protected AllocatableValue result
protected AllocatableValue x
protected AllocatableValue y
protected AllocatableValue z
public ThreeOp(AMD64Assembler.VexRVMOp opcode, AVXKind.AVXSize size, AllocatableValue result, AllocatableValue x, AllocatableValue y, AllocatableValue z)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstruction