_mm_extract_epi64
Microsoft Specific
Emits the Streaming SIMD Extensions 4 (SSE4) instruction pextrq. This instruction extracts a 64-bit integer from a 128-bit parameter.
__int64 _mm_extract_epi64( __m128i a, const int ndx );
a0 is the lower 64 bits of parameter a. a1 is the higher 64 bits of parameter a.
Only the least significant bit of parameter ndx is used.
The result is the unsigned equivalent of the appropriate 64-bits in parameter a.
Before you use this intrinsic, software must ensure that the processor supports the instruction.
#include <stdio.h>
#include <smmintrin.h>
int main ()
{
__m128i a;
const int ndx = 0;
a.m128i_i64[0] = 65535;
a.m128i_i64[1] = 248000000;
__int64 res = _mm_extract_epi64(a, ndx);
printf_s("Result res should equal %I64d: %I64d\n", a.m128i_i64[ndx], res);
return 0;
}
Result res should equal 65535: 65535