101c101
< class PredImmOpBase : public PredOp
---
> class PredImmOp : public PredOp
108,125d107
<
< /// Constructor
< PredImmOpBase(const char *mnem, ExtMachInst _machInst, OpClass __opClass) :
< PredOp(mnem, _machInst, __opClass),
< imm(machInst.imm), rotated_imm(0), rotated_carry(0)
< {
< }
<
< std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
< };
<
< /**
< * Base class for regular predicated immediate operations.
< */
< class PredImmOp : public PredImmOpBase
< {
< protected:
<
130c112,113
< PredImmOpBase(mnem, _machInst, __opClass),
---
> PredOp(mnem, _machInst, __opClass),
> imm(machInst.imm), rotated_imm(0), rotated_carry(0),
137d119
< };
139,159c121
< /**
< * Base class for modified predicated immediate operations.
< */
< class PredModImmOp : public PredImmOpBase
< {
< protected:
<
< uint8_t ctrlImm;
< uint8_t dataImm;
<
<
< /// Constructor
< PredModImmOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass) :
< PredImmOpBase(mnem, _machInst, __opClass),
< ctrlImm(bits(machInst.instBits, 26) << 3 |
< bits(machInst.instBits, 14, 12)),
< dataImm(bits(machInst.instBits, 7, 0))
< {
< rotated_imm = modified_imm(ctrlImm, dataImm);
< rotated_carry = bits(rotated_imm, 31);
< }
---
> std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;