SVE Instruction List by Dougall Johnson
# WHILEHS (predicate): While decrementing unsigned scalar higher or same as scalar

WHILEHS Pd.H, Xn, Xm (SVE2 (SME

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

## 128-bit SVE

Set each predicate bit in (3) corresponding to a 16-bit elements, from high to low, 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

Set each predicate bit in (3) corresponding to a 16-bit elements, from high to low, 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

Set each predicate bit in (3) corresponding to a 16-bit elements, from high to low, 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

Set each predicate bit in (3) corresponding to a 16-bit elements, from high to low, 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

Set each predicate bit in (3) corresponding to a 16-bit elements, from high to low, 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.