_mm_cvtsi128_si64x
Microsoft Specific
Generates the x64 extended form of the movd instruction, which extracts the low 64-bit integer from an __m128i structure.
__int64 _mm_cvtsi128_si64x(
__m128i value
);
Parameters
- [in] value
An __m128i structure containing two 64-bit integer values.
Return Value
The low doubleword of the input structure as a 64-bit integer.
Requirements
Intrinsic | Architecture |
---|---|
_mm_cvtsi128_si64x |
x64 |
Header file <intrin.h>
Remarks
The value is copied from the XMM register represented by value into system memory*.* The __m128 structure represents an XMM register, so this intrinsic allows a value from the XMM register to be moved into system memory.
This routine is only available as an intrinsic.
Example
// _mm_cvtsi128_si64x.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>
#pragma intrinsic(_mm_cvtsi128_si64x)
int main()
{
__declspec(align(16)) __m128i c;
__int64 b;
// The following loads into system memory
c.m128i_i64[0] = 180;
c.m128i_i64[1] = 210;
// Load c into the XMM Register
c = _mm_load_si128 (&c);
// Perform some operations
// ...
// Extract the first element of c back into
// system memory
b = _mm_cvtsi128_si64x(c);
printf_s("%I64d\n", b );
}
Output
180