diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:02 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:02 -0500 |
commit | 36ca0658a412671ee18cde40b8d264e319fb4710 (patch) | |
tree | 1f5d0c6c4d5dbb7773357b33e86ebc8e64ff1883 /src/arch/arm/insts/pred_inst.hh | |
parent | 7939b4826506bde98d299e1ba7a38e17cd1fa785 (diff) | |
download | gem5-36ca0658a412671ee18cde40b8d264e319fb4710.tar.xz |
ARM: Get rid of obsoleted predicated inst formats, etc.
Diffstat (limited to 'src/arch/arm/insts/pred_inst.hh')
-rw-r--r-- | src/arch/arm/insts/pred_inst.hh | 46 |
1 files changed, 4 insertions, 42 deletions
diff --git a/src/arch/arm/insts/pred_inst.hh b/src/arch/arm/insts/pred_inst.hh index 39d479d4f..8f92a2f26 100644 --- a/src/arch/arm/insts/pred_inst.hh +++ b/src/arch/arm/insts/pred_inst.hh @@ -98,65 +98,27 @@ class PredOp : public ArmStaticInst /** * Base class for predicated immediate operations. */ -class PredImmOpBase : public PredOp +class PredImmOp : public PredOp { protected: uint32_t imm; uint32_t rotated_imm; uint32_t rotated_carry; - - /// 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: - uint32_t rotate; /// Constructor PredImmOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : - PredImmOpBase(mnem, _machInst, __opClass), + PredOp(mnem, _machInst, __opClass), + imm(machInst.imm), rotated_imm(0), rotated_carry(0), rotate(machInst.rotate << 1) { rotated_imm = rotate_imm(imm, rotate); if (rotate != 0) rotated_carry = bits(rotated_imm, 31); } -}; - -/** - * 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; }; /** |