aboutsummaryrefslogtreecommitdiff
path: root/src/dynarmic/tests/test_generator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [dynarmic] Fix broken tests and SIGABRT with f16 inst gen (#4366)lizzie2026-09-091-24/+40
| | | | | | | | | | | | | | | | F16 instructions aren't supported yet, thus disable them. Also compilation/build errors. Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4366 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [dynarmic, cmake] Assorted RISC-V build fixes (#3797)lizzie2026-04-061-1/+1
| | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3797 Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] nuke mcl dependency (#3777)lizzie2026-03-271-2/+1
| | | | | | | | | | | | | | | | | | | crueter will love this one mcl nuked off externals, i did however copy some important headers (notably intrusive list and bit.hpp); because grand part of dynarmic still uses them but i made the appropriate adjustments anyways solves mcl for #3373 depends on #3718 Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3777 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] fix dynarmic_tests build issues on xcode due to using relative ↵lizzie2026-03-231-2/+2
| | | | | | | | | | | | | | paths (#3765) Thanks to @chrelliott978 for the initial impl Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3765 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] remove dead-code interpreter (#3547)lizzie2026-02-211-4/+0
| | | | | | | | | | | | | interpreter was never called in practice and doesn't do anything other than just crash Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3547 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] reduce CPU usage on Spooky Mansion by making blocks be page-sized ↵lizzie2026-01-311-2/+2
| | | | | | | | | | | | | | | and page-aligned; replace std::set<> with ankerl set in arm64 (#3253) reduces CPU usage by about 10-20%, may be placebo Signed-off-by: lizzie lizzie@eden-emu.dev Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3253 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] simplify assert macro usage (Only ASSERT/DEBUG_ASSERT are needed) ↵lizzie2025-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | (#2890) - replace instances of ASSERT() with those where UNREACHABLE() should be used instead - debuggers exist for a reason, you can't just debug an issue in dynarmic with just printing fancy text... you need to inspect values and alldat - while yes the asserts are "useful"; there is this beautiful thing called backtraces - this will indirectly speedup the main decoder loop because of the added UNREACHABLE() - this also removes a bunch of macros that were redundant - the weird trick of [&](){}() is really funky, just do what everyone has done for the past 30 years and use a `do { <thing> } while(0)` :) I may or may not have missed one assert or messed up my regex substitutions... Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2890 Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev> Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] nuke zydis/zycore out of orbit forever (#2893)lizzie2025-10-301-2/+2
| | | | | | | | | | | LLVM does what Zydisn't Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2893 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* Revert "[dynarmic] replace mcl::bit_cast with std::bit_cast; fix IR_emit ↵unknown2025-10-281-0/+1
| | | | | | | | | | codepath warnings for UNREACHABLE(); remove type trait mcl::integer_of_size dependency (#2775)" (#2863) This reverts commit 61ab1be0e70b6e86a15f4938666d3968e20f59f3. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2863 Co-authored-by: unknown <sahyno1996@gmail.com> Co-committed-by: unknown <sahyno1996@gmail.com>
* [dynarmic] replace mcl::bit_cast with std::bit_cast; fix IR_emit codepath ↵lizzie2025-10-281-1/+0
| | | | | | | | | | | | | | | | warnings for UNREACHABLE(); remove type trait mcl::integer_of_size dependency (#2775) - std::bit_cast already on libc++ (see also #2774) - type trait is a 5-liner for u8/u16/u32/u64 - UNREACHABLE(); can just be converted into __builtin_unreachable() (TODO: eventually phase out to std::unreachable() once all platforms support it)\ The templatery parametrization is creating many copies of the same function, polluting i-cache and just bloating code size for minimal savings (and in fact could be negative net savings because of the bloated code size) - this is mostly in preparation to a partial removal of template<size_t XXX> in functions to remove instancing (think of the function being copied x4 times... because the compiler is forced to inline it...) Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2775 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake] refactor: Use CPM over submodules (#143)crueter2025-08-041-0/+703
Transfers the majority of submodules and large externals to CPM, using source archives rather than full Git clones. Not only does this save massive amounts of clone and configure time, but dependencies are grabbed on-demand rather than being required by default. Additionally, CPM will (generally) automatically search for system dependencies, though certain dependencies have options to control this. Testing shows gains ranging from 5x to 10x in terms of overall clone/configure time. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/143 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>