(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512vl-blendv-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mavx512vl" } */
       3  /* { dg-final { scan-assembler-not {pblendv} } } */
       4  /* { dg-final { scan-assembler-not {blendvp} } } */
       5  
       6  #include <x86intrin.h>
       7  __m128
       8  foo (__m128 a, __m128 b)
       9  {
      10    return _mm_blendv_ps (a, b, _mm_setzero_ps ());
      11  }
      12  
      13  __m256
      14  foo2 (__m256 a, __m256 b)
      15  {
      16    return _mm256_blendv_ps (a, b, _mm256_set1_ps (-1.0));
      17  }
      18  
      19  __m128d
      20  foo3 (__m128d a, __m128d b, __m128d c)
      21  {
      22    return _mm_blendv_pd (a, b, _mm_set1_pd (1.0));
      23  }
      24  
      25  __m256d
      26  foo4 (__m256d a, __m256d b, __m256d c)
      27  {
      28    return _mm256_blendv_pd (a, b, _mm256_set1_pd (-134.3));
      29  }
      30  
      31  __m128i
      32  foo5 (__m128i a, __m128i b, __m128i c)
      33  {
      34    return _mm_blendv_epi8 (a, b, _mm_set1_epi8 (3));
      35  }
      36  
      37  __m256i
      38  foo6 (__m256i a, __m256i b, __m256i c)
      39  {
      40    return _mm256_blendv_epi8 (a, b, _mm256_set1_epi8 (-22));
      41  }