Test build for forcely disabling denormals

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2023-02-08 20:36:17 +01:00
parent 0c9ca1ef08
commit a1d2dbc67f
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
2 changed files with 19 additions and 1 deletions

2
dpf

@ -1 +1 @@
Subproject commit 5a69a71bdf773c582b94fba62f56af286c5f7333
Subproject commit 0057b1940c84e7ecbfd192fe02bf03c557f1ee93

View file

@ -1192,6 +1192,24 @@ protected:
void run(const float** const inputs, float** const outputs, const uint32_t frames,
const MidiEvent* const midiEvents, const uint32_t midiEventCount) override
{
// TESTING make this revert itself if proven to work
#if defined(__SSE2_MATH__)
_mm_setcsr(_mm_getcsr() | 0x8040);
#elif defined(__aarch64__)
uint64_t c;
__asm__ __volatile__("mrs %0, fpcr \n"
"orr %0, %0, #0x1000000\n"
"msr fpcr, %0 \n"
"isb \n"
: "=r"(c) :: "memory");
#elif defined(__arm__) && !defined(__SOFTFP__)
uint32_t c;
__asm__ __volatile__("vmrs %0, fpscr \n"
"orr %0, %0, #0x1000000\n"
"vmsr fpscr, %0 \n"
: "=r"(c) :: "memory");
#endif
rack::contextSet(context);
const bool bypassed = context->bypassed;