Partilhar via


_set_SSE2_enable

Habilita ou desabilita o uso de instruções SSE2 (Extensões SIMD de Streaming 2) em rotinas de matemática CRT. (Essa função não está disponível em arquiteturas x64 porque o SSE2 está habilitado por padrão.)

Sintaxe

int _set_SSE2_enable(
   int flag
);

Parâmetros

flag
1 para habilitar a implementação SSE2; 0 para desabilitar a implementação SSE2. Por padrão, a implementação SSE2 está habilitada nos processadores que dão suporte a ela.

Valor retornado

Diferente de zero se a implementação de SSE2 está habilitada; zero se SSE2 implementação está desabilitada.

Comentários

As seguintes funções têm implementações SSE2 que podem ser habilitadas usando _set_SSE2_enable:

As implementações SSE2 dessas funções podem fornecer respostas ligeiramente diferentes das implementações padrão. Os valores intermediários SSE2 são quantidades de ponto flutuante de 64 bits, mas os valores intermediários de implementação padrão são quantidades de ponto flutuante de 80 bits.

Observação

Se você usar a opção do compilador /Oi (gerar funções intrínsecas) para compilar o projeto, poderá parecer que _set_SSE2_enable não tem nenhum efeito. A opção do compilador /Oi dá ao compilador a autoridade para usar intrínsecos para substituir chamadas CRT; esse comportamento substitui o efeito do _set_SSE2_enable. Se você quiser garantir que /Oi não substitua _set_SSE2_enable, use /Oi- para compilar seu projeto. Essa também pode ser uma boa prática ao usar outras opções do compilador que tragam /Oi implícita.

A implementação de SSE2 é usada apenas se todas as exceções estão mascaradas. Use _control87, _controlfp para mascarar exceções.

Requisitos

Rotina Cabeçalho necessário
_set_SSE2_enable <math.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// 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.

Confira também

Arquivos .lib de runtime do C (CRT) e Biblioteca Padrão (STL) do C++