40 scalar = _mm_load_sd(a);
44 tmp1 = _mm_setzero_pd();
45 tmp1 = _mm_shuffle_pd(scalar, scalar, 0x1);
46 scalar = _mm_add_pd(scalar, tmp1);
54 for(
int i=0; i < n_4spin; i++) {
55 x1 = _mm_load_pd(x_p);
56 z1 = _mm_mul_pd(scalar,x1);
58 x2 = _mm_load_pd(x_p+2);
59 z2 = _mm_mul_pd(scalar,x2);
61 x3 = _mm_load_pd(x_p+4);
62 z3 = _mm_mul_pd(scalar,x3);
64 x4 = _mm_load_pd(x_p+6);
65 z4 = _mm_mul_pd(scalar,x4);
67 x5 = _mm_load_pd(x_p+8);
68 z5 = _mm_mul_pd(scalar,x5);
70 x6 = _mm_load_pd(x_p+10);
71 z6 = _mm_mul_pd(scalar,x6);
73 _mm_store_pd(z_p, z1);
74 _mm_store_pd(z_p+2, z2);
75 _mm_store_pd(z_p+4, z3);
76 _mm_store_pd(z_p+6, z4);
77 _mm_store_pd(z_p+8, z5);
78 _mm_store_pd(z_p+10, z6);
80 x1 = _mm_load_pd(x_p+12);
81 z1 = _mm_mul_pd(scalar,x1);
83 x2 = _mm_load_pd(x_p+14);
84 z2 = _mm_mul_pd(scalar,x2);
86 x3 = _mm_load_pd(x_p+16);
87 z3 = _mm_mul_pd(scalar,x3);
89 x4 = _mm_load_pd(x_p+18);
90 z4 = _mm_mul_pd(scalar,x4);
92 x5 = _mm_load_pd(x_p+20);
93 z5 = _mm_mul_pd(scalar,x5);
95 x6 = _mm_load_pd(x_p+22);
96 z6 = _mm_mul_pd(scalar,x6);
98 _mm_store_pd(z_p+12, z1);
99 _mm_store_pd(z_p+14, z2);
100 _mm_store_pd(z_p+16, z3);
101 _mm_store_pd(z_p+18, z4);
102 _mm_store_pd(z_p+20, z5);
103 _mm_store_pd(z_p+22, z6);