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
Implement fast path for AES crypto instructions on Arm64 #5281
Conversation
Download the artifacts for this pull request: Experimental GUI (Avalonia)GUI-less (SDL2)Only for Developers
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. 😌
I tested Animal Crossing on macOS and it's working properly (no more heavy stutter when saving with JIT). I also ran the Crypto test (and Crypto32 too) on a Raspberry Pi 4, they all pass, but unfortunately the Raspberry Pi CPU does not support the AES extension, so it was still taking the slow paths there. It would be nice if someone could run the tests on Arm64 Linux with a CPU that supports AES. Almost none of the CPU tests run on Arm64 macOS right now AFAIK due to Unicorn issues. |
this pr also cuts loading times by more than half in acnh! used to take around 10 seconds to load a new room for example, now around 3/4 seconds |
Tests are passing correctly on an ARM64 Linux target here:
|
run smooth! thank u for your work~ |
As the title says. This greatly improves the performance of AES operations when using JIT on Arm64 platforms. It is most notable on Animal Crossing when the game is saving, since it apparently encrypts the save data, and before this change that would cause noticeable stutters.
Closes #5263.