PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr69577.c
blob8a31db5a81f038bd16512503e29a6df56aec8ef0
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];
17 int
18 main()
20 u128 x = foo (1, (v32u128) {1, 4});
21 if (x != 6)
22 __builtin_abort ();
23 return 0;