diff -r bc8ee69601d0 -r 143028d952ec src/cpu/o3/iew_impl.hh --- a/src/cpu/o3/iew_impl.hh Wed Mar 04 02:45:07 2015 -0600 +++ b/src/cpu/o3/iew_impl.hh Wed Mar 04 02:48:56 2015 -0600 @@ -1095,20 +1095,11 @@ iewExecutedNop[tid]++; add_to_iq = false; - } else if (inst->isExecuted()) { - assert(0 && "Instruction shouldn't be executed.\n"); - DPRINTF(IEW, "Issue: Executed branch encountered, " - "skipping.\n"); - - inst->setIssued(); - inst->setCanCommit(); - - instQueue.recordProducer(inst); - - add_to_iq = false; } else { + assert(!inst->isExecuted()); add_to_iq = true; } + if (inst->isNonSpeculative()) { DPRINTF(IEW, "[tid:%i]: Issue: Nonspeculative instruction " "encountered, skipping.\n", tid);