SVE Instruction List by Dougall Johnson
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.