public class AMD64MulDivOp extends AMD64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
highResult |
protected AllocatableValue |
highX |
protected AllocatableValue |
lowResult |
protected AllocatableValue |
lowX |
private AMD64Assembler.AMD64MOp |
opcode |
private AMD64Assembler.OperandSize |
size |
protected LIRFrameState |
state |
static LIRInstructionClass<AMD64MulDivOp> |
TYPE |
protected AllocatableValue |
y |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
AMD64MulDivOp(AMD64Assembler.AMD64MOp opcode,
AMD64Assembler.OperandSize size,
LIRKind resultKind,
AllocatableValue x,
AllocatableValue y) |
AMD64MulDivOp(AMD64Assembler.AMD64MOp opcode,
AMD64Assembler.OperandSize size,
LIRKind resultKind,
AllocatableValue highX,
AllocatableValue lowX,
AllocatableValue y,
LIRFrameState state) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
AllocatableValue |
getHighResult() |
AllocatableValue |
getLowResult() |
AllocatableValue |
getQuotient() |
AllocatableValue |
getRemainder() |
void |
verify() |
emitCodedestroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getLIRInstructionClass, hasOperands, hasState, id, name, setId, toString, toStringWithIdPrefix, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64MulDivOp> TYPE
private final AMD64Assembler.AMD64MOp opcode
private final AMD64Assembler.OperandSize size
protected AllocatableValue highResult
protected AllocatableValue lowResult
protected AllocatableValue highX
protected AllocatableValue lowX
protected AllocatableValue y
protected LIRFrameState state
public AMD64MulDivOp(AMD64Assembler.AMD64MOp opcode, AMD64Assembler.OperandSize size, LIRKind resultKind, AllocatableValue x, AllocatableValue y)
public AMD64MulDivOp(AMD64Assembler.AMD64MOp opcode, AMD64Assembler.OperandSize size, LIRKind resultKind, AllocatableValue highX, AllocatableValue lowX, AllocatableValue y, LIRFrameState state)
public AllocatableValue getHighResult()
public AllocatableValue getLowResult()
public AllocatableValue getQuotient()
public AllocatableValue getRemainder()
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstructionpublic void verify()
verify in class LIRInstruction