SVE Instruction List by Dougall Johnson
See "BGRP" in the exploration tools

BGRP: Group bits to right or left as selected by bitmask

BGRP Zd.H, Zn.H, Zm.H (SVE2+BitPerm+NS
svuint16_t svbgrp[_u16](svuint16_t op1, svuint16_t op2)

128-bit SVE

Within each 16-bit lane, group bits from (1) at positions indicated by the non-zero bits from (2) into the least-significant bits of (3), and group bits from (1) at positions indicated by the zero bits from (2) into the most-significant bits of (3). The order of the bits is preserved.

256-bit SVE

Within each 16-bit lane, group bits from (1) at positions indicated by the non-zero bits from (2) into the least-significant bits of (3), and group bits from (1) at positions indicated by the zero bits from (2) into the most-significant bits of (3). The order of the bits is preserved.

512-bit SVE

Within each 16-bit lane, group bits from (1) at positions indicated by the non-zero bits from (2) into the least-significant bits of (3), and group bits from (1) at positions indicated by the zero bits from (2) into the most-significant bits of (3). The order of the bits is preserved.

Larger sizes

1024-bit SVE

Within each 16-bit lane, group bits from (1) at positions indicated by the non-zero bits from (2) into the least-significant bits of (3), and group bits from (1) at positions indicated by the zero bits from (2) into the most-significant bits of (3). The order of the bits is preserved.

2048-bit SVE

Within each 16-bit lane, group bits from (1) at positions indicated by the non-zero bits from (2) into the least-significant bits of (3), and group bits from (1) at positions indicated by the zero bits from (2) into the most-significant bits of (3). The order of the bits is preserved.

Report mistakes or give feedback
Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.