summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Common
AgeCommit message (Collapse)Author
2023-12-13Added testsvyuuui
2023-12-11FloatUtilsTest: Resolve -Wsign-compare warningLioncash
2023-11-28Remove _M_X86 in favour of _M_X86_64Zopolis4
2023-11-25Merge pull request #11881 from JosJuice/aarch64-function-callAdmiral H. Curtiss
JitArm64: Add utility for calling a function with arguments
2023-11-01JitArm64: Add utility for calling a function with argumentsJosJuice
With this, situations where multiple arguments need to be moved from multiple registers become easy to handle, and we also get compile-time checking that the number of arguments is correct.
2023-10-30UnitTests: Test ApproximateReciprocalSquareRootSintendo
2023-08-05X64EmitterTest: Check bytes instead of disassembly in JMP testDentomologist
Check bytes directly to avoid ambiguity in the disassembly between short and near jumps, which could hypothetically cause the test to pass when it shouldn't.
2023-08-05x64EmitterTest: add J/J_CC/CALL unit testsDentomologist
2023-06-17xEmitter: Convert PrefetchLevel to enum classDentomologist
2023-06-12XEmitter: Add enum class JumpDentomologist
Replace the bool parameter force5bytes in J, JMP, and J_CC with an enum class Jump::Short/Near. Many callers set that parameter to the literal 'true', which was unclear if you didn't already know what it did.
2023-05-16StringUtil: Move GetEscapedHtml() into Common namespaceLioncash
2023-04-15Common/MathUtil: Move IntLog2 into MathUtil namespaceLioncash
Gets this out of the global namespace.
2023-03-22Common: Move FixedSizeQueue into Common namespaceLioncash
Gets this out of the global namespace.
2023-02-15Add unit test for File::CreateFullPath().Admiral H. Curtiss
2023-01-24Common: Replace StringBeginsWith/StringEndsWith with std equivalentsLioncash
Obsoletes these functions in favor of the standard member functions added in C++20.
2022-12-11Replace BitUtils with C++20: RotateLeft/RotateRightJosJuice
Now that we've flipped the C++20 switch, let's start making use of the nice new <bit> header. I'm planning on handling this move away from BitUtils.h incrementally in a series of PRs. There may be a few functions remaining in BitUtils.h by the end that C++20 doesn't have any equivalents for.
2022-07-27Crypto/SHA1: add unittestsShawn Hoffman
2022-07-25CPUDetect: improve win/arm64 supportShawn Hoffman
read brand_string on macos/arm64 remove unused flags report family/model info instead of vendor name
2022-04-27msvc: disable optimizations for x64EmitterTest.cppShawn Hoffman
40s -> 5s speedup
2022-01-20Merge pull request #10367 from Pokechu22/fmt-8.1.1JosJuice
Update to fmt 8.1.1
2022-01-16Use Common::ToLower and Common::ToUpperPokechu22
2022-01-13Make all fmt::formatter constructors constexprPokechu22
2021-12-18Fifo analyzer: Display equations for color/alpha combinersPokechu22
2021-10-13Fix all uninitialized variable warnings (C26495)Pokechu22
2021-07-17unittests: remove some msvc-specific castsShawn Hoffman
compiles on contemporary msvc checked there is still a mul in release codegen
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-28x64Emitter: remove unused x87 instructionsTillmann Karras
2021-06-01Updater: Escape HTML characters in commit descriptionsDentomologist
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-06MathUtil: Add SaturatingCast to cast floats more safelyLéo Lam
2021-03-06Create BitFieldArrayPokechu22
2021-03-06Add fmt support to BitFieldPokechu22
2021-03-06Allow specifying StorageType for BitFieldPokechu22
This is useful for BitFields that are bools.
2021-03-06Create EnumFormatterPokechu22
2020-08-24x64Emitter: Check end of allocated space when emitting code.Admiral H. Curtiss
2020-01-13x64Emitter: Unit test memory addressing modesSintendo
Test the behavior of OpArg::WriteRest by using MOV with the various addressing modes (MatR, MRegSum, etc.) in the source operand. Both the instruction and the instruction length are validated.
2020-01-06Merge pull request #8133 from Sintendo/mov64imm32Tilka
x64Emitter: Emit shorter MOVs for 32-bit immediates
2019-08-31FixedSizeQueue: Bugfixes and improvementsSilent
- Fixed a bug where pushing items over queue's size left it in a corrupted state - For non-trivial types, have clear() and pop() run destructors - Added emplace(args...) - Added empty() FixedSizeQueue has semantics of a circular buffer, so pushing items continuously is expected to keep overwriting oldest elements gracefully. Tests have been updated to verify correctness of a previously bugged behaviour and to verify correctness of destructing non-trivial types
2019-06-01Common/CommonFuncs: Remove now-unneccessary ArraySize functionLioncash
Since C++17, non-member std::size() is present in the standard library which also operates on regular C arrays. Given that, we can just replace usages of ArraySize with that where applicable. In many cases, we can just change the actual C array ArraySize() was called on into a std::array and just use its .size() member function instead. In some other cases, we can collapse the loops they were used in, into a ranged-for loop, eliminating the need for en explicit bounds query.
2019-05-29x64EmitterTest: Test 64-bit MOV with 32-bit immediateSintendo
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2019-05-04Replace MathUtil::Clamp with std::clampLéo Lam
2019-04-30Remove redundant initializationFilip Gawin
2018-12-26x64EmitterTest: Add some missing testsMerryMage
2018-09-16x64EmitterTest: Fix linting issuesSintendo
2018-09-16x64EmitterTest: test MOV with 64-bit immediatesSintendo
2018-06-21Common, DSP: Only compile in x86-64 emitter related utilities on x86 platformsLioncash
Previously these were required to be built into the executable so that the JIT portion of the DSP code would build properly, as the x86-64-specifics were tightly coupled to the DSP common code. As this is no longer the case, this is no longer necessary.
2018-06-12UnitTests: Fix MSVC compilationspycrab
2018-06-03UnitTest: Add StringUtil ToString/TryParse testdegasus
Only a single one, but the main one for ini files: Check if the written values can be parsed again.
2018-05-20IOSC: Implement VerifyPublicKeySign for ECCLéo Lam