------- Comment #4 from pinskia at gcc dot gnu dot org 2008-10-27 18:54 ------- As an asside, I wonder why we don't optimize: D.1576_3 = (int) a.0_2; D.1577_4 = ~D.1576_3; D.1578_5 = (unsigned int) D.1577_4;
Into just: D_1 = ~a.0_2; D_2 = (unsigned int)D_1; Like it is done for the case were we manually replace b with -1. Maybe this is a tree combiner issue again ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37924