Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Specific
Generates the Convert Double Word Integer to Scalar Double-Precision Floating-Point Value (cvtsi2sd) instruction.
__m128d _mm_cvtsi64x_sd(
__m128d a
__int64 b
);
Parameters
[in] a
An __m128d structure containing two double-precision floating-point values.[in] b
A 64-bit integer.
Return Value
An __m128d structure with the result of the conversion in the first position, and the second position copied from a.
Requirements
Intrinsic |
Architecture |
|---|---|
_mm_cvtsi64x_sd |
AMD64 |
Header file <intrin.h>
Remarks
The result of the conversion is placed in the first element of the __m128d structure passed in as a, and the result is returned. The __m128d structure represents an XMM register, so this intrinsic allows the value b from system memory to be placed in an XMM register.
This routine is only available as an intrinsic.
Example
// _mm_cvtsi64x_sd.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>
#pragma intrinsic(_mm_cvtsi64x_sd)
int main()
{
__m128d a;
__int64 b = 117;
double adbl[2] = { 1.8E6, 200.5 };
// loads the double values into d
// (moves data into the XMM registers)
a = _mm_loadu_pd (adbl);
// Copy b into the first element of a
a = _mm_cvtsi64x_sd(a, b);
printf_s("%lf %lf\n", a.m128d_f64[0], a.m128d_f64[1] );
}
117.000000 200.500000