ISA: Simplify various implementations of completeAcc.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 22 Oct 2010 07:23:19 +0000 (00:23 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 22 Oct 2010 07:23:19 +0000 (00:23 -0700)
src/arch/alpha/isa/mem.isa
src/arch/arm/isa/templates/mem.isa
src/arch/arm/isa/templates/misc.isa
src/arch/mips/isa/formats/mem.isa
src/arch/power/isa/formats/mem.isa
src/arch/sparc/isa/formats/mem/util.isa

index efff0eac7e2429880a23bbe7607d468564cb11a5..799f910c3a879acaeff87eeb4d637db536fa0904 100644 (file)
@@ -354,20 +354,7 @@ def template StoreCompleteAcc {{
                                       %(CPU_exec_context)s *xc,
                                       Trace::InstRecord *traceData) const
     {
-        Fault fault = NoFault;
-
-        %(fp_enable_check)s;
-        %(op_dest_decl)s;
-
-        if (fault == NoFault) {
-            %(postacc_code)s;
-        }
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-        }
-
-        return fault;
+        return NoFault;
     }
 }};
 
index ced7a0037e4c03cc5a38ea119a4ef56038c64c05..29ef8d007d84a8ccd398fa958e5d5e9dd17cb3b6 100644 (file)
@@ -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;
     }
 }};
 
index f8dac05f85fe38bd2c96064c49c70f1b5d5561da..915dea9b03d0316a7b4dfbd35669f4c3aa5a06a1 100644 (file)
@@ -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;
     }
 }};
 
index 411cc5fda5a5390f88f57291ce677d733841621c..e7dbd8e9be2c86eac9fccfa7d2789f94521dfc84 100644 (file)
@@ -420,42 +420,7 @@ def template StoreCompleteAcc {{
                                       %(CPU_exec_context)s *xc,
                                       Trace::InstRecord *traceData) const
     {
-        Fault fault = NoFault;
-
-        %(fp_enable_check)s;
-        %(op_dest_decl)s;
-
-        if (fault == NoFault) {
-            %(postacc_code)s;
-        }
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-        }
-
-        return fault;
-    }
-}};
-
-
-def template StoreCompleteAcc {{
-    Fault %(class_name)s::completeAcc(Packet *pkt,
-                                      %(CPU_exec_context)s *xc,
-                                      Trace::InstRecord *traceData) const
-    {
-        Fault fault = NoFault;
-
-        %(op_dest_decl)s;
-
-        if (fault == NoFault) {
-            %(postacc_code)s;
-        }
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-        }
-
-        return fault;
+        return NoFault;
     }
 }};
 
index 3bcf0633a8e642a66e142fcd83f93c5ce58204fe..014e4ff5ac0fc97fe32a97eb155fe1816ad17ff5 100644 (file)
@@ -212,15 +212,7 @@ def template StoreCompleteAcc {{
                                       %(CPU_exec_context)s *xc,
                                       Trace::InstRecord *traceData) const
     {
-        Fault fault = NoFault;
-
-        %(op_dest_decl)s;
-
-        if (fault == NoFault) {
-          %(op_wb)s;
-        }
-
-        return fault;
+        return NoFault;
     }
 }};
 
index 31efb9cf6e8da2874208bac687126eec620c4d6b..667b9a23adb64de0a8c27254fb3236f15087d489 100644 (file)
@@ -272,15 +272,6 @@ def template StoreCompleteAcc {{
         Fault %(class_name)s::completeAcc(PacketPtr, %(CPU_exec_context)s * xc,
                 Trace::InstRecord * traceData) const
         {
-            Fault fault = NoFault;
-            %(op_decl)s;
-
-            %(op_rd)s;
-            %(postacc_code)s;
-            if (fault == NoFault)
-            {
-                %(op_wb)s;
-            }
             return NoFault;
         }
 }};