Skip to content

Commit be798d3

Browse files
committed
Added complex functions back to AVX strip mined
1 parent d3b96e1 commit be798d3

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

black_scholes/strip_mined_avx.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,15 @@ void abs_op(double const* i, double* o) {
4040

4141
template<int N>
4242
void log_op(double const* i, double* o) {
43-
__m256d* xo = (__m256d*)o;
44-
for(int j = 0; j < N/4; j++) {
45-
xo[j] = _mm256_setzero_pd();
46-
//o[j] = log(i[j]);
43+
for(int j = 0; j < N; j++) {
44+
o[j] = log(i[j]);
4745
}
4846
}
4947

5048
template<int N>
5149
void exp_op(double const* i, double* o) {
52-
__m256d* xo = (__m256d*)o;
53-
for(int j = 0; j < N/4; j++) {
54-
xo[j] = _mm256_setzero_pd();
55-
//o[j] = exp(i[j]);
50+
for(int j = 0; j < N; j++) {
51+
o[j] = exp(i[j]);
5652
}
5753
}
5854

@@ -61,8 +57,7 @@ void sqrt_op(double const* i, double* o) {
6157
__m256d* xi = (__m256d*)i;
6258
__m256d* xo = (__m256d*)o;
6359
for(int j = 0; j < N/4; j++) {
64-
xo[j] = _mm256_setzero_pd();
65-
//xo[j] = _mm256_sqrt_pd(xi[j]);
60+
xo[j] = _mm256_sqrt_pd(xi[j]);
6661
//o[j] = sqrt(i[j]);
6762
}
6863
}
@@ -161,8 +156,7 @@ void div_op(double const* a, double const* b, double* o) {
161156
__m256d* xb = (__m256d*)b;
162157
__m256d* xo = (__m256d*)o;
163158
for(int j = 0; j < N/4; j++) {
164-
xo[j] = _mm256_setzero_pd();
165-
//xo[j] = _mm256_div_pd(xa[j], xb[j]);
159+
xo[j] = _mm256_div_pd(xa[j], xb[j]);
166160
//o[j] = a[j] / b[j];
167161
}
168162
}

0 commit comments

Comments
 (0)