dolphin/Source/UnitTests/Core/PowerPC
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
..
Jit64Common UnitTests/PowerPC: Use constant functions, variables and parameters 2025-05-16 08:28:06 +02:00
JitArm64 UnitTests/PowerPC: Use constant functions, variables and parameters 2025-05-16 08:28:06 +02:00
DivUtilsTest.cpp UnitTests/PowerPC: Use constant functions, variables and parameters 2025-05-16 08:28:06 +02:00
PPCAnalystTest.cpp JitArm64: Add analysis for m_ppc_state LDP/STP 2025-12-13 15:33:35 +01:00
TestValues.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00