------- Comment #3 from jakub at gcc dot gnu dot org 2007-08-27 08:52 ------- More reduced testcase, which fails both on the trunk (though just with -O1) and on 4.2 (both -O1 and -O2):
int foo (unsigned int *p, int *q, unsigned int w, unsigned int b) { unsigned int i; int mask; if (q[0] < q[1]) mask = 0xff; else mask = 0; for (i = 0; 8 * i < w; i++) { b ^= mask; *p++ = b; } return 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33148