78 scalar = _mm_load_sd(scalep);
82 tmp1 = _mm_setzero_pd();
83 tmp1 = _mm_shuffle_pd(scalar, scalar, 0x1);
84 scalar = _mm_add_pd(scalar, tmp1);
91 for(
int i=0; i < n_4spin; i++) {
92 add1 = _mm_load_pd(out_p);
93 in1 = _mm_load_pd(in_p);
94 tmp1 = _mm_mul_pd(scalar, in1);
95 out1 = _mm_sub_pd(tmp1,add1);
96 _mm_store_pd(out_p, out1);
99 add2 = _mm_load_pd(out_p+2);
100 in2 = _mm_load_pd(in_p+2);
101 tmp2 = _mm_mul_pd(scalar, in2);
102 out2 = _mm_sub_pd(tmp2,add2);
103 _mm_store_pd(out_p+2, out2);
105 add3 = _mm_load_pd(out_p+4);
106 in3 = _mm_load_pd(in_p+4);
107 tmp3 = _mm_mul_pd(scalar, in3);
108 out3 = _mm_sub_pd(tmp3,add3);
109 _mm_store_pd(out_p+4, out3);
111 add1 = _mm_load_pd(out_p+6);
112 in1 = _mm_load_pd(in_p+6);
113 tmp1 = _mm_mul_pd(scalar, in1);
114 out1 = _mm_sub_pd(tmp1,add1);
115 _mm_store_pd(out_p+6, out1);
117 add2 = _mm_load_pd(out_p+8);
118 in2 = _mm_load_pd(in_p+8);
119 tmp2 = _mm_mul_pd(scalar, in2);
120 out2 = _mm_sub_pd(tmp2,add2);
121 _mm_store_pd(out_p+8, out2);
123 add3 = _mm_load_pd(out_p+10);
124 in3 = _mm_load_pd(in_p+10);
125 tmp3 = _mm_mul_pd(scalar, in3);
126 out3 = _mm_sub_pd(tmp3,add3);
127 _mm_store_pd(out_p+10, out3);
129 add1 = _mm_load_pd(out_p+12);
130 in1 = _mm_load_pd(in_p+12);
131 tmp1 = _mm_mul_pd(scalar, in1);
132 out1 = _mm_sub_pd(tmp1,add1);
133 _mm_store_pd(out_p+12, out1);
135 add2 = _mm_load_pd(out_p+14);
136 in2 = _mm_load_pd(in_p+14);
137 tmp2 = _mm_mul_pd(scalar, in2);
138 out2 = _mm_sub_pd(tmp2,add2);
139 _mm_store_pd(out_p+14, out2);
141 add3 = _mm_load_pd(out_p+16);
142 in3 = _mm_load_pd(in_p+16);
143 tmp3 = _mm_mul_pd(scalar, in3);
144 out3 = _mm_sub_pd(tmp3,add3);
145 _mm_store_pd(out_p+16, out3);
147 add1 = _mm_load_pd(out_p+18);
148 in1 = _mm_load_pd(in_p+18);
149 tmp1 = _mm_mul_pd(scalar, in1);
150 out1 = _mm_sub_pd(tmp1,add1);
151 _mm_store_pd(out_p+18, out1);
153 add2 = _mm_load_pd(out_p+20);
154 in2 = _mm_load_pd(in_p+20);
155 tmp2 = _mm_mul_pd(scalar, in2);
156 out2 = _mm_sub_pd(tmp2,add2);
157 _mm_store_pd(out_p+20, out2);
159 add3 = _mm_load_pd(out_p+22);
160 in3 = _mm_load_pd(in_p+22);
161 tmp3 = _mm_mul_pd(scalar, in3);
162 out3 = _mm_sub_pd(tmp3,add3);
163 _mm_store_pd(out_p+22, out3);