/// Binary extended machine instruction type.
typedef TheISA::ExtMachInst ExtMachInst;
- enum {
- MaxInstSrcRegs = TheISA::MaxInstSrcRegs, //< Max source regs
- MaxInstDestRegs = TheISA::MaxInstDestRegs //< Max dest regs
- };
-
using RegIdArrayPtr = RegId (StaticInst:: *)[];
private:
/// See srcRegIdx().
- RegId _srcRegIdx[MaxInstSrcRegs];
RegIdArrayPtr _srcRegIdxPtr = nullptr;
/// See destRegIdx().
- RegId _destRegIdx[MaxInstDestRegs];
RegIdArrayPtr _destRegIdxPtr = nullptr;
protected:
/// the fields that are meaningful for the particular
/// instruction.
StaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
- : _srcRegIdxPtr(
- reinterpret_cast<RegIdArrayPtr>(&StaticInst::_srcRegIdx)),
- _destRegIdxPtr(
- reinterpret_cast<RegIdArrayPtr>(&StaticInst::_destRegIdx)),
- _opClass(__opClass),
+ : _opClass(__opClass),
_numSrcRegs(0), _numDestRegs(0), _numFPDestRegs(0),
_numIntDestRegs(0), _numCCDestRegs(0), _numVecDestRegs(0),
_numVecElemDestRegs(0), _numVecPredDestRegs(0), machInst(_machInst),