summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Core/PowerPC
AgeCommit message (Collapse)Author
2026-07-11Core: Adjust emulated memory size automatically.cristian64
Dolphin now uses the simulated memory size defined in `bi2.bin` to adjust the memory size in the emulated console automatically. If **Enable Emulated Memory Size Override** has been enabled by the user, the fixed memory size specified for **MEM1** and **MEM2** are still used as they were before. Most retail games do not define the simulated memory size (Wii or Triforce games), or define it to a value that matches the default 24 MiB (GameCube games), so, in the general case, there is no behavior change. One game that sets the simulated memory to a non-default value is the debug build of _Mario Kart: Double Dash!!_, where the value is set to 48 MiB. This enhancement is focused mainly to the modding community. Prior to these changes, modded games with extended memory requirements would fail to launch in Dolphin [with no indication of what the problem is] if the user failed to set the emulated memory override to the correct value. Now, modding tools can specify the simulated memory size in the `bi2.bin` file to produce extended games that _just work_ in Dolphin, without cumbersome instructions that can be overlooked by the user.
2026-04-04PageTableHostMappingTest: Fix copypaste error in misaligned+hole testJosJuice
Because of this mistake, HoleInMaskMisalignedPageTable was testing the same thing as MisalignedPageTable, which wasn't the intent.
2026-04-04PageTableHostMappingTest: Fix alignment for misaligned+hole testJosJuice
Mistakenly, MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE was aligned and MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE_ALIGNED was misaligned. It should be the other way around. These variables are unused due to a separate mistake which is corrected in the next commit.
2026-02-04UnitTests: Add PageTableHostMappingTestJosJuice
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-18Jit64: Add fres unit testJosJuice
2025-05-16UnitTests/PowerPC: Use constant functions, variables and parametersDr. Dystopia
2024-05-03Replace Common::BitCast with std::bit_castPokechu22
2024-03-23DivUtils: Add unsigned division magic functionBram Speeckaert
Takes the logic from Jit64 and moves it into DivUtils, so it can be reused by other backends as well.
2023-12-16JitArm64: Use enum class for LogicalImm size parameterJosJuice
This should prevent issues like the one fixed in the previous commit from happening again.
2023-11-28JitArm64: Use LSL+CLS for classifying floatsJosJuice
This is a little trick I came up with that lets us restructure our float classification code so we can exit earlier when the float is normal, which is the case more often than not. First we shift left by 1 to get rid of the sign bit, and then we count the number of leading sign bits. If the result is less than 10 (for doubles) or 7 (for floats), the float is normal. This is because, if the float isn't normal, the exponent is either all zeroes or all ones.
2023-08-17UnitTests: Declare as CPU thread when using CPUThreadConfigCallbackJosJuice
This fixes a bunch of DEBUG_ASSERTs in the unit tests.
2023-04-05UnitTests: Avoid ppcState global.Admiral H. Curtiss
2023-03-25JitBase: Avoid System::GetInstance() and ppcState.Admiral H. Curtiss
2023-03-21Common: Move FPU-related helpers into Common namespaceLioncash
Makes these utilities' namespace consistent with the majority of the Common library.
2023-02-22use std-provided randomness for JitArm64 unittestsShawn Hoffman
decreases runtime significantly and lessens dependency on mbedtls
2023-01-27PowerPC: Move a few functions to PowerPCState.Admiral H. Curtiss
2022-07-10UnitTests/MovI2R: Test all logical immediatesMerry
2022-01-09Treewide: Remove unused inclusions of <cinttypes>Pokechu22
Most of these became unneeded when fmt was introduced.
2021-10-13Arm64Emitter: Check end of allocated space when emitting codeJosJuice
JitArm64 port of 5b52b3e.
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-06-27Interpreter: Fix FPRF handling of denormal singlesJosJuice
2021-06-19Unit Tests: Added W^X Support for PowerPC testSkyler Saleh
2021-05-15JitArm64: Implement frsqrteJosJuice
2021-05-15JitArm64: Implement fresJosJuice
2021-05-13JitArm64: Add FPRF unit testJosJuice
2021-05-07Merge pull request #9683 from JosJuice/ppc-test-valuesLéo Lam
UnitTests: Put PowerPC test values in a separate file
2021-05-02UnitTests: Put PowerPC test values in a separate fileJosJuice
We use more or less the same values for all PowerPC float unit tests. Let's put them in one place instead of duplicating them.
2021-05-02UnitTests: Move some unit tests to where they should beJosJuice
Two unit tests were in the root UnitTests folder and were not being built when using CMake.
2021-04-25JitArm64: Add unit tests for single/double conversionJosJuice
2021-03-13Arm64Gen: Convert ARM64Reg to enum classDentomologist
Most changes are just adding ARM64Reg:: in front of the constants.
2021-02-13Arm64Emitter: Expand the MOVI2R unit test a littleJosJuice
This tests for a bug with ADRP which was present in an earlier version of this pull request. Also adding the MOVI2R unit test to the VS build.
2021-01-31MovI2R: Do not exhaustively testMerryMage
2021-01-31UnitTests: Add MOVI2R testMerryMage
2020-12-04Turn format string issues into compile-time errorsLéo Lam
If the compiler can detect an issue with a format string at compile time, then we should take advantage of that and turn the issue into a hard compile-time error as such problems almost always lead to UB. This helps with catching logging or assertion messages that have been converted over to fmt but are still using the old, non-fmt variants of the logging macros. This commit also fixes all incorrect usages that I could find.
2019-05-25Jit64AsmCommon: Make ConvertDoubleToSingle use RSCRATCH as outputMerryMage
2019-05-25UnitTests/Jit64Common: Test GenConvertDoubleToSingleMerryMage
2018-12-15stop using g_jit outside of JitInterfaceCrystalGamma
Replace g_jit in x86-64 ASM routines code by m_jit member reference
2018-09-28UnitTets: Add tests for frsqrteMerryMage