1 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
2 /* { dg-require-effective-target powerpc_vsx_ok } */
3 /* Disable warnings to squelch deprecation message about -maltivec=be. */
4 /* { dg-options "-w -maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
5
6 #include "harness.h"
7
test()8 static void test()
9 {
10 /* Input vectors. */
11 vector unsigned int vui = {0,1,2,3};
12 vector signed int vsi = {-2,-1,0,1};
13 vector float vf = {-2.0,-1.0,0.0,1.0};
14
15 /* Result vectors. */
16 vector unsigned int vuir;
17 vector signed int vsir;
18 vector float vfr;
19
20 /* Expected result vectors. */
21 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
22 vector unsigned int vuier = {1,1,1,1};
23 vector signed int vsier = {-2,-2,-2,-2};
24 vector float vfer = {0.0,0.0,0.0,0.0};
25 #else
26 vector unsigned int vuier = {2,2,2,2};
27 vector signed int vsier = {1,1,1,1};
28 vector float vfer = {-1.0,-1.0,-1.0,-1.0};
29 #endif
30
31 vuir = vec_splat (vui, 2);
32 vsir = vec_splat (vsi, 3);
33 vfr = vec_splat (vf, 1);
34
35 check (vec_all_eq (vuir, vuier), "vui");
36 check (vec_all_eq (vsir, vsier), "vsi");
37 check (vec_all_eq (vfr, vfer ), "vf");
38 }
39