voi*_*ter 3 optimization assembly sse vectorization avx
如何在最少的时钟周期内将YMM寄存器的最低64位设置为某个常量?我知道使用SSE指令以及AVX指令可以实现的各种方法VBROADCASTSD,但我不确定哪种方法会产生最佳结果.
编辑:设置64位部分后,我仍然需要使用完整的YMM寄存器.
谢谢你的帮助!
如果您只需要设置最低64位而其他YMM位无关紧要,请使用VMOVQ.
如果需要保留YMM寄存器中的其他位,最有效的方法是使用VBLENDPD.或者,您可以清除最低64位VANDPD,然后加载常量VORPD.
AVX2允许其他替代方案:VPMASKMOVD或VPBLENDD(但任何处理器尚不支持).
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |