Commit graph

3372 commits

Author SHA1 Message Date
Merry
7da378033a spin_lock: Invalidate runtime generated code
Not doing this can result in cache related heisenbugs.
2023-05-07 23:03:39 +01:00
Merry
d5c2b473a8 spin_lock: Use std::call_once 2023-05-07 15:12:05 +01:00
Merry
f9e6a3df5c dynarmic: 6.4.7 2023-05-05 16:29:42 +01:00
Merry
420a786a3f a32_get_set_elimination_pass: Appease MSVC 2022 2023-05-05 10:37:57 +01:00
Steveice10
39c59b6c46 common: Defer spin-lock initialization. 2023-04-29 23:04:00 +01:00
Merry
720d6bbcd8 Squashed 'externals/oaknut/' changes from 816481f10..c24f918e5
c24f918e5 oaknut: 1.1.6
3a70cd40a oaknut: Run clang-format
dc54784b8 oaknut: Add support for iOS memory protection.
14207278a oaknut: 1.1.5
841f9b693 oaknut: throw OaknutException instead of plain C string

git-subtree-dir: externals/oaknut
git-subtree-split: c24f918e52e629fc315c6e4bca4ea62def8b55e8
2023-04-27 22:20:30 +01:00
Merry
494fbee05b externals: Update oaknut to 1.1.6
Merge commit '720d6bbcd87a8aecf628ab26a55ac7b17f7325df'
2023-04-27 22:20:30 +01:00
Merry
b1584b66b6 x64/block_of_code: Only commit minimum required memory 2023-04-27 21:22:28 +01:00
Merry
c08c5a9362 6.4.6 2023-04-01 12:37:29 +01:00
Merry
5acf5614be tests: fibonacci example 2023-03-31 10:29:31 +01:00
merry
c326f9b02f backend/arm64: Implement RSB 2023-03-31 10:29:31 +01:00
merry
3f6232bfdb arm64/abi: Add Xscratch2 2023-03-31 10:29:31 +01:00
Liam
4ad2dee67b a32_interface: remove Context 2023-03-15 16:06:05 +00:00
Alexandre Bouvier
b3a92ab54d cmake: fix static standalone build 2023-03-04 14:19:51 +00:00
Wunkolo
e92f69aca0 emit_x64_vector: AVX512VBMI implementation of EmitVectorTableLookup64 2023-02-21 21:56:18 +00:00
Wunkolo
87a312b446 tests/A32: Add tbl/tbx instruction unit tests 2023-02-21 21:56:18 +00:00
Merry
15e889fbe3 emit_arm64: Add BlockRelocationType::MoveToScratch0 2023-02-15 11:42:22 +00:00
Merry
a179e2f2bb A64: Remove more instances of use of VectorMultiply64 2023-02-11 12:09:56 +00:00
Merry
082167feeb backend/arm64: Add InvalidateCacheRanges 2023-02-11 11:58:09 +00:00
Merry
165621a872 6.4.5 2023-02-05 17:34:13 +00:00
Merry
3e715994c8 LICENSE: Update name 2023-02-05 17:32:20 +00:00
Merry
7d3b4f913b a32_get_set_elimination_pass: Fix bugs in A32 get/set algorithm 2023-02-05 17:19:08 +00:00
Merry
2636da8821 verbose_debugging_output: Use actual names 2023-02-04 14:11:56 +00:00
Merry
8c9a3e16f5 Appease clang-format 2023-02-04 14:09:24 +00:00
Merry
43b71c6015 clang-format: Use clang-format 15 2023-02-04 11:32:11 +00:00
Merry
d796d8e93d reg_alloc: Fix cast-qual issue 2023-02-04 11:30:01 +00:00
Merry
60030a76d7 README: Add touchHLE 2023-02-03 23:10:51 +00:00
Merry
66a4940b11 a32_get_set_elimination_pass: Fix Set/GetVector for 64-bit registers 2023-02-03 23:00:56 +00:00
Merry
9364ba821e tests: Support noopt mode 2023-02-03 22:16:29 +00:00
Merry
890f01f036 verbose debugging: Ensure host fp state is preserved 2023-02-03 22:15:53 +00:00
Merry
fdd5192ab3 reg_alloc: Support unused values for noopt mode 2023-02-03 22:15:21 +00:00
Merry
716a2fa5fa emit_x64_vector: zext TBL (3) 2023-01-20 23:42:38 +00:00
Merry
e01a1959a3 CMake: Add dependencies to Config file 2023-01-20 22:59:34 +00:00
Merry
d04989c052 emit_x64_vector: zext Vector*SaturatedNarrowTo* 2023-01-20 21:21:11 +00:00
Merry
b764c2425c emit_x64_floating_point: zext FPFixedU32ToDouble 2023-01-20 21:20:35 +00:00
Merry
43e8d0d7fc emit_x64_vector: Fix vector upper output of EmitVectorSignedSaturatedNarrowToSigned 2023-01-20 16:19:46 +00:00
Merry
e26a9769dc backend/arm64: Implement VectorMultiply64, but allow only during debugging 2023-01-20 11:53:56 +00:00
Merry
191125a208 backend/arm64: Add verbose debugging output 2023-01-20 11:52:23 +00:00
Merry
2a87337141 test_reader: Add A32 modes 2023-01-20 11:50:41 +00:00
Merry
f0ebdf278c backend/x64: Improve verbose debugging output 2023-01-20 11:47:49 +00:00
Merry
c0813cf2a5 emit_x64_vector: Fix 64-bit TBL (zext table input) 2023-01-20 02:03:52 +00:00
Merry
7fb7352f55 a32_get_set_elimination_pass: Ensure no use before rm def 2023-01-19 20:49:30 +00:00
Merry
ba42318ab2 emit_arm64_data_processing: Fix flags issue in Add32 overflow variant 2023-01-19 19:51:07 +00:00
Merry
33fa44acf6 a32_get_set_elimination_pass: New algorithm 2023-01-19 19:16:46 +00:00
Jan Beich
76aa4dd665 simd_table_lookup: add missing header for libc++ < 14
src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp:14:31: error: implicit instantiation of undefined template 'std::vector<Dynarmic::IR::TypedValue<Dynarmic::IR::Type::U128>>'
        std::vector<IR::U128> result;
                              ^
/usr/include/c++/v1/iosfwd:251:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
                           ^
src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp:13:34: error: no matching member function for call to 'VectorTable'
    const IR::Table table = v.ir.VectorTable([&] {
                            ~~~~~^~~~~~~~~~~
src/dynarmic/../dynarmic/ir/ir_emitter.h:313:11: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::vector<U64>' (aka 'vector<TypedValue<Type::U64>>') for 1st argument
    Table VectorTable(std::vector<U64> values);
          ^
src/dynarmic/../dynarmic/ir/ir_emitter.h:314:11: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::vector<U128>' (aka 'vector<TypedValue<Type::U128>>') for 1st argument
    Table VectorTable(std::vector<U128> values);
          ^
2023-01-18 19:46:36 +00:00
Merry
ffc3dce9b1 tests: Add verbose debugging output and test_reader 2023-01-16 00:42:18 +00:00
Merry
f865bbbad2 Remove some unnecessary headers 2023-01-16 00:42:18 +00:00
Merry
4f3ef50d5c fp: Fix FPToFixed for borderline values 2023-01-15 23:59:27 +00:00
Merry
f3af94bc7c backend/arm64: Use always_false_v in static_assert 2023-01-15 11:45:10 +00:00
Merry
ce1ba43fea emit_arm64_a64: Use correct bitwidth in LinkBlockFast 2023-01-15 11:07:17 +00:00