On Thu, Nov 07, 2013 at 04:39:03PM +0100, Richard Biener wrote:
> On Thu, Nov 7, 2013 at 4:15 PM, Marek Polacek <pola...@redhat.com> wrote:
> > Here, forward propagation turned
> >   _6 = a.1_5 & 1;
> >   _7 = (_Bool) _6;
> > into
> >   _7 = (_Bool) a.1_5;
> > but that's wrong: e.g. if a = 2 then (_Bool) _6 is 0, but (_Bool) a.1_5 is 
> > 1.
> 
> ?
> 
> (_Bool) 2
> 
> should truncate the value to zero.

Aha.  I can see now, said the blind man.

Anyway, I'll revisit this in stage 3; I now suspect the special
handling of BIT_IOR_EXPR in register_edge_assert_for_1.

        Marek

Reply via email to