------- Comment #1 from dje at transmeta dot com 2006-10-25 02:23 ------- Re: "We think may be what wanted is:" ...
That's just off the cuff speculation. The curious things are: - 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. - 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 -- dje at transmeta dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|incorrect conversion of (ior|incorrect conversion of (ior |(ashiftrt (plus ...))) in |(ashiftrt (plus ...))) in |combine.c |combine.c http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29589