arch-arm: Improve debugging of CC regs accesses
As of now we are simply printing the CC reg index which is not particularly helpful. With this patch we actually print the (NZ|C|V) reg name. Change-Id: Ib4b56a372b25e5bc2b6b762d2ef3ff2084097cce Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Richard Cooper <richard.cooper@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/70718 Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -61,10 +61,31 @@ enum : RegIndex
|
||||
NumRegs
|
||||
};
|
||||
|
||||
const char * const RegName[NumRegs] = {
|
||||
"nz",
|
||||
"c",
|
||||
"v",
|
||||
"ge",
|
||||
"fp",
|
||||
"zero"
|
||||
};
|
||||
|
||||
} // namespace cc_reg
|
||||
|
||||
inline constexpr RegClass ccRegClass(CCRegClass, CCRegClassName,
|
||||
cc_reg::NumRegs, debug::CCRegs);
|
||||
class CCRegClassOps : public RegClassOps
|
||||
{
|
||||
public:
|
||||
std::string
|
||||
regName(const RegId &id) const override
|
||||
{
|
||||
return cc_reg::RegName[id.index()];
|
||||
}
|
||||
};
|
||||
|
||||
static inline CCRegClassOps ccRegClassOps;
|
||||
|
||||
inline constexpr RegClass ccRegClass = RegClass(CCRegClass, CCRegClassName,
|
||||
cc_reg::NumRegs, debug::CCRegs).ops(ccRegClassOps);
|
||||
|
||||
namespace cc_reg
|
||||
{
|
||||
@@ -77,15 +98,6 @@ inline constexpr RegId
|
||||
Fp = ccRegClass[_FpIdx],
|
||||
Zero = ccRegClass[_ZeroIdx];
|
||||
|
||||
const char * const RegName[NumRegs] = {
|
||||
"nz",
|
||||
"c",
|
||||
"v",
|
||||
"ge",
|
||||
"fp",
|
||||
"zero"
|
||||
};
|
||||
|
||||
} // namespace cc_reg
|
||||
|
||||
enum ConditionCode
|
||||
|
||||
Reference in New Issue
Block a user