public static class AMD64Binary.TwoOp extends AMD64LIRInstruction
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<AMD64Binary.TwoOp> |
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.
|
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
TwoOp(AMD64Assembler.AMD64RMOp opcode,
AMD64BaseAssembler.OperandSize size,
AllocatableValue result,
AllocatableValue x,
AllocatableValue y) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
emitCodeaddStackSlotsToTemporaries, 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, needsClearUpperVectorRegisters, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64Binary.TwoOp> TYPE
protected AllocatableValue result
protected AllocatableValue x
protected AllocatableValue y
public TwoOp(AMD64Assembler.AMD64RMOp opcode, AMD64BaseAssembler.OperandSize size, AllocatableValue result, AllocatableValue x, AllocatableValue y)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstruction