aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-03-02backend/rv64: Implement basic Add32Yang Liu
2024-03-02backend/rv64: Implement GetCFlagFromNZCVYang Liu
2024-03-02backend/rv64: Implement basic LogicalShiftRight32Yang Liu
2024-03-02backend/rv64: Stub all IR instruction implementationsYang Liu
2024-03-02mcl: Add UNIMPLEMENTED macroYang Liu
2024-03-02backend/rv64: Implement A32SetCpsrNZCVYang Liu
2024-03-02backend/rv64: Implement GetNZCVFromOpYang Liu
2024-03-02backend/rv64: Implement basic Sub32Yang Liu
2024-03-02backend/rv64: Implement IdentityYang Liu
2024-03-02backend/rv64: Initial implementation of terminalsYang Liu
2024-03-02backend/rv64: Add StackLayout to stackYang Liu
2024-03-02backend/rv64: Implement UpdateAllUsesYang Liu
2024-03-02backend/rv64: Implement AssertNoMoreUses and some minor tweaksYang Liu
2024-03-02backend/rv64: Use biscuit LI()Yang Liu
2024-03-02backend/rv64: Add minimal toy implementation enough to execute LSLSYang Liu
2024-03-02backend/rv64: Initial implementation of register allocatorYang Liu
2024-03-02backend/rv64: Adjust how relocations are storedYang Liu
2024-03-02backend/rv64: Rework on pointer typesYang Liu
2024-03-02backend/rv64: Add a dummy code generationYang Liu
2024-03-02backend/rv64: Add biscuit as the assemblerYang Liu
2024-03-02backend/rv64: Add initial RISC-V frameworkYang Liu
RISC-V target is now compilable.
2024-03-02github: Add basic RISC-V CIYang Liu
2024-03-02externals: Add biscuitMerry
Merge commit 'e4a733d5b2e02e7095847892f29ed8288d55d91e' as 'externals/biscuit'
2024-03-02Squashed 'externals/biscuit/' content from commit 1d53c9e6Merry
git-subtree-dir: externals/biscuit git-subtree-split: 1d53c9e6cfe56544982200a5bac15a5de064936b
2024-03-02dynarmic: 6.7.0Merry
2024-03-02Change Config to make fastmem_pointer of zero valid.Ash
This changes Dynarmic::A32/A64::Config to store fastmem_pointer in a std::optional<uintptr_t>, allowing the user to pass a zero base address for the guest memory, which can be used to effectively implement a shared address space between the host and the guest.
2024-02-24emit_x64_vector: Implement AVX2 AVShift64zmt00
2024-02-24emit_x64_vector: Refactor AVX2 AVShift32, LVShift{32,64}zmt00
2024-02-24tests/A64: Update {S,U}SHL testszmt00
Converted tests to use oaknut, and added some extra test cases. SSHL's additional tests are targetd to make sure that the sign of the lowest byte is used to determine shift direction, not the entire element. USHL targets this as well as just having more negative (right shift) cases in general.
2024-02-20emit_x64_vector: Implement AVX2 UnsignedRoundingShiftLeft{32,64}zmt00
2024-02-20tests/A64: Add URSHL testszmt00
2024-02-17emit_x64_vector: Refactor pre-SSE4.1 min/max instruction replacementszmt00
2024-02-17tests/A64: Add non-paired min/max integer testszmt00
2024-02-13emit_x64_vector: Optimize VectorSignedSaturatedAbszmt00
2024-02-13tests/A64: Add SQABS testszmt00
2024-02-13backend/arm64: A64: Implement DumpDisassemblyMerry
2024-02-13emit_arm64_a64: Take into account currently loaded FPSRMerry
Previously we just retrieved the last stored FPSR and used that when the guest asks for the current FPSR. This is incorrect behaviour. We failed to take into account the current state of the host FPSR. Here we take this into account. This bug was discovered via #795.
2024-02-10dynarmic: 6.6.3Merry
2024-02-10backend/x64: Reduce races on invalidation requests in interfaceMerry
This situation occurs when RequestCacheInvalidation is called from multiple threads. This results in unusual issues around memory allocation which arise from concurrent access to invalid_cache_ranges. There are several reasons for this: 1. No locking around the invalidation queue. 2. is_executing is not multithread safe. So here we reduce any cache clear or any invalidation to raise a CacheInvalidation halt, which we execute immediately before or immediately after Run() instead.
2024-02-10tests/A64: Add negative-shift elements to `USHL`Wunkolo
2024-02-10emit_x64_vector: AVX512+GNFI implementation of EmitVectorLogicalVShift8Wunkolo
2024-02-10tests/A64: Convert recent tests to oaknutzmt00
2024-02-10ir: Implement FPMulSubzmt00
2024-02-06tests/A64: Use oaknut for CLZ assemblyWunkolo
2024-02-06emit_x64_vector: GNFI implementation of EmitVectorCountLeadingZeros8Wunkolo
2024-02-06tests/A64: Add CLZ vector unit-testsWunkolo
2024-01-31emit_x64_data_processing: Exclude edge case from lea path in EmitSubMerry
-0xffff'ffff'8000'0000 = 0x0000'0000'8000'0000 which is not a representable displacement
2024-01-30constant_propagation_pass: x + 0 == xMerry
2024-01-30emit_x64_data_processing: Emit lea where possible in EmitAdd and EmitSubMerry
2024-01-30Avoid emplace.Merry