dsecurity49 opened PR #14237 from dsecurity49:fix-aarch64-bitselect-i128 to bytecodealliance:main:
Summary
Fixes #5198
Implements the missing ISLE lowering rule for
bitselecton 128-bit scalar integer types (i128) for AArch64 using pair-wise 64-bit word operations (and_reg,bic,orr).Testing
Added
cranelift/filetests/filetests/isa/aarch64/bitselect-i128.clifand verified natively on AArch64 hardware:$ ./target/debug/clif-util test ./cranelift/filetests/filetests/isa/aarch64/bitselect-i128.clif 1 tests
dsecurity49 requested cfallin for a review on PR #14237.
dsecurity49 requested wasmtime-compiler-reviewers for a review on PR #14237.
github-actions[bot] added the label cranelift:area:aarch64 on PR #14237.
github-actions[bot] added the label cranelift on PR #14237.
dsecurity49 edited PR #14237:
Fixes #5198
Add the missing ISLE lowering rule for
bitselectoni128on AArch64, using 64-bit register pair bitwise operations (and,bic,orr). Includes a clif filetest.
:memo: cfallin submitted PR review:
Thanks!
Note that we keep the filetests in the ISA-specific directories as
compiletests, so we assert golden assembly-sequence output, and we have runtests inruntestsshared among all the platforms. Could you (i) make the test in aarch64 a compile-test, withprecise-output, and (ii) find the runtest that tests this in runtests/ and enable it by adding a target line for aarch64?
dsecurity49 updated PR #14237.
dsecurity49 commented on PR #14237:
I've updated the AArch64 specific test to use test compile precise output to lock down the generated assembly sequence, and added target aarch64 to the existing runtests/i128-bitselect.clif runtest.
:thumbs_up: cfallin submitted PR review.
cfallin added PR #14237 aarch64: implement ISLE lowering for bitselect.i128 to the merge queue.
:check: cfallin merged PR #14237.
cfallin removed PR #14237 aarch64: implement ISLE lowering for bitselect.i128 from the merge queue.
Last updated: Sep 20 2026 at 18:08 UTC