SVE Instruction List by Dougall Johnson
See "WHILEHI (predicate pair)" in the exploration tools

WHILEHI (predicate pair): While decrementing unsigned scalar higher than scalar (pair of predicates)

WHILEHI { Pd1.H, Pd2.H }, Xn, Xm (SVE2.1 (SME2

128-bit SVE

Considering (3) and (4) as a double-length predicate, with the upper bits in (3), set each predicate bit corresponding to a 16-bit elements, from low to high, while (1) − n > (2), with n starting from zero and incrementing each bit. If a comparison fails, all lower predicate bits will also be set to zero.

(1), (2), and offsets computed from (1) are unsigned 64-bit integers.

256-bit SVE

Considering (3) and (4) as a double-length predicate, with the upper bits in (3), set each predicate bit corresponding to a 16-bit elements, from low to high, while (1) − n > (2), with n starting from zero and incrementing each bit. If a comparison fails, all lower predicate bits will also be set to zero.

(1), (2), and offsets computed from (1) are unsigned 64-bit integers.

512-bit SVE

Considering (3) and (4) as a double-length predicate, with the upper bits in (3), set each predicate bit corresponding to a 16-bit elements, from low to high, while (1) − n > (2), with n starting from zero and incrementing each bit. If a comparison fails, all lower predicate bits will also be set to zero.

(1), (2), and offsets computed from (1) are unsigned 64-bit integers.

Larger sizes

1024-bit SVE

Considering (3) and (4) as a double-length predicate, with the upper bits in (3), set each predicate bit corresponding to a 16-bit elements, from low to high, while (1) − n > (2), with n starting from zero and incrementing each bit. If a comparison fails, all lower predicate bits will also be set to zero.

(1), (2), and offsets computed from (1) are unsigned 64-bit integers.

2048-bit SVE

Considering (3) and (4) as a double-length predicate, with the upper bits in (3), set each predicate bit corresponding to a 16-bit elements, from low to high, while (1) − n > (2), with n starting from zero and incrementing each bit. If a comparison fails, all lower predicate bits will also be set to zero.

(1), (2), and offsets computed from (1) are unsigned 64-bit integers.

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