public static class AArch64ArithmeticOp.ExtendedAddSubShiftOp extends AArch64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
result |
protected AllocatableValue |
src1 |
protected AllocatableValue |
src2 |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
ExtendedAddSubShiftOp(AArch64ArithmeticOp op,
AllocatableValue result,
AllocatableValue src1,
AllocatableValue src2,
AArch64Assembler.ExtendType extendType,
int shiftAmt)
Computes
result = src1 + extendType(src2) << shiftAmt. |
| 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, visitEachTempprotected AllocatableValue result
protected AllocatableValue src1
protected AllocatableValue src2
public ExtendedAddSubShiftOp(AArch64ArithmeticOp op, AllocatableValue result, AllocatableValue src1, AllocatableValue src2, AArch64Assembler.ExtendType extendType, int shiftAmt)
result = src1 + extendType(src2) << shiftAmt.extendType - defines how src2 is extended to the same size as src1.shiftAmt - must be in range 0 to 4.public void emitCode(CompilationResultBuilder crb, AArch64MacroAssembler masm)
emitCode in class AArch64LIRInstruction