我正在尝试翻转 xmm0 内部最低有效浮点数的符号位。我尝试将 -0 转换为另一个 xmm 寄存器,并将其与 xmm0 进行异或。不幸的是,尽管我的浮动值已经消失,但我已经实现了翻转标志。有没有办法使用xorps
在asm中为了翻转符号位?我还看过一些帖子堆栈溢出 https://stackoverflow.com/questions/20083997/how-to-negate-change-sign-of-the-floating-point-elements-in-a-m128-type-vari?lq=1正是这样做的,但是在c中。
# xmm0 contains 4 floats
# goal is to flip the sign of the least significant one
mov eax, -0
cvtsi2ss xmm1, eax
xorps xmm0, xmm1
要翻转 xmm0 内最不重要的浮点数的符号位,解决方案类似于 Jester 在我的问题的评论部分中发布的内容:
mov eax, 0x80000000
movd xmm1, eax
xorps xmm0, xmm1
(感谢 Jester 和其他帮助我的人。我只是想将此主题标记为完成)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)