2815 Commits

Author SHA1 Message Date
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
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
d796d8e93d reg_alloc: Fix cast-qual issue 2023-02-04 11:30:01 +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
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
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
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
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
9af4b970d3 CMakeLists: Minor multi-arch support cleanup 2023-01-06 14:38:46 +00:00
Merry
6b41b5be07 CMakeLists: Support multi-architecture builds 2023-01-06 14:27:06 +00:00
Merry
c72ee5473b backend: Unify exception handlers across architectures 2023-01-06 14:24:09 +00:00
Merry
fae1d604e4 emit_arm64_memory: Use LDAR and STLR instead of barriers 2023-01-03 16:57:11 +00:00
Alexandre Bouvier
4bf4d6565e cmake: allow shared llvm linking 2022-12-31 23:14:38 +00:00
Merry
300046b60b backend/arm64/address_space: Assert that code_cache_size <= 128 MiB 2022-12-31 16:06:56 +00:00
Merry
a7523af706 CMakeLists: Add <oaknut/oaknut.hpp> to precompiled headers 2022-12-31 15:21:18 +00:00
Merry
3bdfbdb793 address_space: Block info should be associated with the entry_point, not the LocationDescriptor
This is because a LocationDescriptor can have multiple possible emitted blocks (only zero or one of which is the currently active
block). This allows us to store information for previously invalidated blocks, which is important because we can invalidate
blocks in the middle of executing them.
2022-12-31 14:54:01 +00:00
Merry
9117cc101a a64_address_space: Fix ABI push/pop mismatch 2022-12-30 20:49:22 +00:00
Merry
11d73fedde backend/arm64: Fix argument to AddTicks callback 2022-12-29 20:20:26 +00:00
merry
2492970039 emit_x64_vector_floating_point: AVX implementation for EmitFPVectorMinMaxNumeric 2022-12-29 19:38:45 +00:00
Merry
90d6a51f82 A32: Implement VMAXNM, VMINNM (ASIMD variant) 2022-12-29 19:08:45 +00:00
Merry
860ce278f9 simd_three_same: Use FPVector{Max,Min}Numeric IR instructions 2022-12-29 19:08:45 +00:00
Merry
7cb9254e9f IR: Implement FPVector{Min,Max}Numeric 2022-12-29 19:08:42 +00:00
Merry
c8cd37898b emit_x64_vector_floating_point: Remove erroneous AVX512 implementation in EmitFPVectorMinMax 2022-12-29 15:06:42 +00:00
Macdu
1fa1935d7c frontend/A32, ir: Add missing include 2022-12-26 17:52:39 +00:00
Merry
7a2083b603 exception_handler: Minimize arm64 FakeCall 2022-12-11 17:34:28 +00:00
Merry
e07dde9ed5 emit_arm64_memory: Initial fastmem implementation 2022-12-11 17:26:49 +00:00
Merry
f4727c4ddb backend/arm64/{a32,a64}_address_space: Fix wrapped functions 2022-12-11 17:07:40 +00:00
Merry
8e01ded5fd CMakeLists: Add missing file 2022-12-11 14:57:20 +00:00
Merry
2ea2e44f93 backend/arm64: Implement fastmem infrastructure 2022-12-11 14:57:05 +00:00
Merry
3eddbf8428 address_space: Implement InvalidateBasicBlocks 2022-12-11 14:53:36 +00:00
Merry
84ca6fef0d address_space: Add ReverseGet 2022-12-11 14:45:32 +00:00