blob: 5e973e01aa4e42fc76a32b37584dbc234da8af88 [file] [log] [blame]
/* PR target/84220 */
/* Test to ensure we generate invalid parameter errors rather than an ICE
when calling builtin_vec_sld() with invalid parameters. */
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_p8vector_ok } */
/* { dg-options "-maltivec -mpower8-vector" } */
#include <altivec.h>
typedef vector bool long long vbl_t;
typedef vector signed long long vsl_t;
typedef vector unsigned long long vul_t;
typedef vector double vd_t;
void
test_vbl ( vbl_t v1, vbl_t v2, vbl_t v3 ) \
{
__builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
__builtin_vec_sld(v1, v2, 3);
}
void
test_vsl ( vsl_t v1, vsl_t v2, vsl_t v3 ) \
{
__builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
__builtin_vec_sld(v1, v2, 3);
}
void
test_vul ( vul_t v1, vul_t v2, vul_t v3 ) \
{
__builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
__builtin_vec_sld(v1, v2, 3);
}
void
test_vd ( vd_t v1, vd_t v2, vd_t v3 ) \
{
__builtin_vec_sld(v1, v2, v3); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
__builtin_vec_sld(v1, v2, 3);
}