(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pr84220-sld2.c
       1  /* PR target/84220 */
       2  /* Test to ensure we generate invalid parameter errors rather than an ICE
       3      when calling builtin_vec_sld() with invalid parameters.  */
       4  /* { dg-do compile } */
       5  /* { dg-require-effective-target powerpc_p8vector_ok } */
       6  /* { dg-options "-maltivec -mpower8-vector" } */
       7  
       8  #include <altivec.h>
       9  
      10  typedef  vector  bool long long vbl_t;
      11  typedef  vector  signed long long vsl_t;
      12  typedef  vector  unsigned long long vul_t;
      13  typedef  vector  double vd_t;
      14  
      15  void 
      16  test_vbl ( vbl_t v1, vbl_t v2, vbl_t v3 )  \
      17  {
      18    __builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
      19    __builtin_vec_sld(v1, v2, 3);
      20  }
      21  
      22  void 
      23  test_vsl ( vsl_t v1, vsl_t v2, vsl_t v3 )  \
      24  {
      25    __builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
      26    __builtin_vec_sld(v1, v2, 3);
      27  }
      28  
      29  void 
      30  test_vul ( vul_t v1, vul_t v2, vul_t v3 )  \
      31  {
      32    __builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
      33    __builtin_vec_sld(v1, v2, 3);
      34  }
      35  
      36  void 
      37  test_vd ( vd_t v1, vd_t v2, vd_t v3 )  \
      38  {
      39    __builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
      40    __builtin_vec_sld(v1, v2, 3);
      41  }