_mm_cvtsi64x_ss
Section spécifique à Microsoft
Génère la version étendue x64 de l’instruction Convert 64 Bits Integer to Scalar Single-Precision Floating-Point Value (cvtsi2ss
).
Syntaxe
__m128 _mm_cvtsi64x_ss(
__m128 a,
__int64 b
);
Paramètres
a
[in] Structure __m128
contenant quatre valeurs à virgule flottante simple précision.
b
[in] Entier 64 bits à convertir en valeur à virgule flottante.
Valeur retournée
Structure __m128
dont la première valeur à virgule flottante est le résultat de la conversion. Les trois autres valeurs sont copiées sans modification d’un.
Spécifications
Intrinsic | Architecture |
---|---|
_mm_cvtsi64x_ss |
x64 |
Fichier<d’en-tête intrin.h>
Notes
La __m128
structure représente un registre XMM, de sorte que l’intrinsèque permet à la valeur b de la mémoire système d’être déplacée dans un registre XMM.
Cette routine est disponible uniquement en tant qu'intrinsèque.
Exemple
// _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
FIN de la section spécifique à Microsoft