SVE Instruction List by Dougall Johnson
# BGRP: Group bits to right or left as selected by bitmask

BGRP Zd.D, Zn.D, Zm.D (SVE2+BitPerm+NS

svuint64_t svbgrp[_u64](svuint64_t op1, svuint64_t op2)

## 128-bit SVE

Within each 64-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 64-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 64-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 64-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 64-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.