1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* { dg-do compile } */ /* { dg-options "-O3 -Wall" } */ /* based on PR 43833 */ extern unsigned char data[5]; unsigned char foo (char *str) { int i, j; unsigned char c = 0; for (i = 0; i < 8; i++) { j = i * 5; if ((j % 8) > 3) c |= data[(j / 8) + 1]; } return c; }