Я пытаюсь перевернуть знаковый бит наименее значимого числа с плавающей точкой внутри xmm0. Я пытался преобразовать -0 в другой регистр xmm и xor0 с помощью xmm0. К сожалению, мне удалось перевернуть знак, хотя ценность моего поплавка исчезла. Есть ли способ использовать xorps
в asm, чтобы перевернуть бит знака? Я также видел, что некоторые сообщения о stackoverflow точно делают это, но в 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