diff --git a/src/cpu/exetrace.cc b/src/cpu/exetrace.cc index 4c0f83a21..7227602b5 100644 --- a/src/cpu/exetrace.cc +++ b/src/cpu/exetrace.cc @@ -128,10 +128,10 @@ Trace::ExeTracerRecord::dump() * complete/print when they fault. */ if (IsOn(ExecMacro) && staticInst->isMicroop() && - (IsOn(ExecMicro) && + ((IsOn(ExecMicro) && macroStaticInst && staticInst->isFirstMicroop()) || (!IsOn(ExecMicro) && - macroStaticInst && staticInst->isLastMicroop())) { + macroStaticInst && staticInst->isLastMicroop()))) { traceInst(macroStaticInst, false); } if (IsOn(ExecMicro) || !staticInst->isMicroop()) {