mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-07-16 00:42:43 -05:00
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.
53 lines
1.4 KiB
CMake
53 lines
1.4 KiB
CMake
add_dolphin_test(MMIOTest MMIOTest.cpp)
|
|
add_dolphin_test(PageFaultTest PageFaultTest.cpp)
|
|
add_dolphin_test(CoreTimingTest CoreTimingTest.cpp)
|
|
add_dolphin_test(PatchAllowlistTest PatchAllowlistTest.cpp)
|
|
|
|
add_dolphin_test(DSPAcceleratorTest DSP/DSPAcceleratorTest.cpp)
|
|
add_dolphin_test(DSPAssemblyTest
|
|
DSP/DSPAssemblyTest.cpp
|
|
DSP/DSPTestBinary.cpp
|
|
DSP/DSPTestText.cpp
|
|
DSP/HermesBinary.cpp
|
|
DSP/HermesText.cpp
|
|
)
|
|
|
|
add_dolphin_test(ESFormatsTest IOS/ES/FormatsTest.cpp)
|
|
|
|
add_dolphin_test(FileSystemTest IOS/FS/FileSystemTest.cpp)
|
|
|
|
add_dolphin_test(SkylandersTest IOS/USB/SkylandersTest.cpp)
|
|
|
|
if(_M_X86_64)
|
|
add_dolphin_test(PowerPCTest
|
|
PowerPC/DivUtilsTest.cpp
|
|
PowerPC/PageTableHostMappingTest.cpp
|
|
PowerPC/Jit64Common/ConvertDoubleToSingle.cpp
|
|
PowerPC/Jit64Common/Fres.cpp
|
|
PowerPC/Jit64Common/Frsqrte.cpp
|
|
PowerPC/PPCAnalystTest.cpp
|
|
)
|
|
elseif(_M_ARM_64)
|
|
add_dolphin_test(PowerPCTest
|
|
PowerPC/DivUtilsTest.cpp
|
|
PowerPC/PageTableHostMappingTest.cpp
|
|
PowerPC/JitArm64/ConvertSingleDouble.cpp
|
|
PowerPC/JitArm64/FPRF.cpp
|
|
PowerPC/JitArm64/Fres.cpp
|
|
PowerPC/JitArm64/Frsqrte.cpp
|
|
PowerPC/JitArm64/MovI2R.cpp
|
|
PowerPC/PPCAnalystTest.cpp
|
|
)
|
|
else()
|
|
add_dolphin_test(PowerPCTest
|
|
PowerPC/DivUtilsTest.cpp
|
|
PowerPC/PageTableHostMappingTest.cpp
|
|
PowerPC/PPCAnalystTest.cpp
|
|
)
|
|
endif()
|
|
|
|
target_sources(PowerPCTest PRIVATE
|
|
PowerPC/TestValues.h
|
|
StubJit.h
|
|
)
|