summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-11-19 18:14:16 -0800
committerGabe Black <gabeblack@google.com>2019-01-31 11:02:05 +0000
commit5edfb67041ad1c246f4ceca147f06b9db3c0ecc3 (patch)
tree22cc08624db8bfa11e4ea7c9817a864ebc2ea706 /src/arch
parent25474167e5b247d1b91fbf802c5b396a63ae705e (diff)
downloadgem5-5edfb67041ad1c246f4ceca147f06b9db3c0ecc3.tar.xz
arch: cpu: Rename *FloatRegBits* to *FloatReg*.
Now that there's no plain FloatReg, there's no reason to distinguish FloatRegBits with a special suffix since it's the only way to read or write FP registers. Change-Id: I3a60168c1d4302aed55223ea8e37b421f21efded Reviewed-on: https://gem5-review.googlesource.com/c/14460 Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/alpha/ev5.cc2
-rw-r--r--src/arch/alpha/registers.hh2
-rw-r--r--src/arch/alpha/remote_gdb.cc4
-rw-r--r--src/arch/alpha/utility.cc4
-rw-r--r--src/arch/arm/kvm/arm_cpu.cc8
-rw-r--r--src/arch/arm/kvm/armv8_cpu.cc4
-rw-r--r--src/arch/arm/tracers/tarmac_parser.cc28
-rw-r--r--src/arch/arm/tracers/tarmac_record.cc2
-rw-r--r--src/arch/arm/utility.cc2
-rw-r--r--src/arch/mips/isa/formats/fp.isa8
-rw-r--r--src/arch/mips/registers.hh2
-rw-r--r--src/arch/mips/remote_gdb.cc12
-rw-r--r--src/arch/mips/utility.cc4
-rw-r--r--src/arch/null/registers.hh2
-rw-r--r--src/arch/power/registers.hh2
-rw-r--r--src/arch/power/remote_gdb.cc4
-rw-r--r--src/arch/power/utility.cc2
-rw-r--r--src/arch/riscv/registers.hh2
-rw-r--r--src/arch/riscv/remote_gdb.cc4
-rw-r--r--src/arch/riscv/remote_gdb.hh2
-rw-r--r--src/arch/sparc/utility.cc2
-rw-r--r--src/arch/x86/insts/micromediaop.hh2
-rw-r--r--src/arch/x86/isa/microops/mediaop.isa16
-rw-r--r--src/arch/x86/nativetrace.cc4
-rw-r--r--src/arch/x86/registers.hh2
-rw-r--r--src/arch/x86/utility.cc2
26 files changed, 64 insertions, 64 deletions
diff --git a/src/arch/alpha/ev5.cc b/src/arch/alpha/ev5.cc
index 6a5d6afdc..cc0c583f0 100644
--- a/src/arch/alpha/ev5.cc
+++ b/src/arch/alpha/ev5.cc
@@ -88,7 +88,7 @@ zeroRegisters(CPU *cpu)
// (no longer very clean due to the change in setIntReg() in the
// cpu model. Consider changing later.)
cpu->thread->setIntReg(ZeroReg, 0);
- cpu->thread->setFloatRegBits(ZeroReg, 0);
+ cpu->thread->setFloatReg(ZeroReg, 0);
}
////////////////////////////////////////////////////////////////////////
diff --git a/src/arch/alpha/registers.hh b/src/arch/alpha/registers.hh
index 218390597..07c0beeb3 100644
--- a/src/arch/alpha/registers.hh
+++ b/src/arch/alpha/registers.hh
@@ -49,7 +49,7 @@ const int MaxMiscDestRegs = AlphaISAInst::MaxMiscDestRegs + 1;
typedef RegVal IntReg;
// floating point register file entry type
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
// control register file contents
typedef RegVal MiscReg;
diff --git a/src/arch/alpha/remote_gdb.cc b/src/arch/alpha/remote_gdb.cc
index f3eafc0fe..9e87f1783 100644
--- a/src/arch/alpha/remote_gdb.cc
+++ b/src/arch/alpha/remote_gdb.cc
@@ -220,7 +220,7 @@ RemoteGDB::AlphaGdbRegCache::getRegs(ThreadContext *context)
for (int i = 0; i < 32; ++i)
#ifdef KGDB_FP_REGS
- r.fpr[i] = context->readFloatRegBits(i);
+ r.fpr[i] = context->readFloatReg(i);
#else
r.fpr[i] = 0;
#endif
@@ -243,7 +243,7 @@ RemoteGDB::AlphaGdbRegCache::setRegs(ThreadContext *context) const
#ifdef KGDB_FP_REGS
for (int i = 0; i < NumFloatArchRegs; ++i) {
- context->setFloatRegBits(i, gdbregs.regs64[i + KGDB_REG_F0]);
+ context->setFloatReg(i, gdbregs.regs64[i + KGDB_REG_F0]);
}
#endif
context->pcState(r.pc);
diff --git a/src/arch/alpha/utility.cc b/src/arch/alpha/utility.cc
index de4b4e34d..c03e7b0da 100644
--- a/src/arch/alpha/utility.cc
+++ b/src/arch/alpha/utility.cc
@@ -48,7 +48,7 @@ getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp)
const int NumArgumentRegs = 6;
if (number < NumArgumentRegs) {
if (fp)
- return tc->readFloatRegBits(16 + number);
+ return tc->readFloatReg(16 + number);
else
return tc->readIntReg(16 + number);
} else {
@@ -70,7 +70,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
// Then loop through the floating point registers.
for (int i = 0; i < NumFloatRegs; ++i)
- dest->setFloatRegBits(i, src->readFloatRegBits(i));
+ dest->setFloatReg(i, src->readFloatReg(i));
// Would need to add condition-code regs if implemented
assert(NumCCRegs == 0);
diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc
index 69d6f8c2e..4d6b9a1b3 100644
--- a/src/arch/arm/kvm/arm_cpu.cc
+++ b/src/arch/arm/kvm/arm_cpu.cc
@@ -697,8 +697,8 @@ ArmKvmCPU::updateKvmStateVFP(uint64_t id, bool show_warnings)
const unsigned idx_hi(idx_base + 1);
const unsigned idx_lo(idx_base + 0);
uint64_t value(
- ((uint64_t)tc->readFloatRegBitsFlat(idx_hi) << 32) |
- tc->readFloatRegBitsFlat(idx_lo));
+ ((uint64_t)tc->readFloatRegFlat(idx_hi) << 32) |
+ tc->readFloatRegFlat(idx_lo));
setOneReg(id, value);
} else if (REG_IS_VFP_CTRL(id)) {
@@ -839,8 +839,8 @@ ArmKvmCPU::updateTCStateVFP(uint64_t id, bool show_warnings)
const unsigned idx_lo(idx_base + 0);
uint64_t value(getOneRegU64(id));
- tc->setFloatRegBitsFlat(idx_hi, (value >> 32) & 0xFFFFFFFF);
- tc->setFloatRegBitsFlat(idx_lo, value & 0xFFFFFFFF);
+ tc->setFloatRegFlat(idx_hi, (value >> 32) & 0xFFFFFFFF);
+ tc->setFloatRegFlat(idx_lo, value & 0xFFFFFFFF);
} else if (REG_IS_VFP_CTRL(id)) {
MiscRegIndex idx(decodeVFPCtrlReg(id));
if (idx == NUM_MISCREGS) {
diff --git a/src/arch/arm/kvm/armv8_cpu.cc b/src/arch/arm/kvm/armv8_cpu.cc
index bfd447a19..3757e2602 100644
--- a/src/arch/arm/kvm/armv8_cpu.cc
+++ b/src/arch/arm/kvm/armv8_cpu.cc
@@ -252,7 +252,7 @@ ArmV8KvmCPU::updateKvmState()
const RegIndex reg_base(i * FP_REGS_PER_VFP_REG);
KvmFPReg reg;
for (int j = 0; j < FP_REGS_PER_VFP_REG; j++)
- reg.s[j].i = tc->readFloatRegBits(reg_base + j);
+ reg.s[j].i = tc->readFloatReg(reg_base + j);
setOneReg(kvmFPReg(i), reg.data);
DPRINTF(KvmContext, " Q%i: %s\n", i, getAndFormatOneReg(kvmFPReg(i)));
@@ -326,7 +326,7 @@ ArmV8KvmCPU::updateThreadContext()
DPRINTF(KvmContext, " Q%i: %s\n", i, getAndFormatOneReg(kvmFPReg(i)));
getOneReg(kvmFPReg(i), reg.data);
for (int j = 0; j < FP_REGS_PER_VFP_REG; j++)
- tc->setFloatRegBits(reg_base + j, reg.s[j].i);
+ tc->setFloatReg(reg_base + j, reg.s[j].i);
}
for (const auto &ri : getSysRegMap()) {
diff --git a/src/arch/arm/tracers/tarmac_parser.cc b/src/arch/arm/tracers/tarmac_parser.cc
index 67bbb1493..860bb1b0b 100644
--- a/src/arch/arm/tracers/tarmac_parser.cc
+++ b/src/arch/arm/tracers/tarmac_parser.cc
@@ -647,35 +647,35 @@ TarmacParserRecord::TarmacParserRecordEvent::process()
break;
case REG_S:
if (instRecord.isetstate == ISET_A64)
- value_lo = thread->readFloatRegBits(it->index * 4);
+ value_lo = thread->readFloatReg(it->index * 4);
else
- value_lo = thread->readFloatRegBits(it->index);
+ value_lo = thread->readFloatReg(it->index);
break;
case REG_D:
if (instRecord.isetstate == ISET_A64)
- value_lo = thread->readFloatRegBits(it->index * 4) |
- (uint64_t) thread->readFloatRegBits(it->index * 4 + 1) <<
+ value_lo = thread->readFloatReg(it->index * 4) |
+ (uint64_t) thread->readFloatReg(it->index * 4 + 1) <<
32;
else
- value_lo = thread->readFloatRegBits(it->index * 2) |
- (uint64_t) thread->readFloatRegBits(it->index * 2 + 1) <<
+ value_lo = thread->readFloatReg(it->index * 2) |
+ (uint64_t) thread->readFloatReg(it->index * 2 + 1) <<
32;
break;
case REG_Q:
check_value_hi = true;
if (instRecord.isetstate == ISET_A64) {
- value_lo = thread->readFloatRegBits(it->index * 4) |
- (uint64_t) thread->readFloatRegBits(it->index * 4 + 1) <<
+ value_lo = thread->readFloatReg(it->index * 4) |
+ (uint64_t) thread->readFloatReg(it->index * 4 + 1) <<
32;
- value_hi = thread->readFloatRegBits(it->index * 4 + 2) |
- (uint64_t) thread->readFloatRegBits(it->index * 4 + 3) <<
+ value_hi = thread->readFloatReg(it->index * 4 + 2) |
+ (uint64_t) thread->readFloatReg(it->index * 4 + 3) <<
32;
} else {
- value_lo = thread->readFloatRegBits(it->index * 2) |
- (uint64_t) thread->readFloatRegBits(it->index * 2 + 1) <<
+ value_lo = thread->readFloatReg(it->index * 2) |
+ (uint64_t) thread->readFloatReg(it->index * 2 + 1) <<
32;
- value_hi = thread->readFloatRegBits(it->index * 2 + 2) |
- (uint64_t) thread->readFloatRegBits(it->index * 2 + 3) <<
+ value_hi = thread->readFloatReg(it->index * 2 + 2) |
+ (uint64_t) thread->readFloatReg(it->index * 2 + 3) <<
32;
}
break;
diff --git a/src/arch/arm/tracers/tarmac_record.cc b/src/arch/arm/tracers/tarmac_record.cc
index 5dbb847e5..51fbf2c0a 100644
--- a/src/arch/arm/tracers/tarmac_record.cc
+++ b/src/arch/arm/tracers/tarmac_record.cc
@@ -235,7 +235,7 @@ TarmacTracerRecord::TraceRegEntry::updateFloat(
regValid = true;
regName = "f" + std::to_string(regRelIdx);
- valueLo = bitsToFloat32(thread->readFloatRegBits(regRelIdx));
+ valueLo = bitsToFloat32(thread->readFloatReg(regRelIdx));
}
void
diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc
index 11c3479c6..bee801358 100644
--- a/src/arch/arm/utility.cc
+++ b/src/arch/arm/utility.cc
@@ -170,7 +170,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
dest->setIntRegFlat(i, src->readIntRegFlat(i));
for (int i = 0; i < NumFloatRegs; i++)
- dest->setFloatRegBitsFlat(i, src->readFloatRegBitsFlat(i));
+ dest->setFloatRegFlat(i, src->readFloatRegFlat(i));
for (int i = 0; i < NumCCRegs; i++)
dest->setCCReg(i, src->readCCReg(i));
diff --git a/src/arch/mips/isa/formats/fp.isa b/src/arch/mips/isa/formats/fp.isa
index f4f05ea48..59dba6870 100644
--- a/src/arch/mips/isa/formats/fp.isa
+++ b/src/arch/mips/isa/formats/fp.isa
@@ -139,12 +139,12 @@ output exec {{
//Read FCSR from FloatRegFile
uint32_t fcsr_bits =
- cpu->tcBase()->readFloatRegBits(FLOATREG_FCSR);
+ cpu->tcBase()->readFloatReg(FLOATREG_FCSR);
uint32_t new_fcsr = genInvalidVector(fcsr_bits);
//Write FCSR from FloatRegFile
- cpu->tcBase()->setFloatRegBits(FLOATREG_FCSR, new_fcsr);
+ cpu->tcBase()->setFloatReg(FLOATREG_FCSR, new_fcsr);
if (traceData) { traceData->setData(mips_nan); }
return true;
@@ -157,13 +157,13 @@ output exec {{
fpResetCauseBits(ExecContext *cpu)
{
//Read FCSR from FloatRegFile
- uint32_t fcsr = cpu->tcBase()->readFloatRegBits(FLOATREG_FCSR);
+ uint32_t fcsr = cpu->tcBase()->readFloatReg(FLOATREG_FCSR);
// TODO: Use utility function here
fcsr = bits(fcsr, 31, 18) << 18 | bits(fcsr, 11, 0);
//Write FCSR from FloatRegFile
- cpu->tcBase()->setFloatRegBits(FLOATREG_FCSR, fcsr);
+ cpu->tcBase()->setFloatReg(FLOATREG_FCSR, fcsr);
}
}};
diff --git a/src/arch/mips/registers.hh b/src/arch/mips/registers.hh
index 633199c94..46f81d597 100644
--- a/src/arch/mips/registers.hh
+++ b/src/arch/mips/registers.hh
@@ -286,7 +286,7 @@ const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs;
typedef RegVal IntReg;
// floating point register file entry type
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
// cop-0/cop-1 system control register
typedef RegVal MiscReg;
diff --git a/src/arch/mips/remote_gdb.cc b/src/arch/mips/remote_gdb.cc
index d490fa518..435bc0060 100644
--- a/src/arch/mips/remote_gdb.cc
+++ b/src/arch/mips/remote_gdb.cc
@@ -180,9 +180,9 @@ RemoteGDB::MipsGdbRegCache::getRegs(ThreadContext *context)
r.badvaddr = context->readMiscRegNoEffect(MISCREG_BADVADDR);
r.cause = context->readMiscRegNoEffect(MISCREG_CAUSE);
r.pc = context->pcState().pc();
- for (int i = 0; i < 32; i++) r.fpr[i] = context->readFloatRegBits(i);
- r.fsr = context->readFloatRegBits(FLOATREG_FCCR);
- r.fir = context->readFloatRegBits(FLOATREG_FIR);
+ for (int i = 0; i < 32; i++) r.fpr[i] = context->readFloatReg(i);
+ r.fsr = context->readFloatReg(FLOATREG_FCCR);
+ r.fir = context->readFloatReg(FLOATREG_FIR);
}
void
@@ -197,9 +197,9 @@ RemoteGDB::MipsGdbRegCache::setRegs(ThreadContext *context) const
context->setMiscRegNoEffect(MISCREG_BADVADDR, r.badvaddr);
context->setMiscRegNoEffect(MISCREG_CAUSE, r.cause);
context->pcState(r.pc);
- for (int i = 0; i < 32; i++) context->setFloatRegBits(i, r.fpr[i]);
- context->setFloatRegBits(FLOATREG_FCCR, r.fsr);
- context->setFloatRegBits(FLOATREG_FIR, r.fir);
+ for (int i = 0; i < 32; i++) context->setFloatReg(i, r.fpr[i]);
+ context->setFloatReg(FLOATREG_FCCR, r.fsr);
+ context->setFloatReg(FLOATREG_FIR, r.fir);
}
BaseGdbRegCache*
diff --git a/src/arch/mips/utility.cc b/src/arch/mips/utility.cc
index c8163b752..bb20c4cc9 100644
--- a/src/arch/mips/utility.cc
+++ b/src/arch/mips/utility.cc
@@ -225,7 +225,7 @@ zeroRegisters(CPU *cpu)
// (no longer very clean due to the change in setIntReg() in the
// cpu model. Consider changing later.)
cpu->thread->setIntReg(ZeroReg, 0);
- cpu->thread->setFloatRegBits(ZeroReg, 0);
+ cpu->thread->setFloatReg(ZeroReg, 0);
}
void
@@ -247,7 +247,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
// Then loop through the floating point registers.
for (int i = 0; i < NumFloatRegs; i++)
- dest->setFloatRegBitsFlat(i, src->readFloatRegBitsFlat(i));
+ dest->setFloatRegFlat(i, src->readFloatRegFlat(i));
// Would need to add condition-code regs if implemented
assert(NumCCRegs == 0);
diff --git a/src/arch/null/registers.hh b/src/arch/null/registers.hh
index ff9e0cda6..e53cc458a 100644
--- a/src/arch/null/registers.hh
+++ b/src/arch/null/registers.hh
@@ -48,7 +48,7 @@
namespace NullISA {
typedef RegVal IntReg;
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
typedef uint8_t CCReg;
typedef RegVal MiscReg;
const RegIndex ZeroReg = 0;
diff --git a/src/arch/power/registers.hh b/src/arch/power/registers.hh
index e8de218e7..909c24e96 100644
--- a/src/arch/power/registers.hh
+++ b/src/arch/power/registers.hh
@@ -49,7 +49,7 @@ const int MaxMiscDestRegs = PowerISAInst::MaxMiscDestRegs + 1;
typedef RegVal IntReg;
// Floating point register file entry type
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
typedef RegVal MiscReg;
// dummy typedef since we don't have CC regs
diff --git a/src/arch/power/remote_gdb.cc b/src/arch/power/remote_gdb.cc
index b4082e0ee..c8a71c5e7 100644
--- a/src/arch/power/remote_gdb.cc
+++ b/src/arch/power/remote_gdb.cc
@@ -184,7 +184,7 @@ RemoteGDB::PowerGdbRegCache::getRegs(ThreadContext *context)
r.gpr[i] = htobe((uint32_t)context->readIntReg(i));
for (int i = 0; i < NumFloatArchRegs; i++)
- r.fpr[i] = context->readFloatRegBits(i);
+ r.fpr[i] = context->readFloatReg(i);
r.pc = htobe((uint32_t)context->pcState().pc());
r.msr = 0; // Is MSR modeled?
@@ -203,7 +203,7 @@ RemoteGDB::PowerGdbRegCache::setRegs(ThreadContext *context) const
context->setIntReg(i, betoh(r.gpr[i]));
for (int i = 0; i < NumFloatArchRegs; i++)
- context->setFloatRegBits(i, r.fpr[i]);
+ context->setFloatReg(i, r.fpr[i]);
context->pcState(betoh(r.pc));
// Is MSR modeled?
diff --git a/src/arch/power/utility.cc b/src/arch/power/utility.cc
index c8ff99988..6738c1289 100644
--- a/src/arch/power/utility.cc
+++ b/src/arch/power/utility.cc
@@ -47,7 +47,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
// Then loop through the floating point registers.
for (int i = 0; i < NumFloatRegs; ++i)
- dest->setFloatRegBits(i, src->readFloatRegBits(i));
+ dest->setFloatReg(i, src->readFloatReg(i));
// Would need to add condition-code regs if implemented
assert(NumCCRegs == 0);
diff --git a/src/arch/riscv/registers.hh b/src/arch/riscv/registers.hh
index a67274221..7f7cefee9 100644
--- a/src/arch/riscv/registers.hh
+++ b/src/arch/riscv/registers.hh
@@ -65,7 +65,7 @@ using RiscvISAInst::MaxInstDestRegs;
const int MaxMiscDestRegs = 1;
typedef RegVal IntReg;
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
typedef uint8_t CCReg; // Not applicable to Riscv
typedef RegVal MiscReg;
diff --git a/src/arch/riscv/remote_gdb.cc b/src/arch/riscv/remote_gdb.cc
index 6d56a93b6..fe339ffc8 100644
--- a/src/arch/riscv/remote_gdb.cc
+++ b/src/arch/riscv/remote_gdb.cc
@@ -168,7 +168,7 @@ RemoteGDB::RiscvGdbRegCache::getRegs(ThreadContext *context)
r.gpr[i] = context->readIntReg(i);
r.pc = context->pcState().pc();
for (int i = 0; i < NumFloatRegs; i++)
- r.fpr[i] = context->readFloatRegBits(i);
+ r.fpr[i] = context->readFloatReg(i);
r.csr_base = context->readMiscReg(0);
r.fflags = context->readMiscReg(CSR_FFLAGS);
@@ -186,7 +186,7 @@ RemoteGDB::RiscvGdbRegCache::setRegs(ThreadContext *context) const
context->setIntReg(i, r.gpr[i]);
context->pcState(r.pc);
for (int i = 0; i < NumFloatRegs; i++)
- context->setFloatRegBits(i, r.fpr[i]);
+ context->setFloatReg(i, r.fpr[i]);
context->setMiscReg(0, r.csr_base);
context->setMiscReg(CSR_FFLAGS, r.fflags);
diff --git a/src/arch/riscv/remote_gdb.hh b/src/arch/riscv/remote_gdb.hh
index 739cb5a3e..adb438d24 100644
--- a/src/arch/riscv/remote_gdb.hh
+++ b/src/arch/riscv/remote_gdb.hh
@@ -61,7 +61,7 @@ class RemoteGDB : public BaseRemoteGDB
struct {
IntReg gpr[NumIntArchRegs];
IntReg pc;
- FloatRegBits fpr[NumFloatRegs];
+ FloatReg fpr[NumFloatRegs];
MiscReg csr_base;
uint32_t fflags;
diff --git a/src/arch/sparc/utility.cc b/src/arch/sparc/utility.cc
index 8f997aabf..8b0b4ab32 100644
--- a/src/arch/sparc/utility.cc
+++ b/src/arch/sparc/utility.cc
@@ -232,7 +232,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
// Then loop through the floating point registers.
for (int i = 0; i < SparcISA::NumFloatArchRegs; ++i) {
- dest->setFloatRegBits(i, src->readFloatRegBits(i));
+ dest->setFloatReg(i, src->readFloatReg(i));
}
// Would need to add condition-code regs if implemented
diff --git a/src/arch/x86/insts/micromediaop.hh b/src/arch/x86/insts/micromediaop.hh
index 5cb0bdbb0..1fe871752 100644
--- a/src/arch/x86/insts/micromediaop.hh
+++ b/src/arch/x86/insts/micromediaop.hh
@@ -72,7 +72,7 @@ namespace X86ISA
int
numItems(int size) const
{
- return scalarOp() ? 1 : (sizeof(FloatRegBits) / size);
+ return scalarOp() ? 1 : (sizeof(FloatReg) / size);
}
bool
diff --git a/src/arch/x86/isa/microops/mediaop.isa b/src/arch/x86/isa/microops/mediaop.isa
index f9c6a9f9b..b8ceb02ac 100644
--- a/src/arch/x86/isa/microops/mediaop.isa
+++ b/src/arch/x86/isa/microops/mediaop.isa
@@ -245,7 +245,7 @@ let {{
src2, size, destSize, srcSize, ext)
op_class = 'SimdMiscOp'
code = '''
- int items = sizeof(FloatRegBits) / srcSize;
+ int items = sizeof(FloatReg) / srcSize;
int offset = imm8;
if (bits(src1, 0) && (ext & 0x1))
offset -= items;
@@ -267,7 +267,7 @@ let {{
src2, size, destSize, srcSize, ext)
op_class = 'SimdMiscOp'
code = '''
- int items = sizeof(FloatRegBits) / destSize;
+ int items = sizeof(FloatReg) / destSize;
int offset = imm8;
if (bits(dest, 0) && (ext & 0x1))
offset -= items;
@@ -289,7 +289,7 @@ let {{
"InstRegIndex(0)", size, destSize, srcSize, ext)
op_class = 'SimdMiscOp'
code = '''
- int items = sizeof(FloatRegBits) / srcSize;
+ int items = sizeof(FloatReg) / srcSize;
uint64_t result = 0;
int offset = (ext & 0x1) ? items : 0;
for (int i = 0; i < items; i++) {
@@ -325,7 +325,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = sizeof(FloatRegBits) / size;
+ int items = sizeof(FloatReg) / size;
int options;
int optionBits;
if (size == 8) {
@@ -342,7 +342,7 @@ let {{
for (int i = 0; i < items; i++) {
uint64_t resBits;
uint8_t lsel = sel & mask(optionBits);
- if (lsel * size >= sizeof(FloatRegBits)) {
+ if (lsel * size >= sizeof(FloatReg)) {
lsel -= options / 2;
resBits = bits(FpSrcReg2_uqw,
(lsel + 1) * sizeBits - 1,
@@ -367,7 +367,7 @@ let {{
code = '''
assert(srcSize == destSize);
int size = destSize;
- int items = (sizeof(FloatRegBits) / size) / 2;
+ int items = (sizeof(FloatReg) / size) / 2;
int offset = ext ? items : 0;
uint64_t result = 0;
for (int i = 0; i < items; i++) {
@@ -393,7 +393,7 @@ let {{
op_class = 'SimdMiscOp'
code = '''
assert(srcSize == destSize * 2);
- int items = (sizeof(FloatRegBits) / destSize);
+ int items = (sizeof(FloatReg) / destSize);
int destBits = destSize * 8;
int srcBits = srcSize * 8;
uint64_t result = 0;
@@ -1091,7 +1091,7 @@ let {{
op_class = 'SimdAddOp'
code = '''
int srcBits = srcSize * 8;
- int items = sizeof(FloatRegBits) / srcSize;
+ int items = sizeof(FloatReg) / srcSize;
uint64_t sum = 0;
for (int i = 0; i < items; i++) {
diff --git a/src/arch/x86/nativetrace.cc b/src/arch/x86/nativetrace.cc
index d7472ef1f..142a51cd7 100644
--- a/src/arch/x86/nativetrace.cc
+++ b/src/arch/x86/nativetrace.cc
@@ -90,9 +90,9 @@ X86NativeTrace::ThreadState::update(ThreadContext *tc)
rip = tc->pcState().npc();
//This should be expanded if x87 registers are considered
for (int i = 0; i < 8; i++)
- mmx[i] = tc->readFloatRegBits(X86ISA::FLOATREG_MMX(i));
+ mmx[i] = tc->readFloatReg(X86ISA::FLOATREG_MMX(i));
for (int i = 0; i < 32; i++)
- xmm[i] = tc->readFloatRegBits(X86ISA::FLOATREG_XMM_BASE + i);
+ xmm[i] = tc->readFloatReg(X86ISA::FLOATREG_XMM_BASE + i);
}
diff --git a/src/arch/x86/registers.hh b/src/arch/x86/registers.hh
index 893822263..8b1d59426 100644
--- a/src/arch/x86/registers.hh
+++ b/src/arch/x86/registers.hh
@@ -117,7 +117,7 @@ constexpr bool VecPredRegHasPackedRepr = ::DummyVecPredRegHasPackedRepr;
//These floating point types are correct for mmx, but not
//technically for x87 (80 bits) or at all for xmm (128 bits)
-typedef RegVal FloatRegBits;
+typedef RegVal FloatReg;
} // namespace X86ISA
diff --git a/src/arch/x86/utility.cc b/src/arch/x86/utility.cc
index 33b53ca92..b430124ec 100644
--- a/src/arch/x86/utility.cc
+++ b/src/arch/x86/utility.cc
@@ -239,7 +239,7 @@ copyRegs(ThreadContext *src, ThreadContext *dest)
dest->setIntRegFlat(i, src->readIntRegFlat(i));
//copy float regs
for (int i = 0; i < NumFloatRegs; ++i)
- dest->setFloatRegBitsFlat(i, src->readFloatRegBitsFlat(i));
+ dest->setFloatRegFlat(i, src->readFloatRegFlat(i));
//copy condition-code regs
for (int i = 0; i < NumCCRegs; ++i)
dest->setCCRegFlat(i, src->readCCRegFlat(i));