gpt4 book ai didi

c++ - 如果它们是 16 字节对齐的,是否可以将 float 直接转换为 __m128?

转载 作者:IT老高 更新时间:2023-10-28 22:34:23 27 4
gpt4 key购买 nike

如果 float 是 16 字节对齐的,将它们直接转换为 __m128 是否安全/可能/可取?

我注意到使用 _mm_load_ps_mm_store_ps 来“包装”原始数组会增加大量开销。

我应该注意哪些潜在的陷阱?

编辑:

使用加载和存储指令实际上没有开销,我混合了一些数字,这就是我获得更好性能的原因。即使您在 __m128 实例中对原始内存地址进行了一些可怕的修改,当我运行测试时,在没有 _mm_load_ps 指令的情况下完成了两倍的时间,可能会退回到一些故障安全代码路径。

最佳答案

是什么让您认为 _mm_load_ps_mm_store_ps “增加了大量开销”?这是向 SSE 寄存器加载/存储 float 据的正常方法,假设源/目标是内存(任何其他方法最终都归结为这一点)。

关于c++ - 如果它们是 16 字节对齐的,是否可以将 float 直接转换为 __m128?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com