-
Notifications
You must be signed in to change notification settings - Fork 267
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
SIMD: implements v128 load, store and lane manipulations. #588
Conversation
as the tests are mutual dependant, so I will repurpose this to support for all load, store and lane manipulation instructions |
ok finished with interpreter... now start working on AOT compilers |
ok the left for amd64 is `v128.shuffle, swizzle, any_true and all_true.... already 4k loc :D |
woohoo finally passed all tests on amd64 👯 |
70fdb0d
to
5317ee8
Compare
The left is all_true, any_true, shuffle and swizzle on arm64... |
shuffle and swizzle... |
finally come to the state where I will backfill the docs and then mark this ready! 8k pure addition 🤯 |
Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: Takeshi Yoneda <[email protected]>
I'm doing a typo/link sweep commit, so no one else needs to make comments until I'm done (will save a flurry) |
Signed-off-by: Adrian Cole <[email protected]>
Signed-off-by: Adrian Cole <[email protected]>
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.
next comments
Signed-off-by: Adrian Cole <[email protected]>
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.
done arm64
Signed-off-by: Adrian Cole <[email protected]>
Signed-off-by: Adrian Cole <[email protected]>
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.
Great work. I think you left a couple TODOs on some tests to follow-up on, and here are the things I noticed besides what's already commented:
impl_vec_*.go
are light on overview docs. If you have any links on the approach used to
implement, please add them where relevant. We can see what's going on, but not why.- interpreter needs some summary doc on vector also, just to prepare the reader for what will follow.
- func_validation needs some test coverage, as does compiler_test, at least hitting the main points
Epic work and thanks for bearing through it!
Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: Takeshi Yoneda <[email protected]>
will do the follow-up PR soon as this is already huge :D Thank you for your help! |
This implements various SIMD instructions related to
load, store, and lane manipulations for all engines.
Notably, now our engines pass the following specification tests:
part of #484