|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.backend.Instruction
scale.backend.x86.X86Instruction
scale.backend.x86.X86RInstruction
scale.backend.x86.X86RRInstruction
public class X86RRInstruction
This is the base class for all X86 instructions except branches that reference two registers.
$Id$
Copyright 2008 by James H. Burrill
All Rights Reserved.
| Field Summary | |
|---|---|
protected int |
reg2
|
| Fields inherited from class scale.backend.x86.X86RInstruction |
|---|
reg |
| Fields inherited from class scale.backend.x86.X86Instruction |
|---|
opcode, setCC, useCC |
| Constructor Summary | |
|---|---|
X86RRInstruction(int opcode,
int reg,
int reg2)
|
|
| Method Summary | |
|---|---|
void |
assembler(Assembler asm,
Emit emit)
Insert the assembler representation of the instruction into the output stream. |
protected boolean |
checkForm(int opcode)
Return true if the specified form is valid for this instruction opcode. |
int |
getReg2()
|
void |
remapRegisters(int[] map)
Map the virtual registers referenced in the instruction to the specified real registers. |
void |
remapSrcRegister(int oldReg,
int newReg)
Map the registers used in the instruction as sources to the specified register. |
void |
setReg2(int reg2)
|
java.lang.String |
toString()
|
boolean |
uses(int register,
RegisterSet registers)
Return true if the instruction uses the register. |
| Methods inherited from class scale.backend.x86.X86RInstruction |
|---|
defs, getDestRegister, getReg, remapDestRegister, setReg, specifyRegisterUsage |
| Methods inherited from class scale.backend.x86.X86Instruction |
|---|
assembleDisp, buildAddress, canBeDeleted, getDisplacement, getDisplacement2, getOpcode, getOperandSize, getOperandSizeLabel, getReg3, getScale, independent, independentCC, instructionSize, isReversed, setDisplacement, setDisplacement2, setOpcode, setOperandSize, setReg3, setScale, setsCC, setSetCC, setsSpecialReg, setUseCC, usesCC |
| Methods inherited from class scale.backend.Instruction |
|---|
clone, copy, ehash, getBBID, getCopyDest, getCopySrc, getExecutionCycles, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getSrcRegisters, getTag, isBranch, isCopy, isLabel, isLoad, isMandatory, isMarker, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, isStore, markSpillInstruction, mods, nullified, nullify, numPredicates, removePredicates, setBBID, setLoopNumber, setMandatory, setNext, setPredicate, setPredicate, setPredicatedOnTrue, setPredicates, setTag, specifyNotSpillLoadPoint, specifySpillStorePoint |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected int reg2
| Constructor Detail |
|---|
public X86RRInstruction(int opcode,
int reg,
int reg2)
| Method Detail |
|---|
protected boolean checkForm(int opcode)
X86Instruction
checkForm in class X86RInstructionpublic int getReg2()
getReg2 in class X86Instructionpublic void setReg2(int reg2)
setReg2 in class X86Instructionpublic void remapRegisters(int[] map)
Instruction
remapRegisters in class X86RInstructionmap - maps from the virtual register to real register
public void remapSrcRegister(int oldReg,
int newReg)
remapSrcRegister in class X86RInstructionoldReg - is the previous source registernewReg - is the new source register
public boolean uses(int register,
RegisterSet registers)
uses in class X86RInstruction
public void assembler(Assembler asm,
Emit emit)
assembler in class X86RInstructionpublic java.lang.String toString()
toString in class X86RInstruction
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||