public final class AArch64MathCopySignOp extends AArch64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected Value |
magnitude
These arguments must be Alive to ensure that they are not assigned to the same register as
result, which would break the code generation by destroying these arguments too early.
|
protected Value |
result |
protected Value |
sign |
static LIRInstructionClass<AArch64MathCopySignOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
AArch64MathCopySignOp(Value result,
AllocatableValue magnitude,
AllocatableValue sign) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AArch64MacroAssembler 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<AArch64MathCopySignOp> TYPE
protected Value result
protected Value magnitude
protected Value sign
public AArch64MathCopySignOp(Value result,
AllocatableValue magnitude,
AllocatableValue sign)
public void emitCode(CompilationResultBuilder crb, AArch64MacroAssembler masm)
emitCode in class AArch64LIRInstruction