_mm_cvtsi64x_ss
Seção específica da Microsoft
Gera a versão estendida x64 da instrução Converter inteiro de 64 bits em valor de ponto flutuante de precisão simples escalar (cvtsi2ss
).
Sintaxe
__m128 _mm_cvtsi64x_ss(
__m128 a,
__int64 b
);
Parâmetros
a
[in] Uma estrutura __m128
que contém quatro valores de ponto flutuante de precisão simples.
b
[in] Um inteiro de 64 bits a ser convertido em um valor de ponto flutuante.
Valor retornado
Uma estrutura __m128
cujo primeiro valor de ponto flutuante é o resultado da conversão. Os outros três valores são copiados sem alterações de a.
Requisitos
Intrinsic | Arquitetura |
---|---|
_mm_cvtsi64x_ss |
x64 |
Arquivo de cabeçalho<intrin.h>
Comentários
A estrutura __m128
representa um registro XMM, portanto, o intrínseco permite que o valor b da memória do sistema seja movido para um registro XMM.
Essa rotina só está disponível como função intrínseca.
Exemplo
// _mm_cvtsi64x_ss.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>
#pragma intrinsic(_mm_cvtsi64x_ss)
int main()
{
__m128 a;
__int64 b = 54;
a.m128_f32[0] = 0;
a.m128_f32[1] = 0;
a.m128_f32[2] = 0;
a.m128_f32[3] = 0;
a = _mm_cvtsi64x_ss(a, b);
printf_s( "%lf %lf %lf %lf\n",
a.m128_f32[0], a.m128_f32[1],
a.m128_f32[2], a.m128_f32[3] );
}
54.000000 0.000000 0.000000 0.000000
Fim da seção específica da Microsoft