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