modula2: M2MetaError.{def,mod} and P2SymBuild.mod further cleanup
[official-gcc.git] / gcc / testsuite / gcc.dg / pr112374-2.c
blob1598c49fc549df7a89bd924856dd872916d9bc00
1 /* PR tree-optimization/112374 */
2 /* { dg-do compile } */
3 /* { dg-options "-fcompare-debug -gno-statement-frontiers -O2" } */
4 /* { dg-additional-options "-march=skylake-avx512" { target i?86-*-* x86_64-*-* } } */
5 /* { dg-additional-options "-march=armv9-a" { target aarch64*-*-* } } */
7 void foo (int, int);
8 struct S { char s[64]; } *p;
9 char a, b;
10 unsigned char c;
11 int d, e;
13 void
14 bar (void)
16 unsigned i;
17 long j = 0;
18 for (i = 0; i < b; ++i)
19 j |= (p->s[i] ? 3 : 0) << i;
20 if (p->s[i + 1])
21 lab:
22 for (;;)
24 for (i = 0; i < 4; ++i)
25 j |= p->s[i] << i;
26 for (; i; i += 2)
27 if (c + 1 != a)
28 goto lab;
29 for (; i < 8; ++i)
30 j |= p->s[i] >= 6;
31 if (j)
32 foo (d, e);