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)));
17 static void check_arrays ()
20 for (i
= 0; i
< 16; ++i
)
22 check (svuc
[i
] == i
, "svuc");
23 check (svsc
[i
] == i
- 8, "svsc");
24 check (svbc
[i
] == ((i
% 2) ? 0xff : 0), "svbc");
26 for (i
= 0; i
< 8; ++i
)
28 check (svus
[i
] == i
, "svus");
29 check (svss
[i
] == i
- 4, "svss");
30 check (svbs
[i
] == ((i
% 2) ? 0xffff : 0), "svbs");
31 check (svp
[i
] == i
, "svp");
33 for (i
= 0; i
< 4; ++i
)
35 check (svui
[i
] == i
, "svui");
36 check (svsi
[i
] == i
- 2, "svsi");
37 check (svbi
[i
] == ((i
% 2) ? 0xffffffff : 0), "svbi");
38 check (svf
[i
] == i
* 1.0f
, "svf");
44 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
45 vector
unsigned char vuc
= {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
46 vector
signed char vsc
= {7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8};
47 vector
bool char vbc
= {255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0};
48 vector
unsigned short vus
= {7,6,5,4,3,2,1,0};
49 vector
signed short vss
= {3,2,1,0,-1,-2,-3,-4};
50 vector
bool short vbs
= {65535,0,65535,0,65535,0,65535,0};
51 vector pixel vp
= {7,6,5,4,3,2,1,0};
52 vector
unsigned int vui
= {3,2,1,0};
53 vector
signed int vsi
= {1,0,-1,-2};
54 vector
bool int vbi
= {0xffffffff,0,0xffffffff,0};
55 vector
float vf
= {3.0,2.0,1.0,0.0};
57 vector
unsigned char vuc
= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
58 vector
signed char vsc
= {-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};
59 vector
bool char vbc
= {0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255};
60 vector
unsigned short vus
= {0,1,2,3,4,5,6,7};
61 vector
signed short vss
= {-4,-3,-2,-1,0,1,2,3};
62 vector
bool short vbs
= {0,65535,0,65535,0,65535,0,65535};
63 vector pixel vp
= {0,1,2,3,4,5,6,7};
64 vector
unsigned int vui
= {0,1,2,3};
65 vector
signed int vsi
= {-2,-1,0,1};
66 vector
bool int vbi
= {0,0xffffffff,0,0xffffffff};
67 vector
float vf
= {0.0,1.0,2.0,3.0};
70 vec_st (vuc
, 0, (vector
unsigned char *)svuc
);
71 vec_st (vsc
, 0, (vector
signed char *)svsc
);
72 vec_st (vbc
, 0, (vector
bool char *)svbc
);
73 vec_st (vus
, 0, (vector
unsigned short *)svus
);
74 vec_st (vss
, 0, (vector
signed short *)svss
);
75 vec_st (vbs
, 0, (vector
bool short *)svbs
);
76 vec_st (vp
, 0, (vector pixel
*)svp
);
77 vec_st (vui
, 0, (vector
unsigned int *)svui
);
78 vec_st (vsi
, 0, (vector
signed int *)svsi
);
79 vec_st (vbi
, 0, (vector
bool int *)svbi
);
80 vec_st (vf
, 0, (vector
float *)svf
);