Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More minor IR optimizations #19265

Merged
merged 4 commits into from
Jun 9, 2024
Merged

More minor IR optimizations #19265

merged 4 commits into from
Jun 9, 2024

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Jun 9, 2024

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.

@hrydgard hrydgard added the IRInterpreter Occurs with IR Interpreter but not with another CPU backend. label Jun 9, 2024
@hrydgard hrydgard added this to the v1.18.0 milestone Jun 9, 2024
@hrydgard hrydgard merged commit 5dec3ca into master Jun 9, 2024
18 checks passed
@hrydgard hrydgard deleted the ir-lwr branch June 9, 2024 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IRInterpreter Occurs with IR Interpreter but not with another CPU backend.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant