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 emscripten-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to