From 2f3102f1ef02977a4489fa0442ba7d6aed8e2855 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 2 Jun 2010 12:58:04 -0500 Subject: [PATCH] ARM: Add templates for VFP load/store multiple instructions. --- src/arch/arm/isa/templates/macromem.isa | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/arch/arm/isa/templates/macromem.isa b/src/arch/arm/isa/templates/macromem.isa index de5279392..400342a29 100644 --- a/src/arch/arm/isa/templates/macromem.isa +++ b/src/arch/arm/isa/templates/macromem.isa @@ -131,3 +131,30 @@ def template MacroMemConstructor {{ } }}; + +def template MacroVFPMemDeclare {{ +/** + * Static instructions class for a store multiple instruction + */ +class %(class_name)s : public %(base_class)s +{ + public: + // Constructor + %(class_name)s(ExtMachInst machInst, IntRegIndex rn, + RegIndex vd, bool single, bool up, bool writeback, + bool load, uint32_t offset); + %(BasicExecPanic)s +}; +}}; + +def template MacroVFPMemConstructor {{ +%(class_name)s::%(class_name)s(ExtMachInst machInst, IntRegIndex rn, + RegIndex vd, bool single, bool up, bool writeback, bool load, + uint32_t offset) + : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, rn, + vd, single, up, writeback, load, offset) +{ + %(constructor)s; +} + +}};