This happens on ARM instructions when they update the IT state bits.
Code and associated comment was copied from execute() and initiateAcc() methods
Fault
BaseO3DynInst<Impl>::completeAcc(PacketPtr pkt)
{
+ // @todo: Pretty convoluted way to avoid squashing from happening
+ // when using the TC during an instruction's execution
+ // (specifically for instructions that have side-effects that use
+ // the TC). Fix this.
+ bool in_syscall = this->thread->inSyscall;
+ this->thread->inSyscall = true;
+
this->fault = this->staticInst->completeAcc(pkt, this, this->traceData);
+ this->thread->inSyscall = in_syscall;
+
return this->fault;
}