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: