Compartilhar via


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

Consulte também

Referência

Recursos da biblioteca CRT