2018-04-09 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / pr76783.c
blob22aef56529f5bdb78d697d7c999e295bbe108d28
1 /* { dg-do run } */
2 /* { dg-require-effective-target int128 } */
3 /* { dg-options "-Og -w -Wno-psabi" } */
5 typedef unsigned __int128 u128;
6 typedef unsigned __int128 v64u128 __attribute__ ((vector_size (64)));
8 u128 __attribute__ ((noinline, noclone))
9 foo (unsigned c, v64u128 v)
11 v64u128 u;
12 if (c) {
13 u = (v64u128){(u128)0, (u128)0};
14 } else {
15 u = (v64u128){(u128)0, (u128)1};
17 u += v;
18 return u[1];
21 int
22 main ()
24 u128 x = foo (0, (v64u128){ });
25 if (x != 1)
26 __builtin_abort();
27 return 0;