libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr70542.c
blob39c7f81a0b220ae6a54d0eb158acd2efd0039255
1 /* PR rtl-optimization/70542 */
2 /* { dg-do run } */
3 /* { dg-require-effective-target int32plus } */
5 int a[113], d[113];
6 short b[113], c[113], e[113];
8 int
9 main ()
11 int i;
12 long j;
13 for (i = 0; i < 113; ++i)
15 a[i] = -636544305;
16 b[i] = -31804;
18 for (j = 1; j <= 112; ++j)
20 c[j] = b[j] >> ((a[j] & 1587842570) - 1510214139);
21 if (a[j])
22 d[j] = j;
23 e[j] = 7 << ((2312631697 - b[j]) - 2312663500);
25 asm volatile ("" : : : "memory");
26 if (c[0] || d[0] || e[0])
27 __builtin_abort ();
28 for (i = 1; i <= 112; ++i)
29 if (c[i] != -1 || d[i] != i || e[i] != 14)
30 __builtin_abort ();
31 return 0;