SVE Instruction List by Dougall Johnson
COMPACT: Copy Active vector elements to lower-numbered elements
COMPACT Zd.S, Pg, Zn.S (SVE+NS (SME2.2
svfloat32_t svcompact[_f32](svbool_t pg, svfloat32_t op)
svint32_t svcompact[_s32](svbool_t pg, svint32_t op)
svuint32_t svcompact[_u32](svbool_t pg, svuint32_t op)
128-bit SVE

Select the 32-bit lanes from (1) where the corresponding predicate bit in (2) is set, and pack them into low lanes of (3), preserving their order, zeroing any high lanes.
256-bit SVE

Select the 32-bit lanes from (1) where the corresponding predicate bit in (2) is set, and pack them into low lanes of (3), preserving their order, zeroing any high lanes.
512-bit SVE

Select the 32-bit lanes from (1) where the corresponding predicate bit in (2) is set, and pack them into low lanes of (3), preserving their order, zeroing any high lanes.
Larger sizes
1024-bit SVE

Select the 32-bit lanes from (1) where the corresponding predicate bit in (2) is set, and pack them into low lanes of (3), preserving their order, zeroing any high lanes.
2048-bit SVE

Select the 32-bit lanes from (1) where the corresponding predicate bit in (2) is set, and pack them into low lanes of (3), preserving their order, zeroing any high lanes.
Report mistakes or give feedback
Inspired by and based on the x86/x64 SIMD Instruction List by Daytime.