blob: daddcd5a6859f6b0ea89e6785a4885b9bbe94f54 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512vl" } */
/* { dg-final { scan-assembler-not {pblendv} } } */
/* { dg-final { scan-assembler-not {blendvp} } } */
#include <x86intrin.h>
__m128
foo (__m128 a, __m128 b)
{
return _mm_blendv_ps (a, b, _mm_setzero_ps ());
}
__m256
foo2 (__m256 a, __m256 b)
{
return _mm256_blendv_ps (a, b, _mm256_set1_ps (-1.0));
}
__m128d
foo3 (__m128d a, __m128d b, __m128d c)
{
return _mm_blendv_pd (a, b, _mm_set1_pd (1.0));
}
__m256d
foo4 (__m256d a, __m256d b, __m256d c)
{
return _mm256_blendv_pd (a, b, _mm256_set1_pd (-134.3));
}
__m128i
foo5 (__m128i a, __m128i b, __m128i c)
{
return _mm_blendv_epi8 (a, b, _mm_set1_epi8 (3));
}
__m256i
foo6 (__m256i a, __m256i b, __m256i c)
{
return _mm256_blendv_epi8 (a, b, _mm256_set1_epi8 (-22));
}