1/* { dg-options "-fmodulo-sched" } */
2
3
4extern long *x1, *x2, *x3;
5
6int
7foo ()
8{
9  /* Switching the following two lines prevents the ICE.  */
10  long *p1, *p2;
11  long m, n, i;
12
13  p1 = x1;
14  p2 = x2;
15  n = 0;
16  for (i = *x3; 0 < i; i--)
17    {
18      m = (*p1++) ^ (*p2++);
19      m = (m & 0x55555555) + ((m >> 1) & 0x55555555);
20      m = (m & 0x33333333) + ((m >> 2) & 0x33333333);
21      m = (m + (m >> 4)) & 0x0f0f0f0f;
22      m = (m + (m >> 8));
23      n += m;
24    }
25  return n;
26}
27