Есть ли способ перевернуть знаковый бит 32-разрядного числа с плавающей запятой с помощью xor? - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь перевернуть знаковый бит наименее значимого числа с плавающей точкой внутри 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
...