|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.backend.RegisterSet scale.backend.sparc.SparcRegisterSet
public abstract class SparcRegisterSet
This class describes the register set of the Sparc.
$Id: SparcRegisterSet.java,v 1.13 2005-02-07 21:27:39 burrill Exp $
Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
The Sparc has 96 programmable registers. The registers 0..31 are used for integer values and addresses. This includes the stack pointer and other housekeeping registers. Registers 0 contains a hardwired 0 value.
Registers 32 through 63 are used for single precision floating point values. Registers 64 through 95 are used for double precision floating point values. Registers 96 through 111 are used for quad precision floating point values. Note that registers [32:63] overlap registers [64:79] and [96:103]. This is handled in register allocation by the rangebegin() and rangeEnd() methods.
Field Summary | |
---|---|
static int |
D0_REG
Floating point double-precision register %d0. |
static int |
D2_REG
Floating point double-precision register %d2. |
static int |
F0_REG
Floating point register %f0. |
static int |
F1_REG
Floating point register %f1. |
static int |
FP_REG
Frame pointer register. |
static int |
G0_REG
Integer global register %g0. |
static int |
G1_REG
Integer global register %g1. |
static int |
G2_REG
Integer global register %g2. |
static int |
G3_REG
Integer global register %g3. |
static int |
G4_REG
Integer global register %g4. |
static int |
G5_REG
Integer global register %g5. |
static int |
G6_REG
Integer global register %g6. |
static int |
G7_REG
Integer global register %g7. |
static int |
I0_REG
Integer global register %i0. |
static int |
I1_REG
Integer global register %i1. |
static int |
I2_REG
Integer global register %i2. |
static int |
I3_REG
Integer global register %i3. |
static int |
I4_REG
Integer global register %i4. |
static int |
I5_REG
Integer global register %i5. |
static int |
I6_REG
Integer global register %i6. |
static int |
I7_REG
Integer global register %i7. |
static int |
L0_REG
Integer global register %l0. |
static int |
L1_REG
Integer global register %l1. |
static int |
L2_REG
Integer global register %l2. |
static int |
L3_REG
Integer global register %l3. |
static int |
L4_REG
Integer global register %l4. |
static int |
L5_REG
Integer global register %l5. |
static int |
L6_REG
Integer global register %l6. |
static int |
L7_REG
Integer global register %l7. |
static int |
O0_REG
Integer global register %o0. |
static int |
O1_REG
Integer global register %o1. |
static int |
O2_REG
Integer global register %o2. |
static int |
O3_REG
Integer global register %o3. |
static int |
O4_REG
Integer global register %o4. |
static int |
O5_REG
Integer global register %o5. |
static int |
O6_REG
Integer global register %o6. |
static int |
O7_REG
Integer global register %o7. |
static int |
Q0_REG
Floating point quad-precision register %q0. |
static int |
Q2_REG
Floating point quad-precision register %q4. |
static int |
SP_REG
Stack pointer register |
Fields inherited from class scale.backend.RegisterSet |
---|
ADRREG, AFIREG, AIREG, checkMask, CNTREG, DBLEREG, FIREG, FLTREG, INTREG, nextRegister, PAIRREG, QUADREG, RDREG, registers, sizeMask, SPCREG, typeMask |
Constructor Summary | |
---|---|
SparcRegisterSet(short[] actualRegisters)
|
Method Summary | |
---|---|
int |
numAllocatableRegisters()
Return the number of unique registers that can hold programmer values. |
int |
registerSize(int reg)
Return the size of the register in bytes. |
int |
tempRegisterType(Type type,
long bs)
Return the register type with the size information added. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int G0_REG
public static final int G1_REG
public static final int G2_REG
public static final int G3_REG
public static final int G4_REG
public static final int G5_REG
public static final int G6_REG
public static final int G7_REG
public static final int O0_REG
public static final int O1_REG
public static final int O2_REG
public static final int O3_REG
public static final int O4_REG
public static final int O5_REG
public static final int O6_REG
public static final int O7_REG
public static final int L0_REG
public static final int L1_REG
public static final int L2_REG
public static final int L3_REG
public static final int L4_REG
public static final int L5_REG
public static final int L6_REG
public static final int L7_REG
public static final int I0_REG
public static final int I1_REG
public static final int I2_REG
public static final int I3_REG
public static final int I4_REG
public static final int I5_REG
public static final int I6_REG
public static final int I7_REG
public static final int F0_REG
public static final int F1_REG
public static final int FP_REG
public static final int SP_REG
public static final int D0_REG
public static final int D2_REG
public static final int Q0_REG
public static final int Q2_REG
Constructor Detail |
---|
public SparcRegisterSet(short[] actualRegisters)
Method Detail |
---|
public int registerSize(int reg)
registerSize
in class RegisterSet
public int numAllocatableRegisters()
numAllocatableRegisters
in class RegisterSet
public int tempRegisterType(Type type, long bs)
tempRegisterType
in class RegisterSet
type
- is the type requiredbs
- is the size required
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |