(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr104666.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mno-sse --no-warning" } */
       3  
       4  typedef double __m128d __attribute__((__vector_size__(16), __may_alias__));
       5  typedef double __m256d __attribute__((__vector_size__(32), __may_alias__));
       6  
       7  typedef float __m128 __attribute__((__vector_size__(16), __may_alias__));
       8  typedef float __m256 __attribute__((__vector_size__(32), __may_alias__));
       9  
      10  typedef char __m128i __attribute__((__vector_size__(16), __may_alias__));
      11  typedef char __m256i __attribute__((__vector_size__(32), __may_alias__));
      12  
      13  __m128d sse4_1_blendvpd (__m128d a, __m128d b, __m128d c) __attribute__((__target__("avx2")));
      14  
      15  __m128d
      16  generic_blendvpd (__m128d a, __m128d b, __m128d c) /* { dg-error "SSE register return with SSE disabled" "" { target { ! ia32 } } }  */
      17  {
      18    return __builtin_ia32_blendvpd (a, b, c); /* { dg-error "needs isa option -msse4.1" "" { target ia32 } } */
      19  }
      20  
      21  __m128
      22  generic_blendvps (__m128 a, __m128 b, __m128 c)
      23  {
      24    return __builtin_ia32_blendvps (a, b, c); /* { dg-error "needs isa option -msse4.1" "" { target ia32 } } */
      25  }
      26  
      27  __m128i
      28  generic_pblendvb (__m128i a, __m128i b, __m128i c)
      29  {
      30    return __builtin_ia32_pblendvb128 (a, b, c);/* { dg-error "needs isa option -msse4.1" "" { target ia32 } } */
      31  }
      32  
      33  __m256i
      34  generic_pblendvb256 (__m256i a, __m256i b, __m256i c)
      35  {
      36    return __builtin_ia32_pblendvb256 (a, b, c);/* { dg-error "needs isa option -mavx2" "" { target ia32 } } */
      37  }
      38  
      39  __m256d
      40  generic_blendvpd256 (__m256d a, __m256d b, __m256d c)
      41  {
      42    return __builtin_ia32_blendvpd256 (a, b, c);/* { dg-error "needs isa option -mavx" "" { target ia32 } } */
      43  }
      44  
      45  __m256
      46  generic_blendvps256 (__m256 a, __m256 b, __m256 c)
      47  {
      48    return __builtin_ia32_blendvps256 (a, b, c);/* { dg-error "needs isa option -mavx" "" { target ia32 } } */
      49  }