1 /* { dg-do compile { target powerpc*-*-* } } */
2 /* { dg-require-effective-target powerpc_vsx_ok } */
3 /* { dg-options "-mvsx" } */
5 /* Variations of tests that require VSX support. This is a variation of
6 the altivec-13.c testcase. */
13 vector
signed char vsc1
, vsc2
, vscz
;
14 vector
unsigned char vuc1
, vuc2
, vucz
;
15 vector
bool long long vubll1
, vubll2
, vubllz
;
16 vector
signed int long long vsill1
, vsill2
, vsillz
;
17 vector
unsigned int long long vuill1
, vuill2
, vuillz
;
18 vector
double vd1
, vd2
, vdz
;
20 vubllz
= vec_sld( vubll1
, vubll2
, 1 );
21 vsillz
= vec_sld( vsill1
, vsill2
, 1 );
22 vuillz
= vec_sld( vuill1
, vuill2
, 1 );
24 vsillz
= vec_srl(vsill1
, vuc2
);
25 vuillz
= vec_srl(vuill1
, vuc2
);
27 vsillz
= vec_sro(vsill1
, vsc2
);
28 vsillz
= vec_sro(vsill1
, vuc2
);
29 vuillz
= vec_sro(vuill1
, vsc2
);
30 vuillz
= vec_sro(vuill1
, vuc2
);
32 vdz
= vec_sld( vd1
, vd2
, 1 );
40 /* { dg-final { scan-assembler-times "vsldoi" 4 } } */
41 /* { dg-final { scan-assembler-times "vsr " 2 } } */
42 /* { dg-final { scan-assembler-times "vsro" 4 } } */