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" } */
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
;
16 test_vbl ( vbl_t v1
, vbl_t v2
, vbl_t v3
) \
18 __builtin_vec_sld(v1
, v2
, v3
); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
19 __builtin_vec_sld(v1
, v2
, 3);
23 test_vsl ( vsl_t v1
, vsl_t v2
, vsl_t v3
) \
25 __builtin_vec_sld(v1
, v2
, v3
); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
26 __builtin_vec_sld(v1
, v2
, 3);
30 test_vul ( vul_t v1
, vul_t v2
, vul_t v3
) \
32 __builtin_vec_sld(v1
, v2
, v3
); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
33 __builtin_vec_sld(v1
, v2
, 3);
37 test_vd ( vd_t v1
, vd_t v2
, vd_t v3
) \
39 __builtin_vec_sld(v1
, v2
, v3
); /* { dg-error "invalid parameter combination for AltiVec intrinsic" } */
40 __builtin_vec_sld(v1
, v2
, 3);