2 /* { dg-options "-O3" } */
10 #define TYPE2 long long
13 signed TYPE1 a[N], b, g[N];
14 unsigned TYPE1 c[N], h[N];
15 signed TYPE2 d[N], e, j[N];
16 unsigned TYPE2 f[N], k[N];
22 __attribute__((noinline)) void
26 for (i = 0; i < N; i++)
30 __attribute__((noinline)) void
34 for (i = 0; i < N; i++)
38 __attribute__((noinline)) void
42 for (i = 0; i < N; i++)
46 __attribute__((noinline)) void
50 for (i = 0; i < N; i++)
54 __attribute__((noinline)) void
58 for (i = 0; i < N; i++)
62 __attribute__((noinline)) void
66 for (i = 0; i < N; i++)
70 __attribute__((noinline)) void
74 for (i = 0; i < N; i++)
78 __attribute__((noinline)) void
82 for (i = 0; i < N; i++)
86 __attribute__((noinline)) void
90 for (i = 0; i < N; i++)
100 for (i = 0; i < N; i++)
103 c[i] = (random () << 1) | (random () & 1);
105 d[i] = (random () << 1) | (random () & 1);
106 d[i] |= (unsigned long long) c[i] << 32;
113 for (i = 0; i < N; i++)
114 if (g[i] != (signed TYPE1) (a[i] << S (b))
115 || h[i] != (unsigned TYPE1) (c[i] >> S (b))
116 || j[i] != (signed TYPE2) (d[i] << S (e))
117 || k[i] != (unsigned TYPE2) (f[i] >> S (e)))
122 for (i = 0; i < N; i++)
123 if (g[i] != (signed TYPE1) (a[i] >> S (b))
124 || j[i] != (signed TYPE2) (d[i] >> S (e))
125 || k[i] != (unsigned TYPE2) (f[i] >> S (b)))
128 for (i = 0; i < N; i++)
129 if (j[i] != (signed TYPE2) (d[i] << S (b)))
132 for (i = 0; i < N; i++)
133 if (j[i] != (signed TYPE2) (d[i] >> S (b)))