(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vmx/
ste.c
       1  #include "harness.h"
       2  
       3  static unsigned char svuc[16] __attribute__ ((aligned (16)));
       4  static signed char svsc[16] __attribute__ ((aligned (16)));
       5  static unsigned short svus[8] __attribute__ ((aligned (16)));
       6  static signed short svss[8] __attribute__ ((aligned (16)));
       7  static unsigned int svui[4] __attribute__ ((aligned (16)));
       8  static signed int svsi[4] __attribute__ ((aligned (16)));
       9  static float svf[4] __attribute__ ((aligned (16)));
      10  
      11  static void check_arrays ()
      12  {
      13    check (svuc[9] == 9, "svuc");
      14    check (svsc[14] == 6, "svsc");
      15    check (svus[7] == 7, "svus");
      16    check (svss[1] == -3, "svss");
      17    check (svui[3] == 3, "svui");
      18    check (svsi[2] == 0, "svsi");
      19    check (svf[0] == 0.0, "svf");
      20  }
      21  
      22  static void test ()
      23  {
      24    vector unsigned char vuc = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
      25    vector signed char vsc = {-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};
      26    vector unsigned short vus = {0,1,2,3,4,5,6,7};
      27    vector signed short vss = {-4,-3,-2,-1,0,1,2,3};
      28    vector unsigned int vui = {0,1,2,3};
      29    vector signed int vsi = {-2,-1,0,1};
      30    vector float vf = {0.0,1.0,2.0,3.0};
      31  
      32    vec_ste (vuc, 9*1, (unsigned char *)svuc);
      33    vec_ste (vsc, 14*1, (signed char *)svsc);
      34    vec_ste (vus, 7*2, (unsigned short *)svus);
      35    vec_ste (vss, 1*2, (signed short *)svss);
      36    vec_ste (vui, 3*4, (unsigned int *)svui);
      37    vec_ste (vsi, 2*4, (signed int *)svsi);
      38    vec_ste (vf,  0*4, (float *)svf);
      39  
      40    check_arrays ();
      41  }