Commit graph

454 commits

Author SHA1 Message Date
Merry
4f3ef50d5c fp: Fix FPToFixed for borderline values 2023-01-15 23:59:27 +00:00
Merry
71b687e549 test_generator: Fake task port no longer required
We are now using mach ports for fastmem on arm64.
2023-01-15 03:34:15 +00:00
Merry
0fd9d781b5 tests: Ensure issue #727 resolved 2023-01-15 03:01:49 +00:00
Merry
2d1edf1c80 emit_x64_floating_point: Fix register allocation bug in FPTwoOp
Erroneous use of ScratchXmm in conditional path
2023-01-15 02:29:08 +00:00
Merry
6b41b5be07 CMakeLists: Support multi-architecture builds 2023-01-06 14:27:06 +00:00
Alexandre Bouvier
46e5f4ee97 cmake: use ctest module 2023-01-06 10:40:03 +00:00
Merry
63ebed5760 x64_cpu_info: Add required C headers 2022-12-31 17:59:12 +00:00
Merry
31a684361f tests: Update to Catch2 v3 2022-12-31 17:28:34 +00:00
Merry
c3312a1497 test_generator: Assist with debugging fastmem on arm64 macOS 2022-12-31 14:56:51 +00:00
Merry
cd2bee17f2 tests/A32: Add a SVC call test 2022-12-29 20:20:26 +00:00
merry
c63c134582 tests/fp_min_max: Test FPCR.FZ 2022-12-29 19:38:45 +00:00
Merry
0869c26b4f tests/fp_min_max: Add a few more test cases 2022-12-29 19:09:06 +00:00
Merry
c804b3980d tests: Add FMAX/FMIN/FMAXNM/FMINNM tests 2022-12-29 19:08:45 +00:00
merry
f69ae1c672 tests: dynarmic_test_generator also depends on A64 frontend 2022-12-06 14:50:37 +00:00
Merry
3d6faf403b test_generator: Minor fixups 2022-12-03 11:16:26 -05:00
Merry
890deb17ce test_generator: Expose interface 2022-12-03 11:16:26 -05:00
Merry
e74e03010b [TEST] test_generator: Test A64 2022-12-03 11:16:26 -05:00
Merry
01a9a12c84 test_generator: Filter out for unimplemented IR instructions 2022-12-03 11:16:26 -05:00
Merry
46aef36a4f test_generator: A64 2022-12-03 11:16:26 -05:00
Liam
21b4211414 Add test for isolated GetNZCVFromOp 2022-12-03 11:16:26 -05:00
Liam
16101049f3 Fix EXTR (flipped rgister order) 2022-12-03 11:16:26 -05:00
Merry
038b728797 emit_x64_data_processing: Detect overflow on division 2022-11-29 14:15:12 +00:00
Alexandre Bouvier
905d822810 cmake: multiple simplifications 2022-11-26 15:52:30 +00:00
Merry
5f753e483f test_generator: Allow rerunning jit 2022-11-08 21:40:45 +00:00
Merry
7dbd87ba2d backend/arm64/a32_address_space: Terminate early if halted prior to execution beginning 2022-11-08 21:40:45 +00:00
FreddyFunk
64a5ca7c2e tests: remove unused default iterations in TestThumb 2022-10-18 15:04:30 +01:00
Merry
d2deb496da tests/A32: Add coprocessor tests 2022-10-18 15:04:30 +01:00
Merry
f4747aea10 test_generator: Increase iterations 2022-10-18 15:04:30 +01:00
Merry
806a50703b test_generator: Test ASIMD 2022-10-18 15:04:30 +01:00
Merry
bbf0179d30 test_generator: Enable vfp testing 2022-10-18 15:04:30 +01:00
Merry
208b19b89a backend/arm64: FPCR/FPSR handling 2022-10-18 15:04:30 +01:00
Merry
3b98af5810 test_generator: Generate Arm instructions 2022-10-18 15:04:30 +01:00
Merry
f84e489969 test_generator: Expand testing to thumb32 2022-10-18 15:04:30 +01:00
Merry
78e266a869 test_generator: Increase iterations 2022-10-18 15:04:30 +01:00
Merry
3e5309bd96 tests: Add test generator 2022-10-18 15:04:30 +01:00
Merry
ecacb6cdc6 tests/rand_int: Expose PRNG 2022-10-18 15:04:30 +01:00
merry
3cb939e70b fuzz_arm: Avoid backwards jumps that may jump into code 2022-08-08 21:05:00 +01:00
Merry
b002419993 tests/{a32,a64}_unicorn: Avoid use of deprecated fmt API 2022-07-26 12:04:52 +01:00
Merry
6bcc424e1a emit_x64_vector: Ensure FPSR.QC is set even if output is invalidated 2022-07-20 19:44:39 +01:00
Merry
da2b1c5724 a32_get_set_elimination_pass: Convert NZ to NZC 2022-07-20 16:45:14 +01:00
Merry
6f106602ba a32_get_set_elimination_pass: Add option to disable NZC -> NZ conversion 2022-07-20 16:42:39 +01:00
Merry
cf08130f2c A32: Condense flag handling
Remove individual flag handlers, and handle them in chuks where able, to produce more optimal code.
2022-07-19 22:05:13 +01:00
Merry
e9b550de3a fuzz_arm: Correct unicorn overrun recovery code 2022-07-14 12:30:53 +01:00
Merry
cd85b7fdaa emit_x64: Fix bugs in fast dispatcher
* We failed to invalidate entries if there are no patches required for a location descriptor.
* Bug in A64 hashing code (rbx instead of rbp).
* Bug in A32 and A64 lookup code (inconsistent choice of key: PC vs IR::LocationDescriptor).
* Test case added.
2022-07-11 16:06:54 +01:00
Merry
d40557b751 A32/A64: Allow std::nullopt from MemoryReadCode
Raise a fault at runtime if this block is executed
2022-06-21 21:41:27 +01:00
Merry
11d12d0b84 x64_cpu_info: Update test for latest xbyak 2022-06-05 14:03:57 +01:00
Merry
57de35a821 tests: Enable tests dependent on active frontend 2022-05-28 13:27:14 +01:00
Merry
e44ac5b84c CMakeLists: Allow building on arm64 2022-05-28 13:27:14 +01:00
Merry
57af72a567 CMakeLists: Make mcl a public link dependency 2022-04-19 20:33:26 +01:00
Merry
78b4ba10c9 Migrate to mcl 2022-04-19 18:05:04 +01:00