xiv*_*r77 7 x86 assembly sse instruction-set immediate-operand
据我所知,SSE/AVX 中没有用于加载立即数的指令。一种解决方法是将值加载到普通寄存器 和movd,但编译器似乎认为这比从内存加载成本更高,即使对于单个标量值也是如此。
这使得每次使用常见常量(例如1、0x80000000、0x7fffffff、0x3f800000、0x3f000000等)进行操作时都需要进行内存访问。好吧,将这些值编码在机器代码中每个将占用 4 个字节,但 32 位绝对或rip相对地址也是如此,而且我相信立即加载比任何类型的内存加载都便宜。
我一直认为有类似movss xmm, imm32或 之类的东西broadcastss xmm, imm32会很好,但不做出这样的指示肯定是有原因的。为什么要这样设计呢?
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |