Make these names more meaningful.
Specifically, made these substitutions:
s/FP_Base_DepTag/FP_Reg_Base/g;
s/Ctrl_Base_DepTag/Misc_Reg_Base/g;
s/Max_DepTag/Max_Reg_Index/g;
#ifndef SS_COMPATIBLE_DISASSEMBLY
std::string suffix("");
- suffix += ((_destRegIdx[0] >= FP_Base_DepTag)
+ suffix += ((_destRegIdx[0] >= FP_Reg_Base)
? fpTrappingModeSuffix[trappingMode]
: intTrappingModeSuffix[trappingMode]);
suffix += roundingModeSuffix[roundingMode];
/// this class and derived classes. Maybe these should really
/// live here and not in the AlphaISA namespace.
enum DependenceTags {
- FP_Base_DepTag = AlphaISA::FP_Base_DepTag
+ FP_Reg_Base = AlphaISA::FP_Reg_Base
};
/// Constructor.
void
AlphaStaticInst::printReg(std::ostream &os, int reg) const
{
- if (reg < FP_Base_DepTag) {
+ if (reg < FP_Reg_Base) {
ccprintf(os, "r%d", reg);
}
else {
- ccprintf(os, "f%d", reg - FP_Base_DepTag);
+ ccprintf(os, "f%d", reg - FP_Reg_Base);
}
}
// These enumerate all the registers for dependence tracking.
enum DependenceTags {
// 0..31 are the integer regs 0..31
- // 32..63 are the FP regs 0..31, i.e. use (reg + FP_Base_DepTag)
- FP_Base_DepTag = NumIntRegs,
- Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs,
- Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs + NumInternalProcRegs
+ // 32..63 are the FP regs 0..31, i.e. use (reg + FP_Reg_Base)
+ FP_Reg_Base = NumIntRegs,
+ Misc_Reg_Base = FP_Reg_Base + NumFloatRegs,
+ Max_Reg_Index = Misc_Reg_Base + NumMiscRegs + NumInternalProcRegs
};
} // namespace AlphaISA
bool foundPsr = false;
for (unsigned i = 0; i < numDestRegs(); i++) {
int idx = destRegIdx(i);
- if (idx < Ctrl_Base_DepTag) {
+ if (idx < Misc_Reg_Base) {
continue;
}
- idx -= Ctrl_Base_DepTag;
+ idx -= Misc_Reg_Base;
if (idx == MISCREG_CPSR) {
os << "cpsr_";
foundPsr = true;
{
std::stringstream ss;
printMnemonic(ss);
- printReg(ss, dest + FP_Base_DepTag);
+ printReg(ss, dest + FP_Reg_Base);
ss << ", ";
- printReg(ss, op1 + FP_Base_DepTag);
+ printReg(ss, op1 + FP_Reg_Base);
return ss.str();
}
{
std::stringstream ss;
printMnemonic(ss);
- printReg(ss, dest + FP_Base_DepTag);
+ printReg(ss, dest + FP_Reg_Base);
ccprintf(ss, ", #%d", imm);
return ss.str();
}
{
std::stringstream ss;
printMnemonic(ss);
- printReg(ss, dest + FP_Base_DepTag);
+ printReg(ss, dest + FP_Reg_Base);
ss << ", ";
- printReg(ss, op1 + FP_Base_DepTag);
+ printReg(ss, op1 + FP_Reg_Base);
ccprintf(ss, ", #%d", imm);
return ss.str();
}
{
std::stringstream ss;
printMnemonic(ss);
- printReg(ss, dest + FP_Base_DepTag);
+ printReg(ss, dest + FP_Reg_Base);
ss << ", ";
- printReg(ss, op1 + FP_Base_DepTag);
+ printReg(ss, op1 + FP_Reg_Base);
ss << ", ";
- printReg(ss, op2 + FP_Base_DepTag);
+ printReg(ss, op2 + FP_Reg_Base);
return ss.str();
}
{
std::stringstream ss;
printMnemonic(ss);
- printReg(ss, dest + FP_Base_DepTag);
+ printReg(ss, dest + FP_Reg_Base);
ss << ", ";
- printReg(ss, op1 + FP_Base_DepTag);
+ printReg(ss, op1 + FP_Reg_Base);
ss << ", ";
- printReg(ss, op2 + FP_Base_DepTag);
+ printReg(ss, op2 + FP_Reg_Base);
ccprintf(ss, ", #%d", imm);
return ss.str();
}
const int SyscallSuccessReg = ReturnValueReg;
// These help enumerate all the registers for dependence tracking.
-const int FP_Base_DepTag = NumIntRegs * (MODE_MAXMODE + 1);
-const int Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs;
-const int Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs;
+const int FP_Reg_Base = NumIntRegs * (MODE_MAXMODE + 1);
+const int Misc_Reg_Base = FP_Reg_Base + NumFloatRegs;
+const int Max_Reg_Index = Misc_Reg_Base + NumMiscRegs;
typedef union {
IntReg intreg;
c_dest = ''
if self.is_src:
- c_src = '\n\t_srcRegIdx[_numSrcRegs++] = %s + FP_Base_DepTag;' % \
+ c_src = '\n\t_srcRegIdx[_numSrcRegs++] = %s + FP_Reg_Base;' % \
(self.reg_spec)
if self.is_dest:
c_dest = \
- '\n\t_destRegIdx[_numDestRegs++] = %s + FP_Base_DepTag;' % \
+ '\n\t_destRegIdx[_numDestRegs++] = %s + FP_Reg_Base;' % \
(self.reg_spec)
c_dest += '\n\t_numFPDestRegs++;'
if self.is_src:
c_src = \
- '\n\t_srcRegIdx[_numSrcRegs++] = %s + Ctrl_Base_DepTag;' % \
+ '\n\t_srcRegIdx[_numSrcRegs++] = %s + Misc_Reg_Base;' % \
(self.reg_spec)
if self.is_dest:
c_dest = \
- '\n\t_destRegIdx[_numDestRegs++] = %s + Ctrl_Base_DepTag;' % \
+ '\n\t_destRegIdx[_numDestRegs++] = %s + Misc_Reg_Base;' % \
(self.reg_spec)
return c_src + c_dest
void MipsStaticInst::printReg(std::ostream &os, int reg) const
{
- if (reg < FP_Base_DepTag) {
+ if (reg < FP_Reg_Base) {
ccprintf(os, "r%d", reg);
}
else {
- ccprintf(os, "f%d", reg - FP_Base_DepTag);
+ ccprintf(os, "f%d", reg - FP_Reg_Base);
}
}
0x8: decode MT_U {
0x0: mftc0({{
data = xc->readRegOtherThread((RT << 3 | SEL) +
- Ctrl_Base_DepTag);
+ Misc_Reg_Base);
}});
0x1: decode SEL {
0x0: mftgpr({{
}
0x2: decode MT_H {
0x0: mftc1({{ data = xc->readRegOtherThread(RT +
- FP_Base_DepTag);
+ FP_Reg_Base);
}});
0x1: mfthc1({{ data = xc->readRegOtherThread(RT +
- FP_Base_DepTag);
+ FP_Reg_Base);
}});
}
0x3: cftc1({{
uint32_t fcsr_val = xc->readRegOtherThread(FLOATREG_FCSR +
- FP_Base_DepTag);
+ FP_Reg_Base);
switch (RT) {
case 0:
data = xc->readRegOtherThread(FLOATREG_FIR +
- Ctrl_Base_DepTag);
+ Misc_Reg_Base);
break;
case 25:
data = (fcsr_val & 0xFE000000 >> 24) |
format MT_MTTR {
// Decode MIPS MT MTTR instruction into sub-instructions
0xC: decode MT_U {
- 0x0: mttc0({{ xc->setRegOtherThread((RD << 3 | SEL) + Ctrl_Base_DepTag,
+ 0x0: mttc0({{ xc->setRegOtherThread((RD << 3 | SEL) + Misc_Reg_Base,
Rt);
}});
0x1: decode SEL {
}
0x2: mttc1({{
uint64_t data = xc->readRegOtherThread(RD +
- FP_Base_DepTag);
+ FP_Reg_Base);
data = insertBits(data, MT_H ? 63 : 31,
MT_H ? 32 : 0, Rt);
- xc->setRegOtherThread(RD + FP_Base_DepTag,
+ xc->setRegOtherThread(RD + FP_Reg_Base,
data);
}});
0x3: cttc1({{
"Access to Floating Control "
"S""tatus Register", FS);
}
- xc->setRegOtherThread(FLOATREG_FCSR + FP_Base_DepTag, data);
+ xc->setRegOtherThread(FLOATREG_FCSR + FP_Reg_Base, data);
}});
default: CP0Unimpl::unknown();
}
MVPConf0Reg &mvp_conf0)
{
vpe_conf0 = xc->readMiscReg(MISCREG_VPE_CONF0);
- tc_bind_mt = xc->readRegOtherThread(MISCREG_TC_BIND + Ctrl_Base_DepTag);
+ tc_bind_mt = xc->readRegOtherThread(MISCREG_TC_BIND + Misc_Reg_Base);
tc_bind = xc->readMiscReg(MISCREG_TC_BIND);
vpe_control = xc->readMiscReg(MISCREG_VPE_CONTROL);
mvp_conf0 = xc->readMiscReg(MISCREG_MVP_CONF0);
int success = 0;
for (ThreadID tid = 0; tid < num_threads && success == 0; tid++) {
TCBindReg tidTCBind =
- tc->readRegOtherThread(MISCREG_TC_BIND + Ctrl_Base_DepTag, tid);
+ tc->readRegOtherThread(MISCREG_TC_BIND + Misc_Reg_Base, tid);
TCBindReg tcBind = tc->readMiscRegNoEffect(MISCREG_TC_BIND);
if (tidTCBind.curVPE == tcBind.curVPE) {
TCStatusReg tidTCStatus =
tc->readRegOtherThread(MISCREG_TC_STATUS +
- Ctrl_Base_DepTag,tid);
+ Misc_Reg_Base,tid);
TCHaltReg tidTCHalt =
- tc->readRegOtherThread(MISCREG_TC_HALT + Ctrl_Base_DepTag,tid);
+ tc->readRegOtherThread(MISCREG_TC_HALT + Misc_Reg_Base,tid);
if (tidTCStatus.da == 1 && tidTCHalt.h == 0 &&
tidTCStatus.a == 0 && success == 0) {
tc->setRegOtherThread(MISCREG_TC_RESTART +
- Ctrl_Base_DepTag, Rs, tid);
+ Misc_Reg_Base, Rs, tid);
tc->setRegOtherThread(Rd_bits, Rt, tid);
StatusReg status = tc->readMiscReg(MISCREG_STATUS);
tidTCStatus.asid = tcStatus.asid;
// Write Status Register
- tc->setRegOtherThread(MISCREG_TC_STATUS + Ctrl_Base_DepTag,
+ tc->setRegOtherThread(MISCREG_TC_STATUS + Misc_Reg_Base,
tidTCStatus, tid);
// Mark As Successful Fork
for (ThreadID tid = 0; tid < num_threads; tid++) {
TCStatusReg tidTCStatus =
- tc->readRegOtherThread(MISCREG_TC_STATUS + Ctrl_Base_DepTag,
+ tc->readRegOtherThread(MISCREG_TC_STATUS + Misc_Reg_Base,
tid);
TCHaltReg tidTCHalt =
- tc->readRegOtherThread(MISCREG_TC_HALT + Ctrl_Base_DepTag,
+ tc->readRegOtherThread(MISCREG_TC_HALT + Misc_Reg_Base,
tid);
TCBindReg tidTCBind =
- tc->readRegOtherThread(MISCREG_TC_BIND + Ctrl_Base_DepTag,
+ tc->readRegOtherThread(MISCREG_TC_BIND + Misc_Reg_Base,
tid);
if (tidTCBind.curVPE == tcBind.curVPE &&
const int NumMiscRegs = MISCREG_NUMREGS;
// These help enumerate all the registers for dependence tracking.
-const int FP_Base_DepTag = NumIntRegs;
-const int Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs;
-const int Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs;
+const int FP_Reg_Base = NumIntRegs;
+const int Misc_Reg_Base = FP_Reg_Base + NumFloatRegs;
+const int Max_Reg_Index = Misc_Reg_Base + NumMiscRegs;
const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs;
const int SyscallSuccessReg = 3;
// These help enumerate all the registers for dependence tracking.
-const int FP_Base_DepTag = NumIntRegs;
-const int Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs;
-const int Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs;
+const int FP_Reg_Base = NumIntRegs;
+const int Misc_Reg_Base = FP_Reg_Base + NumFloatRegs;
+const int Max_Reg_Index = Misc_Reg_Base + NumMiscRegs;
typedef union {
IntReg intreg;
const int MaxLocal = 24;
const int MaxInput = 32;
const int MaxMicroReg = 40;
- if (reg < FP_Base_DepTag) {
+ if (reg < FP_Reg_Base) {
// If we used a register from the next or previous window,
// take out the offset.
while (reg >= MaxMicroReg)
break;
}
}
- } else if (reg < Ctrl_Base_DepTag) {
- ccprintf(os, "%%f%d", reg - FP_Base_DepTag);
+ } else if (reg < Misc_Reg_Base) {
+ ccprintf(os, "%%f%d", reg - FP_Reg_Base);
} else {
- switch (reg - Ctrl_Base_DepTag) {
+ switch (reg - Misc_Reg_Base) {
case MISCREG_ASI:
ccprintf(os, "%%asi");
break;
ccprintf(os, "%%fsr");
break;
default:
- ccprintf(os, "%%ctrl%d", reg - Ctrl_Base_DepTag);
+ ccprintf(os, "%%ctrl%d", reg - Misc_Reg_Base);
}
}
}
// These enumerate all the registers for dependence tracking.
enum DependenceTags {
- FP_Base_DepTag = NumIntRegs,
- Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs,
- Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs
+ FP_Reg_Base = NumIntRegs,
+ Misc_Reg_Base = FP_Reg_Base + NumFloatRegs,
+ Max_Reg_Index = Misc_Reg_Base + NumMiscRegs
};
} // namespace SparcISA
// These enumerate all the registers for dependence tracking.
enum DependenceTags {
- // FP_Base_DepTag must be large enough to be bigger than any integer
+ // FP_Reg_Base must be large enough to be bigger than any integer
// register index which has the IntFoldBit (1 << 6) set. To be safe
// we just start at (1 << 7) == 128.
- FP_Base_DepTag = 128,
- Ctrl_Base_DepTag = FP_Base_DepTag + NumFloatRegs,
- Max_DepTag = Ctrl_Base_DepTag + NumMiscRegs
+ FP_Reg_Base = 128,
+ Misc_Reg_Base = FP_Reg_Base + NumFloatRegs,
+ Max_Reg_Index = Misc_Reg_Base + NumMiscRegs
};
// semantically meaningful register indices
FloatReg readFloatRegOperand(const StaticInst *si, int idx)
{
- int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Reg_Base;
return thread->readFloatReg(reg_idx);
}
FloatRegBits readFloatRegOperandBits(const StaticInst *si, int idx)
{
- int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Reg_Base;
return thread->readFloatRegBits(reg_idx);
}
void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val)
{
- int reg_idx = si->destRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::FP_Reg_Base;
thread->setFloatReg(reg_idx, val);
setResult<double>(val);
}
void setFloatRegOperandBits(const StaticInst *si, int idx,
FloatRegBits val)
{
- int reg_idx = si->destRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::FP_Reg_Base;
thread->setFloatRegBits(reg_idx, val);
setResult<uint64_t>(val);
}
MiscReg readMiscRegOperand(const StaticInst *si, int idx)
{
- int reg_idx = si->srcRegIdx(idx) - TheISA::Ctrl_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::Misc_Reg_Base;
return thread->readMiscReg(reg_idx);
}
void setMiscRegOperand(
const StaticInst *si, int idx, const MiscReg &val)
{
- int reg_idx = si->destRegIdx(idx) - TheISA::Ctrl_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::Misc_Reg_Base;
return thread->setMiscReg(reg_idx, val);
}
thread->setFloatRegBits(idx, mismatch_val);
break;
case MiscRegClass:
- thread->setMiscReg(idx - TheISA::Ctrl_Base_DepTag,
+ thread->setMiscReg(idx - TheISA::Misc_Reg_Base,
mismatch_val);
break;
}
break;
case MiscRegClass:
// Try to get the proper misc register index for ARM here...
- thread->setMiscReg(idx - TheISA::Ctrl_Base_DepTag, res);
+ thread->setMiscReg(idx - TheISA::Misc_Reg_Base, res);
break;
// else Register is out of range...
}
DPRINTF(InOrderUseDef, "[tid:%i]: [sn:%i]: Reading Float Reg %i"
" (%i) from Register File:%x (%08f).\n",
tid, seq_num,
- reg_idx - FP_Base_DepTag, flat_idx,
+ reg_idx - FP_Reg_Base, flat_idx,
cpu->readFloatRegBits(flat_idx,
inst->readTid()),
cpu->readFloatReg(flat_idx,
DPRINTF(InOrderUseDef, "[tid:%i]: [sn:%i]: Reading Misc Reg %i "
" (%i) from Register File:0x%x.\n",
tid, seq_num,
- reg_idx - Ctrl_Base_DepTag, flat_idx,
+ reg_idx - Misc_Reg_Base, flat_idx,
cpu->readMiscReg(flat_idx,
inst->readTid()));
inst->setIntSrc(ud_idx,
DPRINTF(InOrderUseDef, "[tid:%i]: Forwarding dest."
" reg %i (%i) value 0x%x from "
"[sn:%i] to [sn:%i] source #%i.\n",
- tid, reg_idx - FP_Base_DepTag, flat_idx,
+ tid, reg_idx - FP_Reg_Base, flat_idx,
forward_inst->readFloatResult(dest_reg_idx),
forward_inst->seqNum, inst->seqNum, ud_idx);
inst->setFloatSrc(ud_idx,
DPRINTF(InOrderUseDef, "[tid:%i]: Forwarding dest."
" reg %i (%i) value 0x%x from "
"[sn:%i] to [sn:%i] source #%i.\n",
- tid, reg_idx - Ctrl_Base_DepTag, flat_idx,
+ tid, reg_idx - Misc_Reg_Base, flat_idx,
forward_inst->readIntResult(dest_reg_idx),
forward_inst->seqNum,
inst->seqNum, ud_idx);
tid, seq_num,
inst->readFloatResult(ud_idx),
inst->readFloatBitsResult(ud_idx),
- reg_idx - FP_Base_DepTag, flat_idx);
+ reg_idx - FP_Reg_Base, flat_idx);
// Check for FloatRegBits Here
cpu->setFloatRegBits(flat_idx,
"idx %i (%i).\n",
tid, seq_num, inst->readFloatResult(ud_idx),
inst->readIntResult(ud_idx),
- reg_idx - FP_Base_DepTag, flat_idx);
+ reg_idx - FP_Reg_Base, flat_idx);
cpu->setFloatReg(flat_idx,
inst->readFloatResult(ud_idx),
tid, seq_num,
inst->readFloatResult(ud_idx),
inst->readIntResult(ud_idx),
- reg_idx - FP_Base_DepTag, flat_idx);
+ reg_idx - FP_Reg_Base, flat_idx);
cpu->setFloatReg(flat_idx,
inst->readFloatResult(ud_idx),
DPRINTF(InOrderUseDef, "[tid:%i]: Writing Misc. 0x%x "
"to register idx %i.\n",
- tid, inst->readIntResult(ud_idx), reg_idx - Ctrl_Base_DepTag);
+ tid, inst->readIntResult(ud_idx), reg_idx - Misc_Reg_Base);
// Remove Dependencies
regDepMap[tid]->removeFront(reg_type, flat_idx, inst);
TheISA::MiscReg readMiscRegOperand(const StaticInst *si, int idx)
{
return this->cpu->readMiscReg(
- si->srcRegIdx(idx) - TheISA::Ctrl_Base_DepTag,
+ si->srcRegIdx(idx) - TheISA::Misc_Reg_Base,
this->threadNumber);
}
void setMiscRegOperand(const StaticInst *si, int idx,
const MiscReg &val)
{
- int misc_reg = si->destRegIdx(idx) - TheISA::Ctrl_Base_DepTag;
+ int misc_reg = si->destRegIdx(idx) - TheISA::Misc_Reg_Base;
setMiscReg(misc_reg, val);
}
break;
case FloatRegClass:
- src_reg = src_reg - TheISA::FP_Base_DepTag;
+ src_reg = src_reg - TheISA::FP_Reg_Base;
flat_src_reg = inst->tcBase()->flattenFloatIndex(src_reg);
DPRINTF(Rename, "Flattening index %d to %d.\n",
(int)src_reg, (int)flat_src_reg);
break;
case MiscRegClass:
- flat_src_reg = src_reg - TheISA::Ctrl_Base_DepTag +
+ flat_src_reg = src_reg - TheISA::Misc_Reg_Base +
TheISA::NumFloatRegs + TheISA::NumIntRegs;
DPRINTF(Rename, "Adjusting reg index from %d to %d.\n",
src_reg, flat_src_reg);
break;
case FloatRegClass:
- dest_reg = dest_reg - TheISA::FP_Base_DepTag;
+ dest_reg = dest_reg - TheISA::FP_Reg_Base;
flat_dest_reg = inst->tcBase()->flattenFloatIndex(dest_reg);
DPRINTF(Rename, "Flattening index %d to %d.\n",
(int)dest_reg, (int)flat_dest_reg);
case MiscRegClass:
// Floating point and Miscellaneous registers need their indexes
// adjusted to account for the expanded number of flattened int regs.
- flat_dest_reg = dest_reg - TheISA::Ctrl_Base_DepTag +
+ flat_dest_reg = dest_reg - TheISA::Misc_Reg_Base +
TheISA::NumIntRegs + TheISA::NumFloatRegs;
DPRINTF(Rename, "Adjusting reg index from %d to %d.\n",
dest_reg, flat_dest_reg);
_status = Running;
thread.renameTable[ZeroReg]->setIntResult(0);
- thread.renameTable[ZeroReg+TheISA::FP_Base_DepTag]->
+ thread.renameTable[ZeroReg+TheISA::FP_Reg_Base]->
setDoubleResult(0.0);
comm.advance();
// Then loop through the floating point registers.
for (int i = 0; i < TheISA::NumFloatRegs; ++i) {
- int fp_idx = i + TheISA::FP_Base_DepTag;
+ int fp_idx = i + TheISA::FP_Reg_Base;
thread->renameTable[fp_idx]->setIntResult(tc->readFloatRegBits(i));
}
double
OzoneCPU<Impl>::OzoneTC::readFloatReg(int reg_idx)
{
- int idx = reg_idx + TheISA::FP_Base_DepTag;
+ int idx = reg_idx + TheISA::FP_Reg_Base;
return thread->renameTable[idx]->readFloatResult();
}
uint64_t
OzoneCPU<Impl>::OzoneTC::readFloatRegBits(int reg_idx)
{
- int idx = reg_idx + TheISA::FP_Base_DepTag;
+ int idx = reg_idx + TheISA::FP_Reg_Base;
return thread->renameTable[idx]->readIntResult();
}
void
OzoneCPU<Impl>::OzoneTC::setFloatReg(int reg_idx, FloatReg val)
{
- int idx = reg_idx + TheISA::FP_Base_DepTag;
+ int idx = reg_idx + TheISA::FP_Reg_Base;
thread->renameTable[idx]->setDoubleResult(val);
RegClass regIdxToClass(TheISA::RegIndex reg_idx,
TheISA::RegIndex *rel_reg_idx = NULL)
{
- assert(reg_idx < TheISA::Max_DepTag);
+ assert(reg_idx < TheISA::Max_Reg_Index);
RegClass cl;
int offset;
- if (reg_idx < TheISA::FP_Base_DepTag) {
+ if (reg_idx < TheISA::FP_Reg_Base) {
cl = IntRegClass;
offset = 0;
- } else if (reg_idx < TheISA::Ctrl_Base_DepTag) {
+ } else if (reg_idx < TheISA::Misc_Reg_Base) {
cl = FloatRegClass;
- offset = TheISA::FP_Base_DepTag;
+ offset = TheISA::FP_Reg_Base;
} else {
cl = MiscRegClass;
- offset = TheISA::Ctrl_Base_DepTag;
+ offset = TheISA::Misc_Reg_Base;
}
if (rel_reg_idx)
FloatReg readFloatRegOperand(const StaticInst *si, int idx)
{
numFpRegReads++;
- int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Reg_Base;
return thread->readFloatReg(reg_idx);
}
FloatRegBits readFloatRegOperandBits(const StaticInst *si, int idx)
{
numFpRegReads++;
- int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::FP_Reg_Base;
return thread->readFloatRegBits(reg_idx);
}
void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val)
{
numFpRegWrites++;
- int reg_idx = si->destRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::FP_Reg_Base;
thread->setFloatReg(reg_idx, val);
}
FloatRegBits val)
{
numFpRegWrites++;
- int reg_idx = si->destRegIdx(idx) - TheISA::FP_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::FP_Reg_Base;
thread->setFloatRegBits(reg_idx, val);
}
MiscReg readMiscRegOperand(const StaticInst *si, int idx)
{
numIntRegReads++;
- int reg_idx = si->srcRegIdx(idx) - TheISA::Ctrl_Base_DepTag;
+ int reg_idx = si->srcRegIdx(idx) - TheISA::Misc_Reg_Base;
return thread->readMiscReg(reg_idx);
}
const StaticInst *si, int idx, const MiscReg &val)
{
numIntRegWrites++;
- int reg_idx = si->destRegIdx(idx) - TheISA::Ctrl_Base_DepTag;
+ int reg_idx = si->destRegIdx(idx) - TheISA::Misc_Reg_Base;
return thread->setMiscReg(reg_idx, val);
}