1 /* { dg-do run { target avx_runtime } } */
2 /* { dg-require-effective-target int128 } */
3 /* { dg-options "-O -fno-forward-propagate -fno-split-wide-types -mavx" } */
5 typedef unsigned int u32
;
6 typedef unsigned __int128 u128
;
7 typedef unsigned __int128 v32u128
__attribute__ ((vector_size (32)));
9 u128
__attribute__ ((noinline
, noclone
))
10 foo (u32 u32_0
, v32u128 v32u128_0
)
12 v32u128_0
[0] >>= u32_0
;
13 v32u128_0
+= (v32u128
) {u32_0
, 0};
14 return u32_0
+ v32u128_0
[0] + v32u128_0
[1];
20 u128 x
= foo (1, (v32u128
) {1, 4});