1 /* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
5 static unsigned char svuc
[16] __attribute__ ((aligned (16)));
6 static signed char svsc
[16] __attribute__ ((aligned (16)));
7 static unsigned char svbc
[16] __attribute__ ((aligned (16)));
8 static unsigned short svus
[8] __attribute__ ((aligned (16)));
9 static signed short svss
[8] __attribute__ ((aligned (16)));
10 static unsigned short svbs
[8] __attribute__ ((aligned (16)));
11 static unsigned short svp
[8] __attribute__ ((aligned (16)));
12 static unsigned int svui
[4] __attribute__ ((aligned (16)));
13 static signed int svsi
[4] __attribute__ ((aligned (16)));
14 static unsigned int svbi
[4] __attribute__ ((aligned (16)));
15 static float svf
[4] __attribute__ ((aligned (16)));
20 for (i
= 0; i
< 16; ++i
)
24 svbc
[i
] = (i
% 2) ? 0xff : 0;
26 for (i
= 0; i
< 8; ++i
)
30 svbs
[i
] = (i
% 2) ? 0xffff : 0;
33 for (i
= 0; i
< 4; ++i
)
37 svbi
[i
] = (i
% 2) ? 0xffffffff : 0;
44 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
45 vector
unsigned char evuc
= {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
46 vector
signed char evsc
= {7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8};
47 vector
bool char evbc
= {255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0};
48 vector
unsigned short evus
= {7,6,5,4,3,2,1,0};
49 vector
signed short evss
= {3,2,1,0,-1,-2,-3,-4};
50 vector
bool short evbs
= {65535,0,65535,0,65535,0,65535,0};
51 vector pixel evp
= {7,6,5,4,3,2,1,0};
52 vector
unsigned int evui
= {3,2,1,0};
53 vector
signed int evsi
= {1,0,-1,-2};
54 vector
bool int evbi
= {0xffffffff,0,0xffffffff,0};
55 vector
float evf
= {3.0,2.0,1.0,0.0};
57 vector
unsigned char evuc
= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
58 vector
signed char evsc
= {-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};
59 vector
bool char evbc
= {0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255};
60 vector
unsigned short evus
= {0,1,2,3,4,5,6,7};
61 vector
signed short evss
= {-4,-3,-2,-1,0,1,2,3};
62 vector
bool short evbs
= {0,65535,0,65535,0,65535,0,65535};
63 vector pixel evp
= {0,1,2,3,4,5,6,7};
64 vector
unsigned int evui
= {0,1,2,3};
65 vector
signed int evsi
= {-2,-1,0,1};
66 vector
bool int evbi
= {0,0xffffffff,0,0xffffffff};
67 vector
float evf
= {0.0,1.0,2.0,3.0};
70 vector
unsigned char vuc
;
71 vector
signed char vsc
;
73 vector
unsigned short vus
;
74 vector
signed short vss
;
75 vector
bool short vbs
;
77 vector
unsigned int vui
;
78 vector
signed int vsi
;
84 vuc
= vec_ld (0, (vector
unsigned char *)svuc
);
85 vsc
= vec_ld (0, (vector
signed char *)svsc
);
86 vbc
= vec_ld (0, (vector
bool char *)svbc
);
87 vus
= vec_ld (0, (vector
unsigned short *)svus
);
88 vss
= vec_ld (0, (vector
signed short *)svss
);
89 vbs
= vec_ld (0, (vector
bool short *)svbs
);
90 vp
= vec_ld (0, (vector pixel
*)svp
);
91 vui
= vec_ld (0, (vector
unsigned int *)svui
);
92 vsi
= vec_ld (0, (vector
signed int *)svsi
);
93 vbi
= vec_ld (0, (vector
bool int *)svbi
);
94 vf
= vec_ld (0, (vector
float *)svf
);
96 check (vec_all_eq (vuc
, evuc
), "vuc");
97 check (vec_all_eq (vsc
, evsc
), "vsc");
98 check (vec_all_eq (vbc
, evbc
), "vbc");
99 check (vec_all_eq (vus
, evus
), "vus");
100 check (vec_all_eq (vss
, evss
), "vss");
101 check (vec_all_eq (vbs
, evbs
), "vbs");
102 check (vec_all_eq (vp
, evp
), "vp" );
103 check (vec_all_eq (vui
, evui
), "vui");
104 check (vec_all_eq (vsi
, evsi
), "vsi");
105 check (vec_all_eq (vbi
, evbi
), "vbi");
106 check (vec_all_eq (vf
, evf
), "vf" );