From a87dd82ca2f7a75f4b7d1af98676d63a7bd5537f Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 30 Sep 2021 12:15:55 +0100 Subject: [PATCH] Prevent optimisation of floating-point status register value in FloatVectorOperations::setFpStatusRegister() --- .../juce_audio_basics/buffers/juce_FloatVectorOperations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp index 0b94dfbef7..8e04b7a017 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp @@ -1051,7 +1051,7 @@ intptr_t JUCE_CALLTYPE FloatVectorOperations::getFpStatusRegister() noexcept void JUCE_CALLTYPE FloatVectorOperations::setFpStatusRegister (intptr_t fpsr) noexcept { #if JUCE_INTEL && JUCE_USE_SSE_INTRINSICS - auto fpsr_w = static_cast (fpsr); + volatile auto fpsr_w = static_cast (fpsr); _mm_setcsr (fpsr_w); #elif defined (__arm64__) || defined (__aarch64__) || JUCE_USE_ARM_NEON #if defined (__arm64__) || defined (__aarch64__)