From ca84d953b90172e2a642c0d777339c5328345801 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 13 Aug 2007 16:11:27 -0700 Subject: [PATCH] SPARC: Make nops have the IsNop flag set. 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/arch/sparc/isa/formats/nop.isa b/src/arch/sparc/isa/formats/nop.isa index de2ba2f54..63c541288 100644 --- a/src/arch/sparc/isa/formats/nop.isa +++ b/src/arch/sparc/isa/formats/nop.isa @@ -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 -- 2.30.2