Если вы хотите сделать это без доступа к памяти, вы можете понять, что значение 1 содержит нулевое слово, а нулевое значение - все нули.Таким образом, вы можете просто скопировать нулевое слово в другое.Если у вас 1 в самом высоком dword, pshufhw xmm0, xmm0, 0xa4
должен выполнить трюк:
(gdb) ni
4 pshufhw $0xa4, %xmm0, %xmm0
(gdb) p $xmm0.v4_float
$4 = {32.4000015, 21.2000008, -4, 1}
(gdb) ni
5 ret
(gdb) p $xmm0.v4_float
$5 = {32.4000015, 21.2000008, -4, 0}
Подобный трюк для других локаций оставлен в качестве упражнения для читателя:)