9 #ifdef HAVE_SSE_INTRINSICS
10 #include <xmmintrin.h>
18 #if defined(HAVE_SSE_INTRINSICS)
19 this->sse_state
= _mm_getcsr();
20 unsigned int sseState
= this->sse_state
;
21 sseState
|= 0x8000; /* set flush-to-zero */
22 sseState
|= 0x0040; /* set denormals-are-zero */
25 #elif defined(__GNUC__) && defined(HAVE_SSE)
27 if((CPUCapFlags
&CPU_CAP_SSE
))
29 __asm__
__volatile__("stmxcsr %0" : "=m" (*&this->sse_state
));
30 unsigned int sseState
= this->sse_state
;
31 sseState
|= 0x8000; /* set flush-to-zero */
32 if((CPUCapFlags
&CPU_CAP_SSE2
))
33 sseState
|= 0x0040; /* set denormals-are-zero */
34 __asm__
__volatile__("ldmxcsr %0" : : "m" (*&sseState
));
43 if(!this->in_mode
) return;
45 #if defined(HAVE_SSE_INTRINSICS)
46 _mm_setcsr(this->sse_state
);
48 #elif defined(__GNUC__) && defined(HAVE_SSE)
50 if((CPUCapFlags
&CPU_CAP_SSE
))
51 __asm__
__volatile__("ldmxcsr %0" : : "m" (*&this->sse_state
));
53 this->in_mode
= false;