------- Comment #2 from dje at transmeta dot com  2006-10-25 02:41 -------
Thinking about it some more, disregard this (I think):

- nonzero_bits returns bits that may be one, not bits that are one, so it's not
clear this optimization is valid regardless of anything else

I _think_ this is the culprit, though it's not worded very well:

- op1 is shifted outside the mode of the operation (0x3c << 31) (HOST_WIDE_INT
is 64 bits) and this value is the value AND'd with the result of nonzero_bits.

I think that's what you want, but "We do this by seeing if OP1 can be safely
shifted left C bits" doesn't take into account the mode of the operation.

Just guessing though.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29589

Reply via email to