SVE Instruction List by Dougall Johnson
# WHILELS (predicate): While incrementing unsigned scalar lower or same as scalar

WHILELS Pd.H, Xn, Xm (SVE (SME

svbool_t svwhilele_b16[_u64](uint64_t op1, uint64_t op2)

## 128-bit SVE

Set each predicate bit in (3) 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 higher predicate bits will also be set to zero.

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

## 256-bit SVE

Set each predicate bit in (3) 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 higher predicate bits will also be set to zero.

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

## 512-bit SVE

Set each predicate bit in (3) 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 higher 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

Set each predicate bit in (3) 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 higher predicate bits will also be set to zero.

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

## 2048-bit SVE

Set each predicate bit in (3) 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 higher 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.