1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-require-effective-target powerpc_altivec_ok } */
4 /* { dg-options "-O2 -maltivec -mdejagnu-cpu=cell" } */
5 /* { dg-final { scan-assembler-times "stvrxl" 19 } } */
9 typedef __vector
signed char vsc
;
10 typedef __vector
signed short vss
;
11 typedef __vector
signed int vsi
;
12 typedef __vector
unsigned char vuc
;
13 typedef __vector
unsigned short vus
;
14 typedef __vector
unsigned int vui
;
15 typedef __vector
bool char vbc
;
16 typedef __vector
bool short vbs
;
17 typedef __vector
bool int vbi
;
18 typedef __vector
float vsf
;
19 typedef __vector pixel vp
;
20 typedef signed char sc
;
21 typedef signed short ss
;
22 typedef signed int si
;
23 typedef signed long sl
;
24 typedef unsigned char uc
;
25 typedef unsigned short us
;
26 typedef unsigned int ui
;
27 typedef unsigned long ul
;
30 void sc4(vsc v
, long a
, void *p
) { __builtin_altivec_stvrxl (v
,a
,p
); }
31 void srxl01(vsf v
, long a
, vsf
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
32 void srxl02(vsf v
, long a
, sf
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
33 void srxl03(vbi v
, long a
, vbi
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
34 void srxl04(vsi v
, long a
, vsi
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
35 void srxl05(vsi v
, long a
, si
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
36 void srxl06(vui v
, long a
, vui
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
37 void srxl07(vui v
, long a
, ui
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
38 void srxl08(vbs v
, long a
, vbs
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
39 void srxl09(vp v
, long a
, vp
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
40 void srxl10(vss v
, long a
, vss
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
41 void srxl11(vss v
, long a
, ss
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
42 void srxl12(vus v
, long a
, vus
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
43 void srxl13(vus v
, long a
, us
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
44 void srxl14(vbc v
, long a
, vbc
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
45 void srxl15(vsc v
, long a
, vsc
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
46 void srxl16(vsc v
, long a
, sc
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
47 void srxl17(vuc v
, long a
, vuc
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }
48 void srxl18(vuc v
, long a
, uc
*p
) { __builtin_vec_stvrxl (v
,a
,p
); }