From 29676286c8b52014c44f5001ff2d039881189030 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 22 Oct 2010 00:23:19 -0700 Subject: ISA: Simplify various implementations of completeAcc. --- src/arch/arm/isa/templates/mem.isa | 36 ++++++------------------------------ src/arch/arm/isa/templates/misc.isa | 10 ++-------- 2 files changed, 8 insertions(+), 38 deletions(-) (limited to 'src/arch/arm') diff --git a/src/arch/arm/isa/templates/mem.isa b/src/arch/arm/isa/templates/mem.isa index ced7a0037..29ef8d007 100644 --- a/src/arch/arm/isa/templates/mem.isa +++ b/src/arch/arm/isa/templates/mem.isa @@ -595,23 +595,11 @@ def template StoreCompleteAcc {{ %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { - Fault fault = NoFault; - - %(op_decl)s; - %(op_rd)s; - - if (%(predicate_test)s) - { - if (fault == NoFault) { - %(op_wb)s; - } - } - - if (fault == NoFault && machInst.itstateMask != 0) { + if (machInst.itstateMask != 0) { + warn_once("Complete acc isn't called on normal stores in O3."); xc->setMiscReg(MISCREG_ITSTATE, machInst.newItstate); } - - return fault; + return NoFault; } }}; @@ -621,23 +609,11 @@ def template NeonStoreCompleteAcc {{ PacketPtr pkt, %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { - Fault fault = NoFault; - - %(op_decl)s; - %(op_rd)s; - - if (%(predicate_test)s) - { - if (fault == NoFault) { - %(op_wb)s; - } - } - - if (fault == NoFault && machInst.itstateMask != 0) { + if (machInst.itstateMask != 0) { + warn_once("Complete acc isn't called on normal stores in O3."); xc->setMiscReg(MISCREG_ITSTATE, machInst.newItstate); } - - return fault; + return NoFault; } }}; diff --git a/src/arch/arm/isa/templates/misc.isa b/src/arch/arm/isa/templates/misc.isa index f8dac05f8..915dea9b0 100644 --- a/src/arch/arm/isa/templates/misc.isa +++ b/src/arch/arm/isa/templates/misc.isa @@ -387,17 +387,11 @@ def template ClrexCompleteAcc {{ %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { - Fault fault = NoFault; - - %(op_decl)s; - %(op_rd)s; - - - if (fault == NoFault && machInst.itstateMask != 0) { + if (machInst.itstateMask != 0) { xc->setMiscReg(MISCREG_ITSTATE, machInst.newItstate); } - return fault; + return NoFault; } }}; -- cgit v1.2.3