Compartilhar via


Elementos intrínsecos do ponto flutuante usando Streaming SIMD Extensions

[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

Cada entrada intrínseca é apresentada com seu pseudocódigo informal e ele vem com um nome de instrução correspondente em letras maiúsculas; Por exemplo, ADDSS é o nome da primeira instrução listado nesta seção, que corresponde ao intrínseca para os seguintes itens:

__m128 _mm_add_ss(__m128 a , __m128 b );
ADDSS

A variável r é geralmente usado para valor de retorno do intrínseco. Um número anexado a um nome de variável indica o elemento de um objeto compactado. Por exemplo, r0 é a palavra mais baixa de r. Alguns intrínsecos são "composições", porque eles requerem mais de uma instrução para implementá-las.

Você deve estar familiarizado com os recursos de hardware fornecidos pelas extensões SSE (Streaming SIMD) ao escrever programas com os intrínsecos. Estas são as quatro questões importantes a serem lembrados:

Determinados intrínsecos, como _mm_loadr_ps e _mm_cmpgt_ss, não são diretamente suportados pelo conjunto de instruções. Enquanto esses intrínsecos são convenientes de auxílios de programação, lembre-se de que eles podem consistir em mais de uma instrução de linguagem de máquina.

  • Dados de ponto flutuante carregado armazenado como __m128 objetos precisam ser geralmente 16 bytes alinhados.

  • Alguns elementos intrínsecos do requerem que seu argumento immediates, ou seja, constantes inteiros (literais), devido à natureza da instrução.

  • O resultado de operações aritméticas atuando em dois argumentos de número (NAN) está definida. Portanto, as operações de ponto flutuante usando argumentos NAN não corresponderão o comportamento esperado das instruções assembly correspondente.

As seguintes operações de ponto flutuante são discutidas:

Consulte também

Reference

Streaming SIMD Extensions (SSE)