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

PFIRST: Set the first active predicate element to true

PFIRST Pdn.B, Pg, Pdn.B (SVE (SME
svbool_t svpfirst[_b](svbool_t pg, svbool_t op)

128-bit SVE

Find the lowest non-zero bit from (1), and set that bit in (3), preserving all other bits from (2). If all bits of (1) are zero, preserve all bits from (2). This operation sets the flags based on the resulting predicate (3), using (1) as the governing predicate.

256-bit SVE

Find the lowest non-zero bit from (1), and set that bit in (3), preserving all other bits from (2). If all bits of (1) are zero, preserve all bits from (2). This operation sets the flags based on the resulting predicate (3), using (1) as the governing predicate.

512-bit SVE

Find the lowest non-zero bit from (1), and set that bit in (3), preserving all other bits from (2). If all bits of (1) are zero, preserve all bits from (2). This operation sets the flags based on the resulting predicate (3), using (1) as the governing predicate.

Larger sizes

1024-bit SVE

Find the lowest non-zero bit from (1), and set that bit in (3), preserving all other bits from (2). If all bits of (1) are zero, preserve all bits from (2). This operation sets the flags based on the resulting predicate (3), using (1) as the governing predicate.

2048-bit SVE

Find the lowest non-zero bit from (1), and set that bit in (3), preserving all other bits from (2). If all bits of (1) are zero, preserve all bits from (2). This operation sets the flags based on the resulting predicate (3), using (1) as the governing predicate.

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