This documentation is archived and is not being maintained.


Enables or disables the use of Streaming SIMD Extensions 2 Instructions (SSE2) instructions in CRT math routines.

int _set_SSE2_enable(
   int flag


1 for enabling the SSE2 implementation. 0 for disabling the SSE2 implementation. By default, SSE2 implementation is enabled on processors that support it.

Nonzero if SSE2 implementation is enabled; zero if SSE2 implementation is disabled.

The following functions have SSE2 implementations that can be enabled with _set_SSE2_enable:

The SSE2 implementation might give slightly different answers from the default implementations of these functions, because SSE2 intermediate values are 64-bit floating-point quantities but the default implementation intermediate values are 80-bit floating-point quantities.

The SSE2 implementation is only used if all exceptions are masked. Use _control87, _controlfp to mask exceptions.


Required header



For more compatibility information, see Compatibility in the Introduction.

// crt_set_SSE2_enable.c
// processor: x86
#include <math.h>
#include <stdio.h>

int main()
   int i = _set_SSE2_enable(1);

   if (i)
      printf("SSE2 enabled.\n");
      printf("SSE2 not enabled; processor does not support SSE2.\n");
SSE2 enabled.

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.