| #include "harness.h" |
| |
| static void test() |
| { |
| /* Input vectors. */ |
| vector unsigned char vuc = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; |
| vector signed char vsc = {-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}; |
| vector unsigned short vus = {0,1,2,3,4,5,6,7}; |
| vector signed short vss = {-4,-3,-2,-1,0,1,2,3}; |
| vector unsigned int vui = {0,1,2,3}; |
| vector signed int vsi = {-2,-1,0,1}; |
| vector float vf = {-2.0,-1.0,0.0,1.0}; |
| |
| /* Result vectors. */ |
| vector unsigned char vucr; |
| vector signed char vscr; |
| vector unsigned short vusr; |
| vector signed short vssr; |
| vector unsigned int vuir; |
| vector signed int vsir; |
| vector float vfr; |
| |
| /* Expected result vectors. */ |
| vector unsigned char vucer = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; |
| vector signed char vscer = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
| vector unsigned short vuser = {7,7,7,7,7,7,7,7}; |
| vector signed short vsser = {-4,-4,-4,-4,-4,-4,-4,-4}; |
| vector unsigned int vuier = {2,2,2,2}; |
| vector signed int vsier = {1,1,1,1}; |
| vector float vfer = {-1.0,-1.0,-1.0,-1.0}; |
| |
| vucr = vec_splat (vuc, 1); |
| vscr = vec_splat (vsc, 8); |
| vusr = vec_splat (vus, 7); |
| vssr = vec_splat (vss, 0); |
| vuir = vec_splat (vui, 2); |
| vsir = vec_splat (vsi, 3); |
| vfr = vec_splat (vf, 1); |
| |
| check (vec_all_eq (vucr, vucer), "vuc"); |
| check (vec_all_eq (vscr, vscer), "vsc"); |
| check (vec_all_eq (vusr, vuser), "vus"); |
| check (vec_all_eq (vssr, vsser), "vss"); |
| check (vec_all_eq (vuir, vuier), "vui"); |
| check (vec_all_eq (vsir, vsier), "vsi"); |
| check (vec_all_eq (vfr, vfer ), "vf"); |
| } |