1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=cell" } } */
4 /* { dg-options "-O2 -maltivec -mcpu=cell" } */
5 /* { dg-final { scan-assembler-times "lvlx" 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 vsc
lc1(long a
, void *p
) { return __builtin_altivec_lvlx (a
,p
); }
31 vsf
llx01(long a
, vsf
*p
) { return __builtin_vec_lvlx (a
,p
); }
32 vsf
llx02(long a
, sf
*p
) { return __builtin_vec_lvlx (a
,p
); }
33 vbi
llx03(long a
, vbi
*p
) { return __builtin_vec_lvlx (a
,p
); }
34 vsi
llx04(long a
, vsi
*p
) { return __builtin_vec_lvlx (a
,p
); }
35 vsi
llx05(long a
, si
*p
) { return __builtin_vec_lvlx (a
,p
); }
36 vui
llx06(long a
, vui
*p
) { return __builtin_vec_lvlx (a
,p
); }
37 vui
llx07(long a
, ui
*p
) { return __builtin_vec_lvlx (a
,p
); }
38 vbs
llx08(long a
, vbs
*p
) { return __builtin_vec_lvlx (a
,p
); }
39 vp
llx09(long a
, vp
*p
) { return __builtin_vec_lvlx (a
,p
); }
40 vss
llx10(long a
, vss
*p
) { return __builtin_vec_lvlx (a
,p
); }
41 vss
llx11(long a
, ss
*p
) { return __builtin_vec_lvlx (a
,p
); }
42 vus
llx12(long a
, vus
*p
) { return __builtin_vec_lvlx (a
,p
); }
43 vus
llx13(long a
, us
*p
) { return __builtin_vec_lvlx (a
,p
); }
44 vbc
llx14(long a
, vbc
*p
) { return __builtin_vec_lvlx (a
,p
); }
45 vsc
llx15(long a
, vsc
*p
) { return __builtin_vec_lvlx (a
,p
); }
46 vsc
llx16(long a
, sc
*p
) { return __builtin_vec_lvlx (a
,p
); }
47 vuc
llx17(long a
, vuc
*p
) { return __builtin_vec_lvlx (a
,p
); }
48 vuc
llx18(long a
, uc
*p
) { return __builtin_vec_lvlx (a
,p
); }