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 | 51bde086d578e09e1058b17c40fae99404a325dc (patch) | |
tree | 52266766aba471241f4018b56bc69659e3547a6d /src/arch/arm/insts/macromem.hh | |
parent | 93a371481697f3f68f8189da6a7b14934fa93723 (diff) | |
download | gem5-51bde086d578e09e1058b17c40fae99404a325dc.tar.xz |
ARM: Reimplement load/store multiple external to the decoder.
--HG--
rename : src/arch/arm/isa/formats/macromem.isa => src/arch/arm/isa/insts/macromem.isa
rename : src/arch/arm/isa/formats/macromem.isa => src/arch/arm/isa/templates/macromem.isa
Diffstat (limited to 'src/arch/arm/insts/macromem.hh')
-rw-r--r-- | src/arch/arm/insts/macromem.hh | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/arch/arm/insts/macromem.hh b/src/arch/arm/insts/macromem.hh index 6c2db2026..e1ae1dae8 100644 --- a/src/arch/arm/insts/macromem.hh +++ b/src/arch/arm/insts/macromem.hh @@ -82,39 +82,17 @@ class MicroIntOp : public PredOp class MicroMemOp : public MicroIntOp { protected: + bool up; unsigned memAccessFlags; MicroMemOp(const char *mnem, ExtMachInst machInst, OpClass __opClass, - RegIndex _ura, RegIndex _urb, uint8_t _imm) + RegIndex _ura, RegIndex _urb, bool _up, uint8_t _imm) : MicroIntOp(mnem, machInst, __opClass, _ura, _urb, _imm), - memAccessFlags(0) + up(_up), memAccessFlags(0) { } }; -/** - * Arm Macro Memory operations like LDM/STM - */ -class ArmMacroMemoryOp : public PredMacroOp -{ - protected: - /// Memory request flags. See mem_req_base.hh. - unsigned memAccessFlags; - - uint32_t reglist; - uint32_t ones; - - ArmMacroMemoryOp(const char *mnem, ExtMachInst _machInst, - OpClass __opClass) - : PredMacroOp(mnem, _machInst, __opClass), memAccessFlags(0), - reglist(machInst.regList), ones(0) - { - ones = number_of_ones(reglist); - numMicroops = ones + machInst.puswl.writeback + 1; - // Remember that writeback adds a uop - microOps = new StaticInstPtr[numMicroops]; - } -}; } #endif //__ARCH_ARM_INSTS_MACROMEM_HH__ |