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