Having instructions internally manage undoing state like that in what is supposed to be a functional description of instruction semantics seems pretty odd to me. I confess that I haven't followed all the ins and outs of this issue closely, but what problem is this change trying to solve? Is this just to get STUPD to be a single uop instead of two uops that communicate via a temp reg, without forcing dependent instructions to wait for the STUPD to commit to get the updated base value?
If part of the problem is that O3 doesn't call completeAcc on stores, then why don't we just change O3 to do that? Do we need another execution phase like completeTrans() that can be overridden here? Generally it's not unreasonable to say that any exception that occurs post-translation on a store is imprecise... I don't know if x86 specifically has any exceptions to that rule. Steve _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
