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
Merry
407a9d202a
exception_handler_posix: Cleanup
2022-12-11 10:59:11 +00:00
Merry
d635b12b84
exception_handler_posix: Support arm64 backend
2022-12-11 02:51:44 +00:00
Merry
59fc92ee6e
backend/arm64/a64_address_space: Avoid use of stack in Emit*Read128CallTrampoline
2022-12-10 23:56:40 +00:00
Merry
e88c89ff47
emit_arm64_memory: Call prewrapped fallback functions
2022-12-10 23:48:35 +00:00
Merry
8f243089e0
backend/arm64/abi: Implement ToRegList
2022-12-10 23:12:04 +00:00
Merry
c01d27bb7c
backend/arm64: Inline page table implementation
...
Co-Authored-By: Liam <byteslice@airmail.cc>
2022-12-10 21:51:10 +00:00
Merry
c4226ba25b
backend/arm64: Implement Emit*CheckMemoryAbort
2022-12-10 18:38:53 +00:00
Merry
4fdc42182b
backend/arm64/abi: Reserve registers for pagetable and fastmem arena
2022-12-07 00:41:35 +00:00
Merry
d6b58b268b
arm64/emit_context: Add deferred_emits
2022-12-07 00:40:42 +00:00
merry
ac0a20795a
emit_arm64_memory: Simplify interface to just require a bitsize
2022-12-06 15:45:16 +00:00
merry
f8d8618af1
emit_arm64: Passthrough pagetable information
2022-12-06 14:53:14 +00:00
Merry
ec1f117665
backend/arm64: Merge memory handling
2022-12-05 22:34:00 +00:00
Merry
7660da4909
backend/arm64: Fix exclusive writes
2022-12-05 21:11:51 +00:00
Merry
2c87e2f76f
a64_address_space: Simplify 128-bit Q0->{X2,X3} transfer
2022-12-03 11:16:26 -05:00
Merry
6960d29868
a64_address_space: Remove fpsr load in step_code
2022-12-03 11:16:26 -05:00
Merry
4f1f7c8e97
arm64/reg_alloc: Remove PrepareForCallReg and PrepareForCallVec
2022-12-03 11:16:26 -05:00
Merry
73eecfbaef
emit_arm64_vector_floating_point: Simplify FPVectorAbs16
2022-12-03 11:16:26 -05:00
Merry
cf704a460d
EmitTwoOpFallbackWithoutRegAlloc: Simplify
2022-12-03 11:16:26 -05:00
Merry
6965095cb9
a64_address_space: Reorder declaration appropriately
2022-12-03 11:16:26 -05:00