1 /* PR rtl-optimization/70542 */
2 /* { dg-do run } */
3 /* { dg-require-effective-target int32plus } */
4 
5 int a[113], d[113];
6 short b[113], c[113], e[113];
7 
8 int
main()9 main ()
10 {
11   int i;
12   long j;
13   for (i = 0; i < 113; ++i)
14     {
15       a[i] = -636544305;
16       b[i] = -31804;
17     }
18   for (j = 1; j <= 112; ++j)
19     {
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);
24     }
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;
32 }
33