Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
div
eof
Expand Minimize

_set_SSE2_enable

Enables or disables the use of Streaming SIMD Extensions 2 (SSE2) instructions in CRT math routines. (This function is not available on x64 architectures because SSE2 is enabled by default.)

int _set_SSE2_enable(
   int flag
);

flag

1 to enable the SSE2 implementation; 0 to disable 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 by using _set_SSE2_enable:

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

Note Note

If you use the /Oi (Generate Intrinsic Functions) compiler option to compile the project, it may appear that _set_SSE2_enable has no effect. The /Oi compiler option gives the compiler the authority to use intrinsics to replace CRT calls; this behavior overrides the effect of _set_SSE2_enable. If you want to guarantee that /Oi does not override _set_SSE2_enable, use /Oi- to compile your project. This might also be good practice when you use other compiler switches that imply /Oi.

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

Routine

Required header

_set_SSE2_enable

<math.h>

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");
   else
      printf("SSE2 not enabled; processor does not support SSE2.\n");
}

Output

SSE2 enabled.

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

Show:
© 2015 Microsoft