我正在编写一个使用 SSE 指令来乘法和加法整数值的程序。我使用 float 执行了相同的程序,但缺少整数版本的说明。
对于浮点,在完成所有操作后,我将 de 值返回到常规 float 组,执行以下操作:
_mm_store_ps(temp4,temp3);
temp4 是一个 float *,而 temp3 是一个 __m128。
问题是我找不到类似的整数内在函数。我应该如何将值返回到常规数组?
非常感谢您的回答;)
最佳答案
请参阅 _mm_load_si128
、_mm_store_si128
(对齐)和 _mm_loadu_si128
_mm_storeu_si128
(未对齐)。
您可能忽略了这些,因为由于某种原因,这些类型与浮点内在函数不同。这些是低于您想要的 movdqa
/movdqu
的值。
关于vectorization - SIMD 整数存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19752515/