zmt00
7ef11ee311
tests/A64: Add VUZP{1,2}.H unit tests
2023-12-11 13:18:19 +00:00
zmt00
d68b916f57
tests/A64: Add VUZP{1,2}.S unit tests
2023-12-02 20:33:45 +00:00
Merry
5acf5614be
tests: fibonacci example
2023-03-31 10:29:31 +01:00
Merry
d796d8e93d
reg_alloc: Fix cast-qual issue
2023-02-04 11:30:01 +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
31a684361f
tests: Update to Catch2 v3
2022-12-31 17:28:34 +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
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
Merry
6bcc424e1a
emit_x64_vector: Ensure FPSR.QC is set even if output is invalidated
2022-07-20 19:44:39 +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
78b4ba10c9
Migrate to mcl
2022-04-19 18:05:04 +01:00
Wunkolo
f0b9cb9ccf
tests/A64: Add {S,U}SHL instruction unit tests
2022-04-06 17:41:55 +01: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
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
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
Markus Wick
0c12614d1a
A64/config.h: Split fastmem and page_table options.
...
We might want to allocate different sizes for each of them.
e.g. for the unsafe fastmem approach without bounds checking.
Or for using the full 48bit adress range (with mirrors) by allocating our real arena as close to 1<<47 as possible.
2021-06-06 17:25:51 +01:00
MerryMage
0a77ee1a58
tests: Format to clang-format mandated style
2021-05-31 12:54:27 +01:00
Jeremy Van de woestyne
b4ee976a6f
unit tests & various fixes
2021-05-28 18:49:31 +01:00
Wunkolo
e8c266d0d3
tests/A64: Add VQADD/VQSUB unit tests
2021-05-28 14:13:11 +01:00
Wunkolo
3c693f2576
emit_x64_vector: AVX512VBMI implementation of EmitVectorTableLookup128
...
Also adds AVX512VBMI detection to host_feature
2021-05-22 22:48:31 +01:00
Wunkolo
9ba5e8e52d
tests/A64: Add TBL/TBX instruction unit tests
...
Tests the TBL instruction with implementation with {1-4} register
lookups and the handling of out-of-bound indices.
Intended to target the implementation of VectorTableLookup128
2021-05-22 22:47:21 +01:00
MerryMage
53493b2024
Add .clang-format file
...
Using clang-format version 12.0.0
2021-05-22 15:07:02 +01:00
Merry
714216fd0e
Consolidate all source files into src/ directory
2021-05-19 17:41:59 +01:00
Wunkolo
2c0be5e18c
emit_x64_vector: AVX512 Implementation of EmitVectorNarrow{32,64}
...
Includes a new test case with the XTN instruction to verify
the implementation
2021-05-16 10:02:49 +01:00
MerryMage
f35d98c923
fuzz_with_unicorn: Widen scope of floating point fuzzing
2021-04-26 00:26:28 +01:00
MerryMage
e19f898aa2
ir: Reorganize to new top level folder
2021-04-21 22:22:07 +01:00
emuplz
6d4333c78e
fixed data + instruction cache callbacks (w/ tests)
2021-02-17 20:38:08 +00:00
rufi
77621a8448
implemented other ic instructions
2021-02-17 20:38:08 +00:00
emuplz
8728444af8
added support for instruction ic ivau
2021-02-17 20:38:06 +00:00
MerryMage
4ba1f8b9e7
Add optimization flags to disable specific optimizations
2020-07-04 11:04:10 +01:00
MerryMage
9f3277540a
Merge A32 and A64 exclusive monitors
2020-06-17 10:33:09 +01:00
Fernando Sahmkow
97b9d3e058
Exclusive Monitor: Rework exclusive monitor interface.
2020-05-03 01:40:37 +01:00
MerryMage
8498ac34d5
fuzz_with_unicorn: Print IR
2020-04-29 15:33:38 +01:00
MerryMage
24229ab899
constant_propagation_pass: Don't fold add if we nee flags
...
Results in incorrect flags
2020-04-29 15:33:12 +01:00
MerryMage
0d041696f5
tests/a64: Reminder about hidden infinite loops
2020-04-23 18:11:45 +01:00
MerryMage
a8a712c801
Relicense to 0BSD
2020-04-23 15:45:57 +01:00
MerryMage
5ea3fe58c6
fuzz_with_unicorn: Add large random block testing
2020-04-22 21:06:18 +01:00