alexcrichton opened PR #9215 from alexcrichton:more-mul-opts to bytecodealliance:main:
This commits adds support for more patterns of improved 128-bit
multiplication to the various backends of Cranelift. Notably:
Using
isplitto discard the lower bits of a multiplication maps
directly to instructions on aarch64 and riscv64.Multiplying sign-extended 64-bit halves maps directly to supported
instructions on s390x/riscv64/aarch64 (x86_64 already has these
implemented).This relies on adding a new method to test whether a
Valueis dead and
unused during lowering. While generally not useful this is applicable
for multi-result instructions such asisplitwhere one result may end
up not being used. This also is required because the egraph
optimizations can't currently handle multi-result instructions like
isplitso this can't be optimized toumulhiorsmulhiin CLIF.
alexcrichton requested abrown for a review on PR #9215.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #9215.
abrown submitted PR review.
abrown merged PR #9215.
Last updated: Dec 13 2025 at 19:03 UTC