从存储器加载32位到xmm寄存器

时间:2012-06-27 12:22:19

标签: sse inline-assembly intrinsics sse2 mmx

内联汇编:

__asm__("movd (%0), %%xmm1" : : "r"(some_pointer) :);

什么是等效的内在函数代码?

__m128i foo = _mm_?????(some_pointer);

2 个答案:

答案 0 :(得分:2)

int32_t *foo_pointer;

__m128i foo = _mm_cvtsi32_si128(*foo_pointer); // MOVD

供将来参考,请从此页面获取方便的英特尔内在指南:http://software.intel.com/en-us/avx/(左下角 - 不同平台的不同版本:Mac / Linux / Windows)。不要因为这是一个AVX页面而被推迟,内在指南涵盖了MMX通过各种SSE到AVX和AVX2的所有指令,并且是查找SIMD操作码和内在函数的快捷方式。< / p>

答案 1 :(得分:1)

鉴于您希望将其转换为整数SSE寄存器,您可能正在寻找_mm_cvtsi32_si128