vectorization - SIMD 整数存储

标签 vectorization sse simd mmx sse3

我正在编写一个使用 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/

相关文章:

c++ - 灰度双线性 block 提取 - SSE 优化

c++ - openmp collapse with inner loop reduction

python - 在 NumPy 中向量化循环

python - 如何有效地找出序数中的数字是什么?

x86 - 使用 AVX2 计算 8 个 long int 的最小值

c# - 用于对多个超大型数据数组进行分组操作的 SIMD 矢量化策略

c++ - 如何使用 Altivec 将 vector 存储到内存中未对齐的位置

python - 向量化大型 NumPy 乘法

c++ - 向量化短浮点转换?

c - 如何将 3x3 的卷积核与图像相乘