(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vmx/
splat.c
       1  #include "harness.h"
       2  
       3  static void test()
       4  {
       5    /* Input vectors.  */
       6    vector unsigned char vuc = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
       7    vector signed char vsc = {-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};
       8    vector unsigned short vus = {0,1,2,3,4,5,6,7};
       9    vector signed short vss = {-4,-3,-2,-1,0,1,2,3};
      10    vector unsigned int vui = {0,1,2,3};
      11    vector signed int vsi = {-2,-1,0,1};
      12    vector float vf = {-2.0,-1.0,0.0,1.0};
      13  
      14    /* Result vectors.  */
      15    vector unsigned char vucr;
      16    vector signed char vscr;
      17    vector unsigned short vusr;
      18    vector signed short vssr;
      19    vector unsigned int vuir;
      20    vector signed int vsir;
      21    vector float vfr;
      22  
      23    /* Expected result vectors.  */
      24    vector unsigned char vucer = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
      25    vector signed char vscer = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
      26    vector unsigned short vuser = {7,7,7,7,7,7,7,7};
      27    vector signed short vsser = {-4,-4,-4,-4,-4,-4,-4,-4};
      28    vector unsigned int vuier = {2,2,2,2};
      29    vector signed int vsier = {1,1,1,1};
      30    vector float vfer = {-1.0,-1.0,-1.0,-1.0};
      31  
      32    vucr = vec_splat (vuc, 1);
      33    vscr = vec_splat (vsc, 8);
      34    vusr = vec_splat (vus, 7);
      35    vssr = vec_splat (vss, 0);
      36    vuir = vec_splat (vui, 2);
      37    vsir = vec_splat (vsi, 3);
      38    vfr  = vec_splat (vf,  1);
      39  
      40    check (vec_all_eq (vucr, vucer), "vuc");
      41    check (vec_all_eq (vscr, vscer), "vsc");
      42    check (vec_all_eq (vusr, vuser), "vus");
      43    check (vec_all_eq (vssr, vsser), "vss");
      44    check (vec_all_eq (vuir, vuier), "vui");
      45    check (vec_all_eq (vsir, vsier), "vsi");
      46    check (vec_all_eq (vfr,  vfer ), "vf");
      47  }