Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-12-17 | emit_x64_vector: Add SSSE3 implementation of VUZP{1,2}.8B | zmt00 | |
2023-12-11 | emit_x64_vector: Add SSE4.1 implementation of VUZP1.8H | zmt00 | |
2023-12-11 | emit_x64_vector: Add SSSE3 implementation of VUZP{1,2}.4H | zmt00 | |
2023-12-02 | emit_x64_vector: Add SSE4.1 implementation of VUZP{1,2}.2S | zmt00 | |
2023-11-16 | A32: Introduce PreCodeReadHook (#763) | kynex7510 | |
* A32: Introduce PreCodeReadHook * A32: Invert code read hook return value | |||
2023-10-08 | exception_handler: connect installation to instance lifetime | Liam | |
2023-10-08 | exception_handler_posix: Support NetBSD and OpenBSD | scribam | |
2023-08-28 | emit_x64_vector_floating_point: RSqrtEstimate: Add AVX implementation | Merry | |
2023-08-28 | emit_x64_vector_floating_point: FPVectorMulAdd: Minimize full fallback | Merry | |
2023-08-28 | emit_x64_vector_floating_point: Implement GetNonSignMaskVector | Merry | |
2023-08-28 | emit_x64_floating_point: FPMulAdd: Inline NaN handling | Merry | |
2023-07-20 | build: set SOVERSION to major.minor | Andrea Pappacoda | |
Dynarmic uses semantic versioning, restricting backwards-incompatible changes to major releases. This backwards compatibility, though, refers to API changes, and disregards ABI stability. Since having to maintain a compatible ABI between major releases is somewhat of a pain, and it arguably doesn't matter that much for dynarmic, setting the SOVERSION to major.minor allows for breaking ABI changes to be made between feature releases, and not only major ones. To be clear, this patch doesn't try to enforce a new policy, but just reflects how the project has handled ABI changes in the past. That is, these kind of changes have been made already. This patch comes as a fix for Debian bug <https://bugs.debian.org/1041270>. | |||
2023-07-09 | exception_handler_macos: Avoid undefined behavior due to accessing ↵ | comex | |
misaligned pointer Caught by UBSan. I don't think this has a meaningful performance impact (especially since the thread state doesn't include floating-point/vector registers), but I haven't tested it. | |||
2023-05-17 | spin_lock: Unlocked at initilization time | merry | |
2023-05-07 | spin_lock: Invalidate runtime generated code | Merry | |
Not doing this can result in cache related heisenbugs. | |||
2023-05-07 | spin_lock: Use std::call_once | Merry | |
2023-05-05 | a32_get_set_elimination_pass: Appease MSVC 2022 | Merry | |
2023-04-29 | common: Defer spin-lock initialization. | Steveice10 | |
2023-04-27 | x64/block_of_code: Only commit minimum required memory | Merry | |
2023-03-31 | backend/arm64: Implement RSB | merry | |
2023-03-31 | arm64/abi: Add Xscratch2 | merry | |
2023-03-15 | a32_interface: remove Context | Liam | |
2023-03-04 | cmake: fix static standalone build | Alexandre Bouvier | |
2023-02-21 | emit_x64_vector: AVX512VBMI implementation of EmitVectorTableLookup64 | Wunkolo | |
2023-02-15 | emit_arm64: Add BlockRelocationType::MoveToScratch0 | Merry | |
2023-02-11 | A64: Remove more instances of use of VectorMultiply64 | Merry | |
2023-02-11 | backend/arm64: Add InvalidateCacheRanges | Merry | |
2023-02-05 | a32_get_set_elimination_pass: Fix bugs in A32 get/set algorithm | Merry | |
2023-02-04 | verbose_debugging_output: Use actual names | Merry | |
2023-02-04 | Appease clang-format | Merry | |
2023-02-04 | reg_alloc: Fix cast-qual issue | Merry | |
2023-02-03 | a32_get_set_elimination_pass: Fix Set/GetVector for 64-bit registers | Merry | |
2023-02-03 | verbose debugging: Ensure host fp state is preserved | Merry | |
2023-02-03 | reg_alloc: Support unused values for noopt mode | Merry | |
2023-01-20 | emit_x64_vector: zext TBL (3) | Merry | |
2023-01-20 | emit_x64_vector: zext Vector*SaturatedNarrowTo* | Merry | |
2023-01-20 | emit_x64_floating_point: zext FPFixedU32ToDouble | Merry | |
2023-01-20 | emit_x64_vector: Fix vector upper output of ↵ | Merry | |
EmitVectorSignedSaturatedNarrowToSigned | |||
2023-01-20 | backend/arm64: Implement VectorMultiply64, but allow only during debugging | Merry | |
2023-01-20 | backend/arm64: Add verbose debugging output | Merry | |
2023-01-20 | backend/x64: Improve verbose debugging output | Merry | |
2023-01-20 | emit_x64_vector: Fix 64-bit TBL (zext table input) | Merry | |
2023-01-19 | a32_get_set_elimination_pass: Ensure no use before rm def | Merry | |
2023-01-19 | emit_arm64_data_processing: Fix flags issue in Add32 overflow variant | Merry | |
2023-01-19 | a32_get_set_elimination_pass: New algorithm | Merry | |
2023-01-18 | simd_table_lookup: add missing header for libc++ < 14 | Jan Beich | |
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-16 | tests: Add verbose debugging output and test_reader | Merry | |
2023-01-16 | Remove some unnecessary headers | Merry | |
2023-01-15 | fp: Fix FPToFixed for borderline values | Merry | |
2023-01-15 | backend/arm64: Use always_false_v in static_assert | Merry | |