Review Board 2.0.15


X86: Make sure instruction flags are set properly even on 32 bit machines.

Review Request #836 - Created Sept. 4, 2011 and submitted

Information
Gabe Black
gem5
Reviewers
Default
ali, gblack, nate, stever
X86: Make sure instruction flags are set properly even on 32 bit machines.

The way flag bits were being set for microops in x86 ended up implicitly
calling the bitset constructor which was truncating flags beyond the width of
an unsigned long. This change sets the bits in chunks which are always small
enough to avoid being truncated. On 64 bit machines this should reduce to be
the same as before, and on 32 bit machines it should work properly and not be
unreasonably inefficient.

   
Ship it!
Posted (Sept. 5, 2011, 11:03 a.m.)
seems fine, but I would like some comments
src/arch/x86/insts/microop.hh (Diff revision 1)
 
 
I think a couple of comments are very much needed here for why you're doing this and what you're actually doing. Took me a little bit to figure out that you're creating a 32bit bit set for each 32 bits and oring them together. 

FYI, this is fixed in C++0x