-
Notifications
You must be signed in to change notification settings - Fork 639
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
Add zero load opcodes #3943
base: dev/simd_for_interp
Are you sure you want to change the base?
Add zero load opcodes #3943
Conversation
248d9fe
to
1ea93cc
Compare
b0202a7
to
072960f
Compare
wasm_set_exception(module, "unsupported SIMD opcode"); | ||
break; | ||
} | ||
#define SIMD_LOAD_ZERO_OP(width) \ |
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.
It appears there is some code shared with SIMD_LOAD_LANE_OP
(like after int32 base...
). Is there a way we can minimize code duplication?
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.
yeah that's a great idea actually
what we can do is call load_lane (0, width)
to load the 0 lane and then nullify other lanes
needs some refactoring but doable
072960f
to
4cb9b1b
Compare
@lum1n0us I refactored a bit, I think refactoring further will just bring a lot of complexity |
I'm quite fond of this version. It uncovers the logical connection between |
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.
LGTM
looks like the CI failure is unrelated (it's also in classic-interp while the PR only touches the fast one) so I think it should be merge-ready |
tested using a simple wat again