vect: Fix vect_reduction_def check for odd/even widen mult [PR116142]
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr112310.c
blobdaf2390734cce4c059fe11d4949e641fe0411b6f
1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
4 extern void abort (void);
5 short a, b;
6 static int c, d, e, f = -7;
7 char g;
8 int *h = &d;
9 int **i = &h;
10 int j;
11 short(k)(int l) { return l >= 2 ? 0 : l; }
12 int(m)(int l, int n) { return l < -2147483647 / n ? l : l * n; }
13 void o() { &c; }
14 int main()
16 int p;
17 for (; g <= 3; g++)
19 for (; c; c++)
21 a = 2;
22 for (; a <= 7; a++) {
23 short *r = &b;
24 p = m(*h, 2022160547);
25 unsigned q = 2022160547;
26 e = p * q;
27 *r ^= e;
28 j = k(c + 3);
29 **i = 0;
31 *i = &f;
33 if (b != -3189)
34 abort ();
35 return 0;