Winch: v128 min, max, extmul and extadd#10205
Merged
saulecabrera merged 4 commits intobytecodealliance:mainfrom Feb 13, 2025
Merged
Winch: v128 min, max, extmul and extadd#10205saulecabrera merged 4 commits intobytecodealliance:mainfrom
min, max, extmul and extadd#10205saulecabrera merged 4 commits intobytecodealliance:mainfrom
Conversation
cc120ef to
d8e3ef7
Compare
Subscribe to Label ActionDetailsThis issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
Member
|
I can grab this one. |
Member
|
FYI, there are a couple of conflicts. |
d8e3ef7 to
5a5fbbe
Compare
448c221 to
bd2fe3e
Compare
bd2fe3e to
1bf3b5a
Compare
Contributor
Author
|
rebased @saulecabrera |
Member
|
It seems that the list of tests that require AVX needs updating: https://github.com/bytecodealliance/wasmtime/actions/runs/13273954433/job/37059662498 |
354172f to
596bf30
Compare
Contributor
Author
|
it looks good now, but I was unable to find the CI failure the previous time... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements another batch of SIMD instruction for winch x64 backend:
i8x16.max_ui16x8.max_ui32x4.max_ui8x16.max_si16x8.max_si32x4.max_si8x16.min_ui16x8.min_ui32x4.min_ui8x16.min_si16x8.min_si32x4.min_si16x8.extmul_low_i8x16_si16x8.extmul_high_i8x16_si16x8.extmul_low_i8x16_ui16x8.extmul_high_i8x16_ui32x4.extmul_low_i16x8_si32x4.extmul_high_i16x8_si32x4.extmul_low_i16x8_ui32x4.extmul_high_i16x8_ui64x2.extmul_low_i32x4_si64x2.extmul_high_i32x4_si64x2.extmul_low_i32x4_ui64x2.extmul_high_i32x4_ui16x8.extadd_pairwise_i8x16_si16x8.extadd_pairwise_i8x16_ui32x4.extadd_pairwise_i16x8_si32x4.extadd_pairwise_i16x8_uThe add-extend and mul-extend operation are implemented in terms of already existing primitive. This is because almost every single one of those wasm instruction resulted in a special sequence of x64 instruction. While the current implemention emits far from optimal code, it has the advantage of being straighforward. We can always specialize the implementations later.
#8093