2018-01-16 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr70354-1.c
blob9d601dc9d4a92922e4114b8b4d1b7ef2f49c0c44
1 /* PR tree-optimization/70354 */
3 #ifndef main
4 #include "tree-vect.h"
5 #endif
7 long long int b[64], c[64], g[64];
8 unsigned long long int a[64], d[64], e[64], f[64], h[64];
10 __attribute__ ((noinline, noclone)) void
11 foo (void)
13 int i;
14 for (i = 0; i < 64; i++)
16 d[i] = h[i] << (((((unsigned long long int) b[i] * e[i])
17 << (-a[i] - 3752448776177690134ULL))
18 - 8214565720323784703ULL) - 1ULL);
19 e[i] = (_Bool) (f[i] + (unsigned long long int) g[i]);
20 g[i] = c[i];
24 int
25 main ()
27 int i;
28 #ifndef main
29 check_vect ();
30 #endif
31 if (__CHAR_BIT__ != 8 || sizeof (long long int) != 8)
32 return 0;
33 for (i = 0; i < 64; ++i)
35 a[i] = 14694295297531861425ULL;
36 b[i] = -1725558902283030715LL;
37 c[i] = 4402992416302558097LL;
38 e[i] = 6297173129107286501ULL;
39 f[i] = 13865724171235650855ULL;
40 g[i] = 982871027473857427LL;
41 h[i] = 8193845517487445944ULL;
43 foo ();
44 for (i = 0; i < 64; i++)
45 if (d[i] != 8193845517487445944ULL || e[i] != 1
46 || g[i] != 4402992416302558097ULL)
47 abort ();
48 return 0;