Files
ppsspp/Core
Henrik RydgårdandClaude Sonnet 5 65495c76c0 Add a codegen tool to generate a fast switch-tree interpreter dispatcher
MIPSTables.cpp has walked a tree of tables on every single interpreted
instruction since forever, with a standing TODO asking for exactly this:
"generate smart dispatcher functions from above tables instead of this
slow method." GenerateInterpreterDispatch() does that - it walks the
same tables MIPSGetInstruction() walks at runtime, but resolves the
walk into a nested switch tree once, at generation time, with each
leaf calling straight into the existing MIPSInt::Int_* handlers and
returning that instruction's fixed cycle count. Anything not covered
(invalid opcodes, and the handful of instructions with no interpreter
implemented at all, e.g. tge/tlt/teq) falls back to the existing
MIPSInterpret()/MIPSGetInstructionCycleEstimate() slow path, so the
result is total over all 32-bit inputs, same as the table-walking path.

Wired up via a new headless --generate-interpreter-dispatch flag,
which prints the generated Core/MIPS/InterpreterDispatch.cpp source to
stdout and exits.

Also widens CmdLine.cpp's --help column formatting, which silently
truncated any option name longer than 24 characters - the new option's
name was the first to hit it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019SKhm9wKEQzRUsx9mTrrtQ
2026-08-12 10:24:01 +02:00
..
2026-08-11 20:12:10 +02:00
2026-08-11 20:12:10 +02:00
2026-08-11 20:14:01 +02:00
2026-06-02 11:15:08 +02:00
2026-08-09 22:10:54 +02:00
2026-07-29 16:27:33 +02:00
2026-08-03 19:11:07 +02:00
2026-08-11 20:12:10 +02:00
2026-08-05 09:48:51 +02:00
2026-08-05 00:15:56 +02:00
2026-08-11 20:14:01 +02:00
2025-03-27 14:26:48 +01:00
2026-08-11 20:12:10 +02:00
2026-08-11 20:14:01 +02:00
2026-08-11 20:14:01 +02:00
2026-07-29 16:27:33 +02:00
2026-08-11 15:43:48 +02:00
2026-07-27 18:37:28 +02:00