111
|
1 /* { dg-do run } */
|
|
2 /* { dg-require-effective-target int128 } */
|
|
3 /* { dg-options "-Og -w -Wno-psabi" } */
|
|
4
|
|
5 typedef unsigned __int128 u128;
|
|
6 typedef unsigned __int128 v64u128 __attribute__ ((vector_size (64)));
|
|
7
|
|
8 u128 __attribute__ ((noinline, noclone))
|
|
9 foo (unsigned c, v64u128 v)
|
|
10 {
|
|
11 v64u128 u;
|
|
12 if (c) {
|
|
13 u = (v64u128){(u128)0, (u128)0};
|
|
14 } else {
|
|
15 u = (v64u128){(u128)0, (u128)1};
|
|
16 }
|
|
17 u += v;
|
|
18 return u[1];
|
|
19 }
|
|
20
|
|
21 int
|
|
22 main ()
|
|
23 {
|
|
24 u128 x = foo (0, (v64u128){ });
|
|
25 if (x != 1)
|
|
26 __builtin_abort();
|
|
27 return 0;
|
|
28 }
|