alexcrichton requested cfallin for a review on PR #12902.
alexcrichton opened PR #12902 from alexcrichton:aarch64-fix-splat to bytecodealliance:main:
This commit fixes a lowering rule in the aarch64 Cranelift backend. Specifically a combined
splat(ireduce(_))combo would pass an immediate to thesplat_consthelper which had higher bits set since theireducewasn't const-propagated. The fix applied here is to delete theireduce-related rule and rely on mid-end optimizations to trigger to fold theireduce(iconst(...))appropriately. This ensures that theu64values passed into thesplat_construle is indeed the exact value that's being splatted.<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #12902.
github-actions[bot] added the label cranelift:area:aarch64 on PR #12902.
github-actions[bot] added the label cranelift on PR #12902.
cfallin submitted PR review.
cfallin added PR #12902 aarch64: Fix splat(ireduce(iconst(...))) to the merge queue
cfallin removed PR #12902 aarch64: Fix splat(ireduce(iconst(...))) from the merge queue
cfallin merged PR #12902.
Last updated: Apr 12 2026 at 23:10 UTC