blob: bdc3a5531edb52fbbd5c7d977671b976d999a485 [file] [log] [blame]
/* PR target/93395 */
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512f -masm=att" } */
/* { dg-final { scan-assembler-times "vpermilpd\t.5, %ymm" 3 } } */
/* { dg-final { scan-assembler-times "vpermilpd\t.85, %zmm" 3 } } */
/* { dg-final { scan-assembler-not "vpermpd\t" } } */
#include <immintrin.h>
__m256d
foo1 (__m256d a)
{
return _mm256_permute4x64_pd (a, 177);
}
__m256d
foo2 (__m256d a)
{
return _mm256_permute_pd (a, 5);
}
__m256d
foo3 (__m256d a)
{
return __builtin_shuffle (a, (__v4di) { 1, 0, 3, 2 });
}
__m512d
foo4 (__m512d a)
{
return _mm512_permutex_pd (a, 177);
}
__m512d
foo5 (__m512d a)
{
return _mm512_permute_pd (a, 85);
}
__m512d
foo6 (__m512d a)
{
return __builtin_shuffle (a, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 });
}