|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.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 X86RInstruction
public int getReg2()
getReg2
in class X86Instruction
public void setReg2(int reg2)
setReg2
in class X86Instruction
public void remapRegisters(int[] map)
Instruction
remapRegisters
in class X86RInstruction
map
- maps from the virtual register to real registerpublic void remapSrcRegister(int oldReg, int newReg)
remapSrcRegister
in class X86RInstruction
oldReg
- is the previous source registernewReg
- is the new source registerpublic boolean uses(int register, RegisterSet registers)
uses
in class X86RInstruction
public void assembler(Assembler asm, Emit emit)
assembler
in class X86RInstruction
public java.lang.String toString()
toString
in class X86RInstruction
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |