-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[wasm][interp] alias Vector operators to PackedSimd #114293
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
Conversation
I kind of wish we could do this in managed instead, so that both the mono interpreter and mono aot would automatically benefit from it. And then if ryujit ever learns to generate wasm in the future, it'll also forward to packedsimd there. |
The same logic is happening there (see previous fixes), I just limited scope for the moment. I'm trying to stage the work in measurable chunks because I'm using my personal time here. My goal is to land all the AOT improvements eventually too. |
What I mean is, could we do the equivalent of this, and just have PackedSimd arms for all of the relevant methods in C#: runtime/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Vector128.cs Lines 359 to 370 in c08ef4b
Then interp and aot and any other future codegen implementations will just light up as long as the method is inlined. I don't know if the code owners for SRI and SNV have feelings on this. It feels like asking a lot of your team to maintain a bunch of manual intrinsics implementations for SRI and SNV in both AOT and interp and jiterpreter. And I don't know how NativeAOT-LLVM wasm handles this, for that matter. |
There is a huge amount of space to share interpreter and native SIMD ops here and in the future with other EEs. For the moment I'm just connecting the existing intrisics on the wasm interpreter for net10 (and a little to make point for future implementations). |
I will probably separate the isimd changes back out of this, they should be a win without resolving the other failures. |
/ba-g failures are known |
Testing the behavior for the moment, help welcome.