Compartilhar via


Operações diversas (intrínsecos de ponto flutuante SSE2)

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Específicos do Microsoft

Para uma explicação sobre a sintaxe usada nas amostras de código neste tópico, consulte Ponto flutuante intrínsecos usando extensões Streaming SIMD.

Usam o SSE2 intrínsecos a __m128, __m128i, e __m128d tipos de dados, o qual não há suporte para processadores da família de processadores Itanium (IPF). Qualquer intrínsecos do SSE2 que usam o __m64 tipo de dados não são suportados em x64 processadores.

O arquivo de cabeçalho emmintrin.h contém as declarações para os intrínsecos de instruções SSE2.

__m128d _mm_unpackhi_pd (__m128d a, __m128d b);

            UNPCKHPD
          

Intercala os valores de ponto flutuante, de precisão dupla superiores de a e b.

r0 := a1
r1 := b1

__m128d _mm_unpacklo_pd (__m128d a, __m128d b);

            UNPCKLPD
          

Intercala os valores mais baixos de precisão dupla, ponto flutuante de a e b.

r0 := a0
2 := b0

int _mm_movemask_pd (__m128d a);

            MOVMSKPD
          

Cria uma máscara de dois bits de bits de sinal de dois valores de ponto flutuante, de precisão dupla de a.

r := sign(a1) << 1 | sign(a0)

__m128d _mm_shuffle_pd (__m128d a, __m128d b, int i);

            SHUFPD
          

Seleciona os dois valores de ponto flutuante, de precisão dupla específicos da a e b, com base na máscara i. A máscara deve ser imediata. Consulte A função de Macro para embaralhar usando Streaming SIMD Extensions 2 instruções seção para obter uma descrição da semântica em ordem aleatória.

Consulte também

Reference

Elementos intrínsecos do ponto flutuante usando as instruções do Streaming SIMD Extensions 2