scale.backend.ppc
Class FDrcccInstruction

java.lang.Object
  extended by scale.backend.Instruction
      extended by scale.backend.ppc.PPCInstruction
          extended by scale.backend.ppc.FDInstruction
              extended by scale.backend.ppc.FDrInstruction
                  extended by scale.backend.ppc.FDrcInstruction
                      extended by scale.backend.ppc.FDrccInstruction
                          extended by scale.backend.ppc.FDrcccInstruction
All Implemented Interfaces:
java.lang.Cloneable

public class FDrcccInstruction
extends FDrccInstruction

This is the base class for all PPC instructions that have a destination register, a source register, and three constants.

$Id: FDrcccInstruction.java,v 1.6 2006-11-09 00:56:04 burrill Exp $

Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.


Field Summary
protected  int cv3
          The third constant value.
 
Fields inherited from class scale.backend.ppc.FDrccInstruction
cv2
 
Fields inherited from class scale.backend.ppc.FDrcInstruction
cv1, macosx
 
Fields inherited from class scale.backend.ppc.FDrInstruction
ra
 
Fields inherited from class scale.backend.ppc.FDInstruction
rd
 
Fields inherited from class scale.backend.ppc.PPCInstruction
opcode
 
Constructor Summary
FDrcccInstruction(int opcode, int rd, int ra, int cv1, int cv2, int cv3)
           
 
Method Summary
 void assembler(Assembler asm, Emit emit)
          Insert the assembler representation of the instruction into the output stream.
 void specifyRegisterUsage(RegisterAllocator rs, int index, int strength)
          Specify the registers used by this instruction.
 java.lang.String toString()
           
 
Methods inherited from class scale.backend.ppc.FDrInstruction
getDestRegister, getSrcRegisters, independent, remapRegisters, remapSrcRegister, uses
 
Methods inherited from class scale.backend.ppc.FDInstruction
defs, remapDestRegister
 
Methods inherited from class scale.backend.ppc.PPCInstruction
assembleDisp, canBeDeleted, getOpcode, instructionSize, isLoad, isStore, setOpcode
 
Methods inherited from class scale.backend.Instruction
clone, copy, ehash, getBBID, getCopyDest, getCopySrc, getExecutionCycles, getFunctionalUnit, getLoopNumber, getNext, getPredicate, getPredicates, getTag, isBranch, isCopy, isLabel, isMandatory, isMarker, isPhi, isPredicated, isPredicatedOnTrue, isPrefetch, isSpillInstruction, isSpillLoadPoint, isSpillStorePoint, markSpillInstruction, mods, nullified, nullify, numPredicates, removePredicates, setBBID, setLoopNumber, setMandatory, setNext, setPredicate, setPredicate, setPredicatedOnTrue, setPredicates, setsSpecialReg, setTag, specifyNotSpillLoadPoint, specifySpillStorePoint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cv3

protected int cv3
The third constant value.

Constructor Detail

FDrcccInstruction

public FDrcccInstruction(int opcode,
                         int rd,
                         int ra,
                         int cv1,
                         int cv2,
                         int cv3)
Parameters:
opcode - is the instruction's opcode
rd - is the destination register
ra - is the source register
cv1 - is the first constant value
cv2 - is the second constant value
cv3 - is the third constant value
Method Detail

assembler

public void assembler(Assembler asm,
                      Emit emit)
Insert the assembler representation of the instruction into the output stream.

Overrides:
assembler in class FDrccInstruction

toString

public java.lang.String toString()
Overrides:
toString in class FDrccInstruction

specifyRegisterUsage

public void specifyRegisterUsage(RegisterAllocator rs,
                                 int index,
                                 int strength)
Specify the registers used by this instruction.

Overrides:
specifyRegisterUsage in class FDrInstruction
Parameters:
rs - is the register set in use
index - is an index associated with the instruction
strength - is the importance of the instruction
See Also:
RegisterAllocator.useRegister(int,int,int), RegisterAllocator.defRegister(int,int)