PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++
MIP fixes (#4141)
* int32-modifiers GCN VOP3 abs/neg modifier bits always operate on the sign bit (bit 31) regardless of instruction type. For integer operands this means: abs = clear bit 31 (x & 0x7FFFFFFF) neg = toggle bit 31 (x ^ 0x80000000) * int64-modifiers Previously GetSrc64<IR::U64> completely ignored input modifiers for integer operands. Now unpacks to two U32s, modifies the high dword's bit 31 (= bit 63 of the 64-bit value), and repacks. * V_MUL_LEGACY_F32 GCN V_MUL_LEGACY_F32: if either source is zero, result is +0.0 regardless of the other operand (even NaN or Inf). Standard IEEE multiply produces NaN for 0*Inf. The fix adds a zero-check select before the multiply.
K
Kravickas committed
2ca342970a8c5f0a03ae026cb9004d6a49794b75
Parent: 9a3e7b0
Committed by GitHub <[email protected]>
on 3/18/2026, 8:05:20 AM