Поделиться через


_set_SSE2_enable

Включает или отключает использование инструкций Streaming SIMD Extensions 2 (SSE2) в математических подпрограммах CRT. (Эта функция недоступна в архитектурах x64, так как SSE2 включена по умолчанию.)

Синтаксис

int _set_SSE2_enable(
   int flag
);

Параметры

flag
1 для включения реализации SSE2; 0 для отключения реализации SSE2. По умолчанию реализация SSE2 включена для процессоров, которые ее поддерживают.

Возвращаемое значение

Ненулевое значение, если реализация SSE2 включена; ноль, если реализация SSE2 отключена.

Замечания

Следующие функции имеют реализации SSE2, которые могут быть включены с помощью функции _set_SSE2_enable:

Реализации этих функций SSE2 могут немного отличаться от реализаций по умолчанию. Промежуточные значения SSE2 — 64-разрядные числа с плавающей запятой, но промежуточные значения реализации по умолчанию — 80-разрядные числа с плавающей запятой.

Примечание.

Если при компиляции проекта используется параметр компилятора /Oi (создание встроенных функций), может оказаться, что функция _set_SSE2_enable не оказывает никакого влияния. Параметр компилятора /Oi позволяет компилятору использовать встроенные функции для замены вызовов CRT. Это поведение переопределяет эффект _set_SSE2_enable. Если вы хотите гарантировать, что /Oi не переопределяется _set_SSE2_enable, используйте /Oi- для компиляции проекта. Это также может быть полезно при использовании других коммутаторов компилятора, которые подразумевают /Oi.

Реализация SSE2 используется только в том случае, если все исключения маскированы. Используется _control87для _controlfp маскирования исключений.

Требования

Маршрут Обязательный заголовок
_set_SSE2_enable <math.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// 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");
}
SSE2 enabled.

См. также

Файлы среды выполнения C (CRT) и стандартной библиотеки C++ (STL) .lib