From 3e3ed3c3ac9ca9f266944bc79ba559b964f3010c Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Thu, 2 Apr 2020 01:56:17 +0200 Subject: [PATCH] Fix for MSVC --- src/sfizz/effects/impl/ResonantArrayAVX.cpp | 3 ++- src/sfizz/effects/impl/ResonantArraySSE.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sfizz/effects/impl/ResonantArrayAVX.cpp b/src/sfizz/effects/impl/ResonantArrayAVX.cpp index 73cbe86c..b06c41f2 100644 --- a/src/sfizz/effects/impl/ResonantArrayAVX.cpp +++ b/src/sfizz/effects/impl/ResonantArrayAVX.cpp @@ -86,7 +86,8 @@ void ResonantArrayAVX::process(const float *inPtr, float *outPtr, unsigned numFr for (unsigned p = 0; p < numStringPacks; ++p) { ResonantStringAVX& rs = stringPacks[p]; for (unsigned i = 0; i < numFrames; ++i) - outputs8[i] += rs.process(_mm256_broadcast_ss(&inPtr[i])); + outputs8[i] = _mm256_add_ps( + outputs8[i], rs.process(_mm256_broadcast_ss(&inPtr[i]))); } // sum resonator outputs 8 to 1 diff --git a/src/sfizz/effects/impl/ResonantArraySSE.cpp b/src/sfizz/effects/impl/ResonantArraySSE.cpp index 75051664..7480a877 100644 --- a/src/sfizz/effects/impl/ResonantArraySSE.cpp +++ b/src/sfizz/effects/impl/ResonantArraySSE.cpp @@ -86,7 +86,8 @@ void ResonantArraySSE::process(const float *inPtr, float *outPtr, unsigned numFr for (unsigned p = 0; p < numStringPacks; ++p) { ResonantStringSSE& rs = stringPacks[p]; for (unsigned i = 0; i < numFrames; ++i) - outputs4[i] += rs.process(_mm_load1_ps(&inPtr[i])); + outputs4[i] = _mm_add_ps( + outputs4[i], rs.process(_mm_load1_ps(&inPtr[i]))); } // sum resonator outputs 4 to 1