We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.


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 

[in] value

An __m128i structure containing two 64-bit integer values.

The low doubleword of the input structure as a 64-bit integer.





Header file <intrin.h>

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.

// _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 );