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
Merry
de4154aa18
externals: Remove mp and replace uses with mcl
2022-04-19 16:28:28 +01:00
Wunkolo
f0b9cb9ccf
tests/A64: Add {S,U}SHL instruction unit tests
2022-04-06 17:41:55 +01:00
merry
7b69c87ffc
fuzz_arm: Add offset thumb instruction test
...
Test thumb instructions when (PC % 4) == 2
2022-03-20 21:05:55 +00:00
merry
dc3e70c552
fuzz_arm: Sometimes we have to step more to sync up with unicorn
...
This happens if unicorn happens to jump back on an IT instruction.
2022-02-27 19:51:09 +00:00
Merry
4fa646bae5
a32_unicorn: Throw on error to trigger SCOPE_EXIT code
2022-02-15 15:20:01 +00:00
Merry
c4087d68bc
fuzz_arm: Don't generate thumb32_MSR_reg: Unicorn steps by 2 instead of 4
2022-02-15 15:13:41 +00:00
Merry
88906b642c
fuzz_arm: Handle unicorn overrun on internal jump
2022-02-15 14:11:02 +00:00
merry
76ec1afdad
fuzz_arm: Ensure that FPSCR.QC is tested
2022-02-12 22:07:26 +00:00
merry
473bbd422e
test_arm_instructions: Add vmsr/vcmp/vmrs test
2022-02-12 21:43:05 +00:00
Morph
28714ee75a
general: Rename files with duplicate names
...
In MSVC, having files with identical filenames will result into massive slowdowns when compiling.
The approach I have taken to resolve this is renaming the identically named files in frontend/(A32, A64) to (a32, a64)_filename.cpp/h
2021-12-23 11:38:58 +00:00
Wunkolo
69b831d7d2
tests: Add {S,V}ADD{V,P} tests
...
These are the instructions emitted for each variant of the `vaddv{q}_{s}{8,16,32,64}` intrinsic.
2021-09-27 19:54:11 +01:00
Macchiarch
f88aa570a3
cpu_info: remove tSSE4a and tSSE5 ( #643 )
...
tSSE4a and tSSE5 have been removed from xbyak
2021-09-06 20:49:10 +01:00
Merry
2bc86209bd
catch: Correct include directory
2021-08-08 12:52:55 +01:00
Wunkolo
f171ce7859
tests: Add FMLA(lane) test
...
Math operations such as Matrix multiplication utilize these particular
instructions enough that there should be some unit tests for thesein particular.
The lane-splatting form of FMUL and FMLA instructions are of particular
interest and I've found them to be very common in retail game binaries
such as Pokemon Sword.
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/coding-for-neon---part-3-matrix-multiplication
I'm primarily adding this unit test so that I can ensure compatibility
while I tune and optimize them.
2021-08-07 23:03:57 +01:00
Merry
07b5734fb0
xbyak: Correct xbyak include directory
...
xbyak is intended to be installed in /usr/local/include/xbyak.
Since we desire not to install xbyak before using it, we copy the headers
to the appropriate directory structure and use that instead
2021-08-07 15:13:49 +01:00
Merry
31cefb22a0
fuzz_with_unicorn: Correct printing of vectors
2021-08-06 15:29:43 +01:00
Merry
59fb568b27
tests: Use Zydis for disassembly
2021-08-06 15:29:43 +01:00
Lioncash
9bb464a203
externals: Update fmt to 8.0.0
2021-06-23 05:04:53 -04:00
Wunkolo
a1192a51d8
tests: add F{MIN,MAX}NM tests
2021-06-20 10:12:27 +01:00
Wunkolo
759459e181
tests: Add FABS tests
2021-06-10 00:04:57 +01:00
Wunkolo
87aac2a46b
tests: Add F{MIN,MAX} tests
...
Very minimal tests that includes some denormals and {Q,S}NANs
2021-06-08 17:50:28 +01:00