Posted (Dec. 8, 2010, 2:52 p.m.)
I think we talked about this already, but I think the changes to O3 here are fixing a problem that's really in the ARM predecoder. It should make sure it doesn't call consumeBytes with more bytes than are actually there to consume (and avoid triggering the assert there). Instead, this change seems to force O3 to always provide a maximal number of bytes to the predecoder. I'd also really want this tested with x86 before it's committed since x86's instruction length is a little more adventuresome than ARM's. I sent a patch to you at some point that would get the x86 spec regressions to run on O3, but I'm not sure when or whether you'll be able to find it easily. If you need it again I'll try to dig it up.
-
src/cpu/o3/fetch_impl.hh (Diff revision 1) -
Brace goes on the same line as the if, else on the same line as the closing brace.
