将 8 个字符从内存加载到 __m256 变量中作为打包单精度浮点数
为了优化高斯模糊算法,您寻求用 __m256 内在变量替换浮点缓冲区的使用。本问题旨在确定此任务的最佳指令。
AVX2 架构说明:
; rsi = new_image VPMOVZXBD ymm0, [rsi] ; or SX to sign-extend (Byte to DWord) VCVTDQ2PS ymm0, ymm0 ; convert to packed foat
其他策略:
AVX1 架构说明:
执行以下步骤:
VPMOVZXBD xmm0, [rsi] VPMOVZXBD xmm1, [rsi+4] VINSERTF128 ymm0, ymm0, xmm1, 1 ; put the 2nd load of data into the high128 of ymm0 VCVTDQ2PS ymm0, ymm0 ; convert to packed float
内在注意事项:
以上是如何将 8 个字符作为打包单精度浮点数加载到 __m256 变量中?的详细内容。更多信息请关注PHP中文网其他相关文章!