(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vmx/
eg-5.c
       1  #include "harness.h"
       2  
       3  static vector float
       4  matvecmul4 (vector float c0, vector float c1, vector float c2,
       5  	    vector float c3, vector float v)
       6  {
       7    /* Set result to a vector of f32 0's */
       8    vector float result = ((vector float){0.,0.,0.,0.});
       9    result  = vec_madd (c0, vec_splat (v, 0), result);
      10    result  = vec_madd (c1, vec_splat (v, 1), result);
      11    result  = vec_madd (c2, vec_splat (v, 2), result);
      12    result  = vec_madd (c3, vec_splat (v, 3), result);
      13    return result;
      14  }
      15  
      16  static void test()
      17  {
      18    check(vec_all_eq(matvecmul4(((vector float){2,3,5,7}),
      19  			      ((vector float){11,13,17,19}),
      20  			      ((vector float){23,29,31,37}),
      21  			      ((vector float){41,43,47,53}),
      22  			      ((vector float){59,61,67,71})),
      23  		   ((vector float){5241, 5966, 6746, 7814})),
      24  	"matvecmul4");
      25  }