[dynarmic] remove bloated LUT usage that makes giant functions for no good reason #2801

Merged
Shinmegumi merged 2 commits from dynarmic-lut-obliterate into master 2025-10-22 12:23:16 +02:00
Member

Long story short, each of these LUT generates a function that is only ran once, spam the entire code with bunch of little "specialized templates" (remember, N * M * L) and basically bloat codesize for no good reason
Additionally it tries to outsmart the compiler which it's not always a good idea - herein I replace most (except 1) of those "helper" LUTs with something the compiler can actually work satisfiably

Happy reminder of the sheer amount of functions spammed:
mcl::list thing generates a number from 0 to 63 for (fsize 64), add the 0-31 for fsize 32, 0-15 for fsize 16 and you got around... 64+32+16 = 112 functions for a single parameter
Now include in the equation rounding_mode, which is about, what, 6? so 112*6 = 672

Yeah

Signed-off-by: lizzie lizzie@eden-emu.dev

Long story short, each of these LUT generates a function that is only ran once, spam the entire code with bunch of little "specialized templates" (remember, N * M * L) and basically bloat codesize for no good reason Additionally it tries to outsmart the compiler which it's not always a good idea - herein I replace most (except 1) of those "helper" LUTs with something the compiler can actually work satisfiably Happy reminder of the sheer amount of functions spammed: mcl::list thing generates a number from 0 to 63 for (fsize 64), add the 0-31 for fsize 32, 0-15 for fsize 16 and you got around... 64+32+16 = 112 functions for a single parameter Now include in the equation rounding_mode, which is about, what, 6? so 112*6 = 672 Yeah Signed-off-by: lizzie <lizzie@eden-emu.dev>
[dynarmic] remove bloated LUT usage that makes giant functions for no good reason
Some checks failed
eden-license / license-header (pull_request) Failing after 27s
GitHub Actions [CI] Build started
5619ae4764
Signed-off-by: lizzie <lizzie@eden-emu.dev>
fix
Some checks are pending
eden-license / license-header (pull_request) Successful in 27s
GitHub Actions [CI] Build started
d5dc2da321
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie force-pushed dynarmic-lut-obliterate from d5dc2da321
Some checks are pending
eden-license / license-header (pull_request) Successful in 27s
GitHub Actions [CI] Build started
to 8ce5e6213a
All checks were successful
eden-license / license-header (pull_request) Successful in 27s
GitHub Actions [CI] Build succeeded – Release published
2025-10-21 20:32:19 +02:00
Compare
crueter approved these changes 2025-10-22 04:34:11 +02:00
Shinmegumi approved these changes 2025-10-22 12:16:17 +02:00
Shinmegumi deleted branch dynarmic-lut-obliterate 2025-10-22 12:23:17 +02:00
Sign in to join this conversation.
No description provided.