loepere@westford.ccur.com (07/28/89)
When the following program is compiled with gcc -O (1.35) on a 68020, the computation of 'l' is taken outside of the innermost loop. Strangely enough, if you permute the operands of the bitwise-or operator, it compiles correctly. - Keith foo() { int j, k, l; extern int x; for (j = 0; j < 5; ++j) for (k = 0; k < 5; ++k) { l = ((j & 3) << 3) | k; if (x >= l) break; } }