BSL
Select bits using a mask
Choose each bit from the first data input where the mask is one, and from the second where it is zero.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
BSL Vd.16B,Vn.16B,Vm.16B | 128 | AdvSIMD | — |
Explore the operation
The interactive explorer is loading. The operation and reference details are available below.
Operation#
dst = (mask AND a) OR ((NOT mask) AND b)What to watch for
- Selection happens per bit, not per byte.
- The assembly destination initially holds the mask.
Corresponding intrinsics#
uint8x16_t vbslq_u8( uint8x16_t a, uint8x16_t b, uint8x16_t c)Documented mapping
BSL Vd.16B,Vn.16B,Vm.16B
Architectural details#
- Flags
- NZCV unchanged.
- Destination
- Writes all 128 bits of the selected V destination register.
- Encoding
- Encoding details have not been imported for this form.
- Operands
a -> Vd.16B b -> Vn.16B c -> Vm.16BVdwrite · 128 bits (16 × 8)aread · 128 bits (16 × 8) · unsignedbread · 128 bits (16 × 8) · unsignedcread · 128 bits (16 × 8) · unsigned
- Coverage
- Selected 128-bit AArch64 AdvSIMD (Neon) forms from ACLE. Scalar, other element arrangements, SVE, and SME forms are outside this sample.
Exception information & execution requirements
Complete exception conditions have not been imported.
Availability depends on execution-level controls for AdvSIMD. This ACLE import does not contain an exhaustive architectural exception list.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Arm · advsimd.md
- Revision
3a8fb2b1145b27ba0a9110ed32f3a6cfdad6c002- SHA-256
722dcf758d7a6dbbab54210d55bbce73a6db7691bb4092112375bf096563fd73- Terms
- CC-BY-SA-4.0 AND Apache-Patent-License