2 /* { dg-do assemble { target { lp64 } } } */
3 /* { dg-require-effective-target avx512vbmi } */
4 /* { dg-options "-Og -fschedule-insns -mavx512vbmi" } */
7 typedef char v64u8
__attribute__ ((vector_size (64)));
8 typedef short v64u16
__attribute__ ((vector_size (64)));
9 typedef __int128 v64u128
__attribute__ ((vector_size (64)));
12 foo(v64u8 v64u8_0
, v64u16 v64u16_0
, v64u128 v64u128_0
)
14 v64u128_0
/= (v64u128
){ v64u8_0
[28] } | 0x1424171b0c;
15 v64u8_0
%= (v64u8
){ v64u16_0
[25], v64u128_0
[1]} ;
16 v64u128_0
%= (v64u128
){ v64u16_0
[8] };
17 return v64u8_0
[0] + v64u8_0
[1] + v64u16_0
[0] + v64u128_0
[0];