Alexandre Bouvier
905d822810
cmake: multiple simplifications
2022-11-26 15:52:30 +00:00
Merry
d2deb496da
tests/A32: Add coprocessor tests
2022-10-18 15:04:30 +01:00
Merry
3e5309bd96
tests: Add test generator
2022-10-18 15:04:30 +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
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
de4154aa18
externals: Remove mp and replace uses with mcl
2022-04-19 16:28:28 +01:00
Lioncash
9bb464a203
externals: Update fmt to 8.0.0
2021-06-23 05:04:53 -04:00
merry
1672f907af
github: Add build-and-test workflow
2021-05-31 12:51:47 +01:00
MerryMage
7bc9e36ed7
emit_x64_floating_point: Optimize 32-bit EmitFPRSqrtEstimate
2021-04-26 00:26:28 +01:00
MerryMage
82868034d3
A32/ASIMD: Ensure decoder table is correct
...
* Raise a DecoderError instead of ASSERT-ing on a decode error
* Correct ASIMD decode table
* Write a test which verifies every possible ASIMD instruction
2020-07-05 18:45:42 +01:00
MerryMage
7c917f1c12
CMakeLists: Add DYNARMIC_FRONTENDS option
...
Allows library user to select which frontends to enable
2020-04-22 21:06:18 +01:00
MerryMage
81fcb4e537
mp: Migrate to shared version of mp library
2020-04-22 21:06:17 +01:00
MerryMage
a59c335b05
A64: Add options for detecting misaligned loads and stores
2020-04-22 21:04:23 +01:00
MerryMage
39bd2c034d
constant_propagation_pass: Handle GetCarryFromOp for MostSignificantWord
2020-04-22 21:04:23 +01:00
MerryMage
3513ed1c60
CMakeLists: Define FMT_USE_USER_DEFINED_LITERALS=0
...
This disable a fmtlib feature that depends on a non-standard feature
for its implementation.
2020-04-22 21:04:22 +01:00
MerryMage
0495b2c779
tests: Fix Windows build when DYNARMIC_TESTS_USE_UNICORN is enabled
2020-04-22 21:04:21 +01:00
Lioncash
4f2b60c8e7
dynarmic_tests: Remove skyeye interpreter
...
This is quite a messy interpreter and would require a large amount of
work to bring it up to speed to begin implementing newer portions of the
AArch32 instruction set into Dynarmic.
Given we already have fuzzing with Unicorn set up for
AArch64/AArch32, we can get rid of this and unify our testing
infrastructure.
This will also make building the tests much faster, given a whole
interpreter doesn't need to be built anymore as part of the project.
2020-04-22 21:02:45 +01:00
MerryMage
e60d6c0d20
fp/info: Incorrect point_position in FPValue
2020-04-22 20:53:45 +01:00
MerryMage
c96c534615
fuzz_with_unicorn: Split utility functions into fuzz_util
2020-04-22 20:46:23 +01:00
MerryMage
35c758f211
tests: Refactor unicorn_emu to allow for A32 unicorn
2020-04-22 20:46:23 +01:00
MerryMage
a04553eb91
tests: Print cpu info
2020-04-22 20:46:21 +01:00
MerryMage
9571269552
fp/op: Implement FPToFixed
2020-04-22 20:46:19 +01:00
MerryMage
8087e8df05
mantissa_util: Implement ResidualErrorOnRightShift
...
Accurately calculate residual error that is shifted out
2020-04-22 20:46:19 +01:00
MerryMage
7360a2579b
mp: Implement metaprogramming library
2020-04-22 20:46:19 +01:00
MerryMage
4ab029c114
fp: Implement FPUnpack
2020-04-22 20:46:19 +01:00
MerryMage
eb3ca7f65b
tests: Add print_info program
...
Eases debugging by printing out dynarmic IR for a given A64 instruction, along with
information about what instruction dynarmic thinks it is.
Also prints an LLVM disassembly of the instruction.
2020-04-22 20:46:18 +01:00
Lioncash
cd0b71159a
CMake: Make FindUnicorn introduce a unicorn target
...
Makes the find module do all the work of properly setting up the target instead of needing to do it in the main CMakeLists file.
2020-04-22 20:46:16 +01:00
MerryMage
d7044bc751
assert: Use fmt in ASSERT_MSG
2020-04-22 20:46:12 +01:00
MerryMage
98ec9c5f90
A32: Change UserCallbacks to be similar to A64's interface
2020-04-22 20:46:12 +01:00
MerryMage
7992a319ba
A64/tests: Split unicorn sanity checking from other tests
2020-04-22 20:42:45 +01:00
MerryMage
a59e9ad9c6
travis: Run A64 tests
2020-04-22 20:42:45 +01:00
MerryMage
d5725de26a
tests/A64: Fuzz against unicorn
2020-04-22 20:42:45 +01:00
MerryMage
a0ef6eda19
tests/A64: Move TestEnvironment to own header
2020-04-22 20:42:45 +01:00
MerryMage
d1eb757f93
A64: Backend framework
2020-04-22 20:42:44 +01:00
MerryMage
b3c73e2622
Label A32 specific code appropriately
2020-04-22 20:33:30 +01:00
Mat M
c6d09adcb7
CMakeLists: Derive the source file listings from targets directly ( #118 )
...
This gets rid of the need to store to individual variables before creating
the target itself, cleaning up the variables in the surrounding scope a little bit.
2020-04-22 20:26:07 +01:00
Lioncash
5a02da445a
CMakeLists: Only link LLVM libs against the library
...
LLVM library code is only used within the main dynarmic library, not the test executable.
2017-03-11 13:25:14 +00:00
Lioncash
d0efbb9348
CMakeLists: Remove unnecessary linker language specifiers
...
This is already inferred by the cmake project being declared a CXX project.
2017-03-07 18:30:58 +00:00
Lioncash
9906be746f
CMakeLists: Make boost an interface library target
...
Gets rid of the use of a non-target include and makes libraries
explicitly link against the identifier name in order to get includes.
2017-03-04 11:52:32 +00:00
Lioncash
f9e7e85308
externals: Make catch an interface target
...
Eliminates top-level inclusion of the headers with include_directories()
and instead utilizes it on a by-target basis using target_include_directories().
2017-02-26 13:43:47 +00:00
MerryMage
b1d3e7aae9
emit_x64: Refactor patching code
...
* Only have a single std::unordered_map for patching information
* Factor patch emitters into own functions
* Implement EmitX64::Unpatch
2016-12-20 14:06:55 +00:00
MerryMage
cc58666c06
CMakeLists: Use target_compile_options intead of add_compile_options
2016-12-19 00:48:25 +00:00
MerryMage
ed3a686d1d
Implement public header files
2016-08-26 00:44:50 +01:00
Lioncash
1bedd3bd7f
CMakeLists: Clean up
...
Moves functions out of the main CMakeLists file into module files that
can just be included whenever necessary. This also uses the CMake
provided variables for enforcing compiler requirements.
2016-08-22 15:55:39 +01:00
MerryMage
20e253ece2
tests/skyeye_interpreter: Update Skyeye (22-08-1016)
...
Matches the version of Skyeye in citra commit
7b4dcacbb2006de6483e982b21956a8f3098aa1d
2016-08-22 14:07:54 +01:00
Tillmann Karras
af27ef8d6c
Optionally disassemble x86_64 code using LLVM
2016-08-05 02:08:41 +01:00
MerryMage
c18a3eeab4
Better MSVC support
...
* Avoiding use of templated variables.
* Now compling on MSVC with /WX (warnings as errors).
* Fixed all MSVC warnings.
* Fixed MSVC source_groups.
2016-07-18 10:38:22 +01:00
MerryMage
65d27f3486
tests: Add some Arm tests
2016-07-12 09:12:56 +01:00