8#ifndef QDP_SSE_BLAS_VADD_G5
9#define QDP_SSE_BLAS_VADD_G5
26 for(
int i=0; i < n_4vec; i++) {
29 _mm_store_ps(Out+ 0, _mm_add_ps(_mm_load_ps(Y+ 0), _mm_load_ps(X+ 0)));
32 _mm_store_ps(Out+ 4, _mm_add_ps(_mm_load_ps(Y+ 4), _mm_load_ps(X+ 4)));
36 _mm_store_ps(Out+ 8, _mm_add_ps(_mm_load_ps(Y+ 8), _mm_load_ps(X+ 8)));
39 _mm_store_ps(Out+12, _mm_load_ps(X+ 12));
42 _mm_store_ps(Out+16, _mm_load_ps(X+ 16));
45 _mm_store_ps(Out+20, _mm_load_ps(X+ 20));
48 Out += 24; Y += 24; X += 24;
58 for(
int i=0; i < n_4vec; i++) {
60 _mm_store_ps(Out+0,_mm_load_ps(X+ 0));
63 _mm_store_ps(Out+4,_mm_load_ps(X+ 4));
66 _mm_store_ps(Out+8, _mm_load_ps(X+ 8));
70 _mm_store_ps(Out+12, _mm_add_ps(_mm_load_ps(X+ 12), _mm_load_ps(Y+ 12)));
73 _mm_store_ps(Out+16, _mm_add_ps(_mm_load_ps(X+ 16), _mm_load_ps(Y+ 16)));
76 _mm_store_ps(Out+20, _mm_add_ps(_mm_load_ps(X+ 20), _mm_load_ps(Y+ 20)));
79 Out += 24; Y += 24; X += 24;
91 for(
int i=0; i < n_4vec; i++) {
93 _mm_store_ps(Out+ 0, _mm_sub_ps(_mm_load_ps(X+ 0), _mm_load_ps(Y + 0)));
96 _mm_store_ps(Out+ 4, _mm_sub_ps(_mm_load_ps(X+ 4), _mm_load_ps(Y + 4)));
100 _mm_store_ps(Out+ 8, _mm_sub_ps(_mm_load_ps(X+ 8), _mm_load_ps(Y+ 8)));
104 _mm_store_ps(Out+12, _mm_load_ps(X + 12));
108 _mm_store_ps(Out+16, _mm_load_ps(X+ 16));
112 _mm_store_ps(Out+20, _mm_load_ps(X+20));
115 Out += 24; Y += 24; X += 24;
126 for(
int i=0; i < n_4vec; i++) {
128 _mm_store_ps(Out+0, _mm_load_ps(X+0));
131 _mm_store_ps(Out+4, _mm_load_ps(X+4));
134 _mm_store_ps(Out+8, _mm_load_ps(X+8));
137 _mm_store_ps(Out+12, _mm_sub_ps(_mm_load_ps(X+ 12), _mm_load_ps(Y+ 12)));
140 _mm_store_ps(Out+16, _mm_sub_ps(_mm_load_ps(X+ 16), _mm_load_ps(Y+ 16)));
143 _mm_store_ps(Out+20, _mm_sub_ps(_mm_load_ps(X+ 20), _mm_load_ps(Y+ 20)));
146 Out += 24; Y += 24; X += 24;
Yet another random number generator.
void add_g5ProjPlus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void add_g5ProjMinus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void sub_g5ProjPlus(REAL *Out, REAL *X, REAL *Y, int n_4vec)
void sub_g5ProjMinus(REAL *Out, REAL *X, REAL *Y, int n_4vec)