1  /* PR tree-optimization/46969 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O3 -ftree-parallelize-loops=2 -fcompare-debug" } */
       4  
       5  extern void abort (void);
       6  #define F(name) \
       7  int								\
       8  name (unsigned char *x)						\
       9  {								\
      10    int i;							\
      11    unsigned int c, d, e;						\
      12    if (x != 0)							\
      13      {								\
      14        for (i = 0, d = 0, e = 0xFFFFFFFF;			\
      15  	   i < 64;						\
      16  	   i += (int) sizeof(unsigned int))			\
      17          {							\
      18            c = *((unsigned int *)(&x[i]));			\
      19            d = d | c;						\
      20            e = e & c;						\
      21          }							\
      22        if (!((d == e) && ((d >> 8) == (e & 0x00FFFFFF))))	\
      23          abort ();						\
      24      }								\
      25    return 0;							\
      26  }
      27  F (foo0) F (foo1)
      28  F (foo2) F (foo3)
      29  F (foo4) F (foo5)
      30  F (foo6) F (foo7)
      31  F (foo8) F (foo9)