summaryrefslogtreecommitdiff
path: root/src/arch/arm/insts/macromem.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-07-08 23:02:19 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-07-08 23:02:19 -0700
commit1d4f338b391ffea73d05758ecca771bd16625031 (patch)
tree8e1b01cdaf71de8d5ecb6c2c55e58ae44bc8e57f /src/arch/arm/insts/macromem.hh
parent70a75ceb84c3c1964db548a254e2b6abdf8c084c (diff)
downloadgem5-1d4f338b391ffea73d05758ecca771bd16625031.tar.xz
ARM: Move the memory microops out of the decoder and into the ISA desc.
Diffstat (limited to 'src/arch/arm/insts/macromem.hh')
-rw-r--r--src/arch/arm/insts/macromem.hh16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arch/arm/insts/macromem.hh b/src/arch/arm/insts/macromem.hh
index c215cdeab..541c9e3f5 100644
--- a/src/arch/arm/insts/macromem.hh
+++ b/src/arch/arm/insts/macromem.hh
@@ -64,6 +64,22 @@ class MicroIntOp : public PredOp
};
/**
+ * Memory microops which use IntReg + Imm addressing
+ */
+class MicroMemOp : public MicroIntOp
+{
+ protected:
+ unsigned memAccessFlags;
+
+ MicroMemOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
+ RegIndex _ura, RegIndex _urb, uint8_t _imm)
+ : MicroIntOp(mnem, machInst, __opClass, _ura, _urb, _imm),
+ memAccessFlags(0)
+ {
+ }
+};
+
+/**
* Arm Macro Memory operations like LDM/STM
*/
class ArmMacroMemoryOp : public PredMacroOp