Go to the documentation of this file.
75 for (
int x = 1;
x < num;
x++) {
104 const int MaxGlobal = 8;
105 const int MaxOutput = 16;
106 const int MaxLocal = 24;
107 const int MaxInput = 32;
108 const int MaxMicroReg = 40;
113 while (reg_idx >= MaxMicroReg)
114 reg_idx -= MaxMicroReg;
119 else if (reg_idx < MaxGlobal)
121 else if (reg_idx < MaxOutput)
123 else if (reg_idx < MaxLocal)
125 else if (reg_idx < MaxInput)
127 else if (reg_idx < MaxMicroReg)
131 switch (reg_idx - MaxMicroReg) {
259 std::stringstream
ss;
326 panic(
"Tried testing condition nonexistant condition code %d", condition);
338 CondCodes condCodes = codes;
350 return !(condCodes.z | (condCodes.n ^ condCodes.v));
352 return condCodes.z | (condCodes.n ^ condCodes.v);
354 return !(condCodes.n ^ condCodes.v);
356 return (condCodes.n ^ condCodes.v);
358 return !(condCodes.c | condCodes.z);
360 return (condCodes.c | condCodes.z);
374 panic(
"Tried testing condition nonexistant "
375 "condition code %d", condition);
@ MISCREG_ASI
Ancillary State Registers.
@ FUnorderedOrLessOrEqual
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void printSrcReg(std::ostream &os, int reg) const
@ FloatRegClass
Floating-point register.
const int FramePointerReg
void advancePC(PCState &pcState) const override
@ MISCREG_HPSTATE
Hyper privileged registers.
void printRegArray(std::ostream &os, const RegId *indexArray, int num) const
const RegId & destRegIdx(int i) const
Return logical index (architectural reg num) of i'th destination reg.
void ccprintf(cp::Print &print)
EndBitUnion(HPSTATE) BitUnion16(PSTATE) Bitfield< 1 > ie
const RegId & srcRegIdx(int i) const
Return logical index (architectural reg num) of i'th source reg.
void printDestReg(std::ostream &os, int reg) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static void printReg(std::ostream &os, RegId reg)
const char * CondTestAbbrev[]
@ FUnorderedOrGreaterOrEqual
@ MISCREG_FSR
Floating Point Status Register.
static bool passesCondition(uint32_t codes, uint32_t condition)
int8_t _numDestRegs
See numDestRegs().
const int StackPointerReg
static void printMnemonic(std::ostream &os, const char *mnemonic)
@ MISCREG_TPC
Privilged Registers.
const char * mnemonic
Base mnemonic (e.g., "add").
@ IntRegClass
Integer register.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
int8_t _numSrcRegs
See numSrcRegs().
static bool passesFpCondition(uint32_t fcc, uint32_t condition)
Register ID: describe an architectural register with its class and index.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Sep 21 2021 12:24:35 for gem5 by doxygen 1.8.17