许多SSE"mov"指令指定它们正在移动浮点值.例如:
为什么这些指令只是说它们移动32位或64位值?如果它们只是移动位,为什么指令指定它们是浮点值?当然,无论你是否将这些位解释为浮点,它们都能工作吗?
Jos*_*man 13
我想我已经找到了答案:一些微体系结构在不同的执行单元上执行浮点指令而不是整数指令.当指令流保持在同一"域"(整数或浮点)内时,您会获得更好的总体延迟.Agner Fog的优化手册在"数据旁路延迟"一节中详细介绍了这一点:http://www.agner.org/optimize/microarchitecture.pdf
我在这个类似的SO问题中找到了这个解释:MOVDQA和MOVAPS x86指令之间的区别?
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |