根据此参考,我可以通过执行以下操作来比较 xmm1 和 xmm2 是否相等:
cmpss xmm2, xmm1, 0
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有设置零标志。相反,结果存储在 xmm2 中。如果指令喜欢je或jz依赖零标志,我如何根据它们是否相等进行跳转?
cmpss 它的朋友更倾向于为您提供可以进行无分支计算的掩码,您可以将其提取到 GPR,然后对其进行测试等等,但这有点冗长且不必要。
如果你想分支,ucomiss(或者comiss,取决于你想用 NaN 做什么)更合适。也许是这样的:
ucomiss xmm2, xmm1
jp unordered
jz equal
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |