_set_SSE2_enable
Habilita ou desabilita o uso de instruções de Fluxo SIMD Extensions 2 (SSE2) em rotinas matemáticas de CRT. (Essa função não está disponível em arquiteturas de x64 porque SSE2 é habilitado por padrão.)
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 é habilitada nos processadores que dão suporte a ele.
Valor de retorno
Diferente de zero se a implementação SSE2 estiver habilitada; nulo se a implementação SSE2 é desabilitada.
Comentários
As seguintes funções têm as 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, porque os valores SSE2 intermediários são quantidades de ponto flutuante de 64 bits mas os valores intermediários de implementação padrão são 80 quantidades de ponto flutuante mordidas.
Dica
Se você usar a opção do compilador de /Oi (Gerenciar funções intrínsecas) compilar o projeto, pode parecer que _set_SSE2_enable não tem nenhum efeito.A opção do compilador de /Oi fornece ao compilador a autoridade para usar intrinsics para substituir as chamadas de CRT; esse comportamento substitui o efeito de _set_SSE2_enable.Se você quiser garantir que /Oi não substitui _set_SSE2_enable, use /Oi- para criar seu projeto.Essa também pode ser prática recomendada quando você usar outras opções do compilador que implicam /Oi.
A implementação SSE2 é usada apenas se todas as exceções são mascaradas. Use _control87, _controlfp para mascarar exceções.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_set_SSE2_enable |
<math.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.
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");
}
Saída
SSE2 enabled.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.