_mm_cvtepu16_epi32
Microsoft Specific
Emits the Streaming SIMD Extensions 4 (SSE4) instruction pmovzxwd. This instruction performs a conversion of unsigned integers from 16-bit to 32-bit.
__m128i _mm_cvtepu16_epi32( __m128i a );
#include <stdio.h>
#include <smmintrin.h>
int main ()
{
__m128i a;
a.m128i_u16[0] = 0;
a.m128i_u16[1] = 65535;
a.m128i_u16[2] = 17500;
a.m128i_u16[3] = 4096;
__m128i res = _mm_cvtepu16_epi32(a);
printf_s("Original lowest 16 bit integers:\n%u,\t%u\n%u,\t%u\n\n",
a.m128i_u16[3], a.m128i_u16[2], a.m128i_u16[1], a.m128i_u16[0]);
printf_s("Resulting 32 bit integers:\n%i,\t%i\n%i,\t%i\n",
res.m128i_i32[3], res.m128i_i32[2], res.m128i_i32[1], res.m128i_i32[0]);
return 0;
}