diff -r cd95d4d51659 -r f72bd92d39d2 src/cpu/simple/atomic.cc --- a/src/cpu/simple/atomic.cc Sat Jan 10 18:06:43 2015 -0600 +++ b/src/cpu/simple/atomic.cc Tue Jan 13 18:18:29 2015 +0100 @@ -580,10 +580,7 @@ // keep an instruction count if (fault == NoFault) { countInst(); - if (!curStaticInst->isMicroop() || - curStaticInst->isLastMicroop()) { - ppCommit->notify(std::make_pair(thread, curStaticInst)); - } + ppCommit->notify(std::make_pair(thread, curStaticInst)); } else if (traceData && !DTRACE(ExecFaulting)) { delete traceData; diff -r cd95d4d51659 -r f72bd92d39d2 src/cpu/simple/probes/simpoint.cc --- a/src/cpu/simple/probes/simpoint.cc Sat Jan 10 18:06:43 2015 -0600 +++ b/src/cpu/simple/probes/simpoint.cc Tue Jan 13 18:18:29 2015 +0100 @@ -79,6 +79,9 @@ SimpleThread* thread = p.first; const StaticInstPtr &inst = p.second; + if (inst->isMicroop() && !inst->isLastMicroop()) + return; + if (!currentBBVInstCount) currentBBV.first = thread->pcState().instAddr();