hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
10.77k stars 2.12k forks source link

More minor IR optimizations #19265

Closed hrydgard closed 2 weeks ago

hrydgard commented 2 weeks ago

Don't break up lwl/lwr/swl/swr instructions into components when using the interpreter, it can handle the original instructions faster directly.

Remove an unnecessary mask operation when using ins some ways.

Optimize away redundant store+load vector operations (seen a lot in the Wipeout games).

None of these alone have a big effect, but if we keep shaving the size of the generated IR code down, performance will improve. Plus, these are fun to work on and some of this will also benefit the IR Jits.