dolphin/Source
JosJuice 0049a76775 JitArm64: Fix special cases of cmp
This fixes a regression from 592ba31. When `a` was a constant 0 and `b`
was a non-constant 0x80000000, the 32-bit negation operation would
overflow, causing an incorrect result. The sign extension needs to happen
before the negation to avoid overflow.

Note that I can't merge the SXTW and NEG into one instruction.
NEG is an alias for SUB with the first operand being set to ZR,
but "SUB (extended register)" treats register 31 as SP instead of ZR.

I've also changed the order for the case where `a` is a constant
0xFFFFFFFF. I don't think the order actually affects correctness here,
but let's use the same order for all the cases since it makes the code
easier to reason about.
2023-02-14 19:16:00 +01:00
..
Android Merge pull request #11538 from t895/disc-speed-stuff 2023-02-13 15:46:56 +13:00
Core JitArm64: Fix special cases of cmp 2023-02-14 19:16:00 +01:00
DSPSpy DSPSpy: Add st3 BLOOP{,I} tests. 2022-09-30 11:07:41 +00:00
DSPTool Use GNUInstallDirs for installation paths 2023-01-30 09:44:44 -06:00
PCH CMake/MSVC: Fix warnings about conflicting /Zi and /Z7 2023-01-31 23:21:07 +13:00
UnitTests CMake: Use imported target for fmt in tests 2023-01-29 14:37:54 -06:00
VSProps msvc: note some things to enable in vs 17.5 2023-01-13 01:36:03 -08:00
.clang-format
CMakeLists.txt Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata" 2022-09-27 19:06:05 +02:00
dolphin-emu.sln Add Dear ImPlot Library 2022-12-22 14:32:42 -05:00