PR tree-optimization/84740
[official-gcc.git] / gcc / testsuite / gcc.dg / autopar / pr46969.c
blob807ce4f9293c28b9bdb086b1cc551eeb0bb83a82
1 /* PR tree-optimization/46969 */
2 /* { dg-do compile } */
3 /* { dg-options "-O3 -ftree-parallelize-loops=2 -fcompare-debug" } */
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; \
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)