35 scalar = _mm_load_sd(a);
39 tmp1 = _mm_setzero_pd();
40 tmp1 = _mm_shuffle_pd(scalar, scalar, 0x1);
41 scalar = _mm_add_pd(scalar, tmp1);
46 for(
int i=0; i < n_mat; i++) {
47 tmp1= _mm_loadu_pd(m1_p);
48 tmp2= _mm_mul_pd(scalar, tmp1);
49 _mm_storeu_pd(m2_p, tmp2);
51 tmp3= _mm_loadu_pd(m1_p+2);
52 tmp4= _mm_mul_pd(scalar, tmp3);
53 _mm_storeu_pd(m2_p+2, tmp4);
55 tmp5= _mm_loadu_pd(m1_p+4);
56 tmp6= _mm_mul_pd(scalar, tmp5);
57 _mm_storeu_pd(m2_p+4, tmp6);
59 tmp7= _mm_loadu_pd(m1_p+6);
60 tmp8= _mm_mul_pd(scalar, tmp7);
61 _mm_storeu_pd(m2_p+6, tmp8);
63 tmp9= _mm_loadu_pd(m1_p+8);
64 tmp10= _mm_mul_pd(scalar, tmp9);
65 _mm_storeu_pd(m2_p+8, tmp10);
67 tmp11= _mm_loadu_pd(m1_p+10);
68 tmp12= _mm_mul_pd(scalar, tmp11);
69 _mm_storeu_pd(m2_p+10, tmp12);
71 tmp13= _mm_loadu_pd(m1_p+12);
72 tmp14= _mm_mul_pd(scalar, tmp13);
73 _mm_storeu_pd(m2_p+12, tmp14);
75 tmp15= _mm_loadu_pd(m1_p+14);
76 tmp4= _mm_mul_pd(scalar, tmp15);
77 _mm_storeu_pd(m2_p+14, tmp4);
79 tmp5= _mm_loadu_pd(m1_p+16);
80 tmp6= _mm_mul_pd(scalar, tmp5);
81 _mm_storeu_pd(m2_p+16, tmp6);
110 scalar = _mm_load_sd(a);
114 tmp1 = _mm_setzero_pd();
115 tmp1 = _mm_shuffle_pd(scalar, scalar, 0x1);
116 scalar = _mm_add_pd(scalar, tmp1);
120 for(
int i=0; i < n_mat; i++) {
121 tmp1= _mm_loadu_pd(m1_p);
122 tmp2= _mm_mul_pd(scalar, tmp1);
123 _mm_storeu_pd(m1_p, tmp2);
125 tmp3= _mm_loadu_pd(m1_p+2);
126 tmp4= _mm_mul_pd(scalar, tmp3);
127 _mm_storeu_pd(m1_p+2, tmp4);
129 tmp5= _mm_loadu_pd(m1_p+4);
130 tmp6= _mm_mul_pd(scalar, tmp5);
131 _mm_storeu_pd(m1_p+4, tmp6);
133 tmp7= _mm_loadu_pd(m1_p+6);
134 tmp8= _mm_mul_pd(scalar, tmp7);
135 _mm_storeu_pd(m1_p+6, tmp8);
137 tmp9= _mm_loadu_pd(m1_p+8);
138 tmp10= _mm_mul_pd(scalar, tmp9);
139 _mm_storeu_pd(m1_p+8, tmp10);
141 tmp11= _mm_loadu_pd(m1_p+10);
142 tmp12= _mm_mul_pd(scalar, tmp11);
143 _mm_storeu_pd(m1_p+10, tmp12);
145 tmp13= _mm_loadu_pd(m1_p+12);
146 tmp14= _mm_mul_pd(scalar, tmp13);
147 _mm_storeu_pd(m1_p+12, tmp14);
149 tmp15= _mm_loadu_pd(m1_p+14);
150 tmp4= _mm_mul_pd(scalar, tmp15);
151 _mm_storeu_pd(m1_p+14, tmp4);
153 tmp5= _mm_loadu_pd(m1_p+16);
154 tmp6= _mm_mul_pd(scalar, tmp5);
155 _mm_storeu_pd(m1_p+16, tmp6);