1 /* { dg-do compile } */ 2 /* { dg-require-effective-target int128 } */ 3 /* { dg-options "-march=skylake-avx512 -Og" } */ 4 5 typedef unsigned __int128 u128; 6 typedef unsigned __int128 v64u128 __attribute__ ((vector_size (64))); 7 8 v64u128 foo(u128 u128_3,v64u128 v64u128_3,v64u128 v64u128_2,v64u128 v64u128_1,v64u128 v64u128_0)9foo (u128 u128_3, v64u128 v64u128_3, v64u128 v64u128_2, v64u128 v64u128_1, 10 v64u128 v64u128_0) 11 { 12 v64u128_0 <<= 1; 13 v64u128_2 >>= 0 != v64u128_2; 14 v64u128_3[v64u128_3[0]] &= 1; 15 v64u128_3 = v64u128_3 & 1; 16 v64u128_2 = v64u128_2 >> 1 | v64u128_2 << v64u128_1[0]; 17 v64u128_0[0] >>= 127; 18 return u128_3 + v64u128_0 + v64u128_2 + v64u128_3; 19 } 20