http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48381
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.03.31 07:51:54 CC| |jakub at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-03-31 07:51:54 UTC --- Confirmed. Slightly reduced testcase (again, -Os -m32): struct S { int s; } t; int baz (void); void fn (int, unsigned, int, unsigned, char); static char foo (signed x, unsigned y) { return x < 0 || y >= 32 ? 1 : x >> y; } long long bar (long long x, long y) { return y < 0 ? 1LL : x - y; } void test (int x, unsigned y, unsigned z, char w) { unsigned v[2]; fn (w || baz (), y, t.s, y, foo (bar (z, w) <= v[0], x)); }