Hi,
We successfully compile our C++ audio processing code with emcripten in
asm.js to deploy on the web. But our C++ code uses the following
denormalized float number protection code ("protection" is needed since
denormalized float number computation is awfully slow and has to be
avoided):
#ifdef __SSE__
#include <xmmintrin.h>
#ifdef __SSE2__
#define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8040)
#else
#define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8000)
#endif
#else
#define AVOIDDENORMALS
#endif
Basically we add a call at AVOIDDENORMALS before each audio block
processing. It seems this AVOIDDENORMALS is just removed by the emcripten
compiler and so we get asm.js code that seems to produce denormalized
floats and the speed issue occurs.
Is there any solution to keep this assembly code in the produced asm.js
code, or sole the problem in another way ?
Thanks.
Stéphane Letz
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.