SPARC: Make nops have the IsNop flag set.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 13 Aug 2007 23:11:27 +0000 (16:11 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 13 Aug 2007 23:11:27 +0000 (16:11 -0700)
In O3, a nop is used to carry faults down the pipeline that didn't originate
from an instruction. If the instruction doesn't do anything, that is just
returns NoFault, but doesn't have IsNop set, the NoFault will overwrite the
fault that's being sent down and nothing will happen.

--HG--
extra : convert_revision : 54d99002b550ca0e1cf14603f588dc1038e3e535

src/arch/sparc/isa/formats/nop.isa

index de2ba2f54bf646f5c4e21b78dc6e7db798d981e9..63c541288bfbce9152576bd620d02ea56ac1f5c0 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (c) 2006 The Regents of The University of Michigan
+// Copyright (c) 2006-2007 The Regents of The University of Michigan
 // All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -53,6 +53,7 @@ output header {{
             Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) :
                 SparcStaticInst(mnem, _machInst, __opClass)
             {
+                flags[IsNop] = true;
             }
 
             // All Nop instructions do the same thing, so this can be