Pokechu22
fbbfea8e8e
Replace Common::BitCast with std::bit_cast
2024-05-03 18:43:51 -07:00
Bram Speeckaert
825a10616c
DivUtils: Add unsigned division magic function
...
Takes the logic from Jit64 and moves it into DivUtils, so it can be
reused by other backends as well.
2024-03-23 20:13:15 +01:00
JosJuice
e0eb4ef5bc
JitArm64: Use enum class for LogicalImm size parameter
...
This should prevent issues like the one fixed in the previous commit
from happening again.
2023-12-16 16:48:26 +01:00
JosJuice
255ee3fdce
JitArm64: Use LSL+CLS for classifying floats
...
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-11-28 18:30:45 +01:00
JosJuice
1104b93ee4
UnitTests: Declare as CPU thread when using CPUThreadConfigCallback
...
This fixes a bunch of DEBUG_ASSERTs in the unit tests.
2023-08-17 19:19:25 +02:00
Admiral H. Curtiss
62de9c593b
UnitTests: Avoid ppcState global.
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
9c0226b7e3
JitBase: Avoid System::GetInstance() and ppcState.
2023-03-25 02:37:00 +01:00
Lioncash
0888c93d48
Common: Move FPU-related helpers into Common namespace
...
Makes these utilities' namespace consistent with the majority of the
Common library.
2023-03-21 10:58:13 -04:00
Shawn Hoffman
2c2fb869a2
use std-provided randomness for JitArm64 unittests
...
decreases runtime significantly and lessens dependency on mbedtls
2023-02-22 12:55:12 -08:00
Admiral H. Curtiss
61ba516570
PowerPC: Move a few functions to PowerPCState.
2023-01-27 15:22:44 +01:00
Merry
4d99506b4c
UnitTests/MovI2R: Test all logical immediates
2022-07-10 22:17:09 +01:00
Pokechu22
161c627466
Treewide: Remove unused inclusions of <cinttypes>
...
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
JosJuice
44beaeaff5
Arm64Emitter: Check end of allocated space when emitting code
...
JitArm64 port of 5b52b3e
.
2021-10-13 21:52:16 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
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-07-05 04:35:56 +02:00
JosJuice
d56721ebb9
Interpreter: Fix FPRF handling of denormal singles
2021-06-27 20:34:49 +02:00
Skyler Saleh
655ed37983
Unit Tests: Added W^X Support for PowerPC test
2021-06-19 10:40:51 -07:00
JosJuice
4b3fda7906
JitArm64: Implement frsqrte
2021-05-15 19:21:15 +02:00
JosJuice
85226e09f0
JitArm64: Implement fres
2021-05-15 19:16:32 +02:00
JosJuice
25dc059f6f
JitArm64: Add FPRF unit test
2021-05-13 11:51:00 +02:00
Léo Lam
70d8a78edc
Merge pull request #9683 from JosJuice/ppc-test-values
...
UnitTests: Put PowerPC test values in a separate file
2021-05-07 14:44:27 +02:00
JosJuice
bb39f75093
UnitTests: Put PowerPC test values in a separate file
...
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-02 22:12:28 +02:00
JosJuice
1f6bb06f2c
UnitTests: Move some unit tests to where they should be
...
Two unit tests were in the root UnitTests folder
and were not being built when using CMake.
2021-05-02 18:07:02 +02:00
JosJuice
9d6263f306
JitArm64: Add unit tests for single/double conversion
2021-04-25 15:56:58 +02:00
Dentomologist
f0f206714f
Arm64Gen: Convert ARM64Reg to enum class
...
Most changes are just adding ARM64Reg:: in front of the constants.
2021-03-13 10:10:59 -08:00
JosJuice
eff66c2adc
Arm64Emitter: Expand the MOVI2R unit test a little
...
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-02-13 21:04:16 +01:00
MerryMage
1ab7657120
MovI2R: Do not exhaustively test
2021-01-31 13:17:31 +00:00
MerryMage
fe9207bb56
UnitTests: Add MOVI2R test
2021-01-31 13:17:19 +00:00
Léo Lam
585899dba3
Turn format string issues into compile-time errors
...
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.
2020-12-04 18:06:02 +01:00
MerryMage
12314577c1
Jit64AsmCommon: Make ConvertDoubleToSingle use RSCRATCH as output
2019-05-25 23:07:50 +01:00
MerryMage
ec8d57d882
UnitTests/Jit64Common: Test GenConvertDoubleToSingle
2019-05-25 23:07:50 +01:00
CrystalGamma
2f490e44fb
stop using g_jit outside of JitInterface
...
Replace g_jit in x86-64 ASM routines code by m_jit member reference
2018-12-15 01:58:58 +01:00
MerryMage
826bcad3a5
UnitTets: Add tests for frsqrte
2018-09-28 18:11:30 +01:00