dolphin/Source/UnitTests/Core
JosJuice db5aa34677 JitArm64: Add analysis for m_ppc_state LDP/STP
Using LDP/STP when accessing m_ppc_state lets us load/store two
registers at once. We previously opportunistically used STP, but this
new analysis lets us move loads earlier and move stores later to make
use of LDP/STP in more situations. This reduces code size and time spent
on m_ppc_state accesses, possibly with exceptions when under heavy
register pressure.

This commit adds the new bitsets load_pairs and store_pairs to
BlockRegStats, which indicate which registers should be treated as a
pair when loading and storing to m_ppc_state. The commits after this one
will add code that reads these bitsets to determine when to use LDP/STP.

x64 doesn't have instructions that can load/store a pair of registers,
so the new PPCAnalyst code is ifdef'd for AArch64.
2025-12-13 15:33:35 +01:00
..
DSP UnitTests/Core: Remove unused includes 2025-05-16 15:31:31 +02:00
IOS Merge pull request #13672 from tygyh/UnitTests/Remove-redundant-template-type-specifiers 2025-05-18 02:12:45 -05:00
PowerPC JitArm64: Add analysis for m_ppc_state LDP/STP 2025-12-13 15:33:35 +01:00
CMakeLists.txt JitArm64: Add analysis for m_ppc_state LDP/STP 2025-12-13 15:33:35 +01:00
CoreTimingTest.cpp CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from non-CPU thread. 2025-06-29 20:55:43 -05:00
MMIOTest.cpp UnitTests/Core: Make parameters constant 2025-05-16 15:29:31 +02:00
PageFaultTest.cpp Merge pull request #13572 from tygyh/UnitTests-Remove-redundant-virtual-specifier 2025-05-07 16:06:25 -05:00
PatchAllowlistTest.cpp Disable PatchAllowlistTest if USE_RETRO_ACHIEVEMENTS is OFF 2025-11-27 01:26:51 +01:00