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 | 190502476681b972f65697a7d2b3e3da35d40cd1 (patch) | |
tree | 1e36bfdad5fae57761781554fc2fcf26cf601ece /src/arch/arm/isa/formats/macromem.isa | |
parent | 55465844dc9d7e9560bd067672f5b54bf3d63e8f (diff) | |
download | gem5-190502476681b972f65697a7d2b3e3da35d40cd1.tar.xz |
ARM: Eliminate decoding for the very deprecated FPA instructions.
Diffstat (limited to 'src/arch/arm/isa/formats/macromem.isa')
-rw-r--r-- | src/arch/arm/isa/formats/macromem.isa | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/arch/arm/isa/formats/macromem.isa b/src/arch/arm/isa/formats/macromem.isa index c834c22cb..704e4b71a 100644 --- a/src/arch/arm/isa/formats/macromem.isa +++ b/src/arch/arm/isa/formats/macromem.isa @@ -147,33 +147,6 @@ let {{ //////////////////////////////////////////////////////////////////// // -// Moving to/from double floating point registers -// - -let {{ - microMvtdUopIop = InstObjParams('mvtd_uop', 'MicroMvtdUop', - 'PredOp', - {'code': 'Fd.ud = (Rhi.ud << 32) | Rlo;', - 'predicate_test': predicateTest}, - ['IsMicroop']) - - microMvfdUopIop = InstObjParams('mvfd_uop', 'MicroMvfdUop', - 'PredOp', - {'code': '''Rhi = bits(Fd.ud, 63, 32); - Rlo = bits(Fd.ud, 31, 0);''', - 'predicate_test': predicateTest}, - ['IsMicroop']) - - header_output = BasicDeclare.subst(microMvtdUopIop) + \ - BasicDeclare.subst(microMvfdUopIop) - decoder_output = BasicConstructor.subst(microMvtdUopIop) + \ - BasicConstructor.subst(microMvfdUopIop) - exec_output = PredOpExecute.subst(microMvtdUopIop) + \ - PredOpExecute.subst(microMvfdUopIop) -}}; - -//////////////////////////////////////////////////////////////////// -// // Macro Memory-format instructions // @@ -275,67 +248,6 @@ Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *trace } }}; -def template MacroFPAConstructor {{ -inline %(class_name)s::%(class_name)s(ExtMachInst machInst) - : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) -{ - %(constructor)s; - - uint32_t start_addr = 0; - - if (prepost) - start_addr = disp8; - else - start_addr = 0; - - emit_ldfstf_uops(microOps, 0, machInst, loadop, up, start_addr); - - if (writeback) - { - if (up) { - microOps[numMicroops - 1] = - new MicroAddiUop(machInst, RN, RN, disp8); - } else { - microOps[numMicroops - 1] = - new MicroSubiUop(machInst, RN, RN, disp8); - } - } - microOps[numMicroops - 1]->setLastMicroop(); -} - -}}; - - -def template MacroFMConstructor {{ -inline %(class_name)s::%(class_name)s(ExtMachInst machInst) - : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) -{ - %(constructor)s; - - uint32_t start_addr = 0; - - if (prepost) - start_addr = disp8; - else - start_addr = 0; - - for (int i = 0; i < count; i++) - emit_ldfstf_uops(microOps, 3*i, machInst, loadop, up, start_addr); - - if (writeback) { - if (up) { - microOps[numMicroops - 1] = - new MicroAddiUop(machInst, RN, RN, disp8); - } else { - microOps[numMicroops - 1] = - new MicroSubiUop(machInst, RN, RN, disp8); - } - } - microOps[numMicroops - 1]->setLastMicroop(); -} -}}; - - def format ArmMacroStore(code, mem_flags = [], inst_flag = [], *opt_flags) {{ iop = InstObjParams(name, Name, 'ArmMacroMemoryOp', code, opt_flags) header_output = MacroStoreDeclare.subst(iop) @@ -343,25 +255,3 @@ def format ArmMacroStore(code, mem_flags = [], inst_flag = [], *opt_flags) {{ decode_block = BasicDecode.subst(iop) exec_output = MacroStoreExecute.subst(iop) }}; - -def format ArmMacroFPAOp(code, mem_flags = [], inst_flag = [], *opt_flags) {{ - iop = InstObjParams(name, Name, 'ArmMacroFPAOp', - {"code": code, - "predicate_test": predicateTest}, - opt_flags) - header_output = BasicDeclare.subst(iop) - decoder_output = MacroFPAConstructor.subst(iop) - decode_block = BasicDecode.subst(iop) - exec_output = PredOpExecute.subst(iop) -}}; - -def format ArmMacroFMOp(code, mem_flags = [], inst_flag = [], *opt_flags) {{ - iop = InstObjParams(name, Name, 'ArmMacroFMOp', - {"code": code, - "predicate_test": predicateTest}, - opt_flags) - header_output = BasicDeclare.subst(iop) - decoder_output = MacroFMConstructor.subst(iop) - decode_block = BasicDecode.subst(iop) - exec_output = PredOpExecute.subst(iop) -}}; |