1 /* PR target/82460 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mavx512vbmi" } */
4 /* { dg-final { scan-assembler-not {\mvmovd} } } */
5 
6 #include <x86intrin.h>
7 
8 __m512i
f1(__m512i x,__m512i y,char * z)9 f1 (__m512i x, __m512i y, char *z)
10 {
11   return _mm512_permutex2var_epi32 (y, x, _mm512_loadu_si512 (z));
12 }
13 
14 __m512i
f2(__m512i x,__m512i y,char * z)15 f2 (__m512i x, __m512i y, char *z)
16 {
17   return _mm512_permutex2var_epi32 (x, y, _mm512_loadu_si512 (z));
18 }
19 
20 __m512i
f3(__m512i x,__m512i y,__m512i z)21 f3 (__m512i x, __m512i y, __m512i z)
22 {
23   return _mm512_permutex2var_epi8 (y, x, z);
24 }
25 
26 __m512i
f4(__m512i x,__m512i y,__m512i z)27 f4 (__m512i x, __m512i y, __m512i z)
28 {
29   return _mm512_permutex2var_epi8 (x, y, z);
30 }
31