diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:01 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-06-02 12:58:01 -0500 |
commit | 93a371481697f3f68f8189da6a7b14934fa93723 (patch) | |
tree | fbaffc66e6e1fbceda487b3150e06f95b825e105 /src/arch/arm/isa/formats/pred.isa | |
parent | 04300e33d49e5697565eb39956849a18ad74ea45 (diff) | |
download | gem5-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.isa | 52 |
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 = ''' |