_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 );
}
180

See Also

Reference

__m128i

Compiler Intrinsics