summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/formats/pred.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:01 -0500
committerGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:01 -0500
commit93a371481697f3f68f8189da6a7b14934fa93723 (patch)
treefbaffc66e6e1fbceda487b3150e06f95b825e105 /src/arch/arm/isa/formats/pred.isa
parent04300e33d49e5697565eb39956849a18ad74ea45 (diff)
downloadgem5-93a371481697f3f68f8189da6a7b14934fa93723.tar.xz
ARM: Move the templates for predicated instructions into a separate file.
This allows the templates to all be available at the same time before any of the formats, etc. This breaks an artificial circular dependence. --HG-- rename : src/arch/arm/isa/formats/pred.isa => src/arch/arm/isa/templates/pred.isa
Diffstat (limited to 'src/arch/arm/isa/formats/pred.isa')
-rw-r--r--src/arch/arm/isa/formats/pred.isa52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/arch/arm/isa/formats/pred.isa b/src/arch/arm/isa/formats/pred.isa
index 03eb3a492..d5e3fec19 100644
--- a/src/arch/arm/isa/formats/pred.isa
+++ b/src/arch/arm/isa/formats/pred.isa
@@ -40,58 +40,6 @@
//
// Authors: Stephen Hines
-////////////////////////////////////////////////////////////////////
-//
-// Predicated Instruction Execution
-//
-
-let {{
- predicateTest = 'testPredicate(CondCodes, condCode)'
-}};
-
-def template PredOpExecute {{
- Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
- {
- Fault fault = NoFault;
- uint64_t resTemp = 0;
- resTemp = resTemp;
- %(op_decl)s;
- %(op_rd)s;
-
- if (%(predicate_test)s)
- {
- %(code)s;
- if (fault == NoFault)
- {
- %(op_wb)s;
- }
- }
-
- return fault;
- }
-}};
-
-def template DataDecode {{
- if (machInst.opcode4 == 0) {
- if (machInst.sField == 0)
- return new %(class_name)sImm(machInst);
- else
- return new %(class_name)sImmCc(machInst);
- } else {
- if (machInst.sField == 0)
- return new %(class_name)s(machInst);
- else
- return new %(class_name)sCc(machInst);
- }
-}};
-
-def template DataImmDecode {{
- if (machInst.sField == 0)
- return new %(class_name)s(machInst);
- else
- return new %(class_name)sCc(machInst);
-}};
-
let {{
calcCcCode = '''