MarinPostma opened PR #10205 from MarinPostma:packed-integer-arithmetic-pt3
to bytecodealliance:main
:
This PR implements another batch of SIMD instruction for winch x64 backend:
i8x16.max_u
i16x8.max_u
i32x4.max_u
i8x16.max_s
i16x8.max_s
i32x4.max_s
i8x16.min_u
i16x8.min_u
i32x4.min_u
i8x16.min_s
i16x8.min_s
i32x4.min_s
i16x8.extmul_low_i8x16_s
i16x8.extmul_high_i8x16_s
i16x8.extmul_low_i8x16_u@MarinPostma
i16x8.extmul_high_i8x16_u
i32x4.extmul_low_i16x8_s
i32x4.extmul_high_i16x8_s
i32x4.extmul_low_i16x8_u
i32x4.extmul_high_i16x8_u
i64x2.extmul_low_i32x4_s
i64x2.extmul_high_i32x4_s
i64x2.extmul_low_i32x4_u
i64x2.extmul_high_i32x4_u
i16x8.extadd_pairwise_i8x16_s
i16x8.extadd_pairwise_i8x16_u
i32x4.extadd_pairwise_i16x8_s
i32x4.extadd_pairwise_i16x8_u
#8093
MarinPostma requested abrown for a review on PR #10205.
MarinPostma requested fitzgen for a review on PR #10205.
MarinPostma requested wasmtime-compiler-reviewers for a review on PR #10205.
MarinPostma requested wasmtime-core-reviewers for a review on PR #10205.
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma edited PR #10205:
This PR implements another batch of SIMD instruction for winch x64 backend:
i8x16.max_u
i16x8.max_u
i32x4.max_u
i8x16.max_s
i16x8.max_s
i32x4.max_s
i8x16.min_u
i16x8.min_u
i32x4.min_u
i8x16.min_s
i16x8.min_s
i32x4.min_s
i16x8.extmul_low_i8x16_s
i16x8.extmul_high_i8x16_s
i16x8.extmul_low_i8x16_u
i16x8.extmul_high_i8x16_u
i32x4.extmul_low_i16x8_s
i32x4.extmul_high_i16x8_s
i32x4.extmul_low_i16x8_u
i32x4.extmul_high_i16x8_u
i64x2.extmul_low_i32x4_s
i64x2.extmul_high_i32x4_s
i64x2.extmul_low_i32x4_u
i64x2.extmul_high_i32x4_u
i16x8.extadd_pairwise_i8x16_s
i16x8.extadd_pairwise_i8x16_u
i32x4.extadd_pairwise_i16x8_s
i32x4.extadd_pairwise_i16x8_u
The 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
github-actions[bot] commented on PR #10205:
Subscribe to Label Action
cc @saulecabrera
<details>
This issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
- saulecabrera: winch
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
saulecabrera commented on PR #10205:
I can grab this one.
saulecabrera requested saulecabrera for a review on PR #10205.
saulecabrera submitted PR review:
LGTM, thanks!
saulecabrera commented on PR #10205:
FYI, there are a couple of conflicts.
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma commented on PR #10205:
rebased @saulecabrera
saulecabrera commented on PR #10205:
It seems that the list of tests that require AVX needs updating: https://github.com/bytecodealliance/wasmtime/actions/runs/13273954433/job/37059662498
MarinPostma updated PR #10205.
MarinPostma updated PR #10205.
MarinPostma commented on PR #10205:
it looks good now, but I was unable to find the CI failure the previous time...
saulecabrera merged PR #10205.
Last updated: Feb 28 2025 at 02:27 UTC