whitequark opened PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
whitequark edited PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
whitequark updated PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
pub(crate) use self::libcall::expand_as_libcall;
whitequark submitted PR Review.
whitequark created PR Review Comment:
Done
whitequark updated PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
abrown submitted PR Review.
abrown created PR Review Comment:
Just a drive-by comment: I'm not too sure this will work. To get the ISA flags I had to add some extra machinery (see https://github.com/bytecodealliance/wasmtime/pull/1759/commits/849d71bdb7bbcc3c6f6975dfb2224e75185dab06)
abrown submitted PR Review.
abrown created PR Review Comment:
whitequark submitted PR Review.
whitequark created PR Review Comment:
Yeah, you're right, it doesn't work. Which PR is that machinery added in?
abrown submitted PR Review.
abrown created PR Review Comment:
#1759, which should be ready to go; @bnjbvr, here's another user for the ISA-specific flag machinery I added.
abrown edited PR Review Comment.
abrown edited PR Review Comment.
abrown submitted PR Review.
abrown created PR Review Comment:
(Oh, sorry, @whitequark, I see you already figured that out below!)
whitequark updated PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
whitequark updated PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
whitequark updated PR #1787 from i64-shift-libcalls
to master
:
These libcalls are useful for 32-bit platforms.
On x86_32 in particular, commit 4ec16fa0 added support for legalizing 64-bit shifts through SIMD operations. However, that legalization requires SIMD to be enabled and SSE 4.1 to be supported, which is not acceptable as a hard requirement.
(Actually, when implementing that commit I didn't yet realize that these shifts ought to be legalized via libcalls rather than expansions most of the time, but the expansions are just fine.)
With this commit it is finally possible to use
cargo run --target i686-unknown-linux-gnu run foo.wasm
without having to add--enable-simd
.
abrown submitted PR Review.
abrown merged PR #1787.
Last updated: Dec 23 2024 at 12:05 UTC