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

PTRUES: Initialise predicate from named constraint and set the condition flags

PTRUES Pd.S{, pattern} (SVE (SME

128-bit SVE

If the constraint (pattern) can be satisfied, set the low predicate bits of (1) corresponding to 32-bit elements that match the constraint, zeroing all other bits. If the constraint cannot be satisfied, zero all bits of (1). If pattern is omitted, the ALL constraint is used.

The flags are set based on the resulting predicate, using the resulting predicate itself to indicate active lanes. If the constraint can be satisfied, FIRST and LAST will be true and NONE will be false. Otherwise, FIRST and LAST will be false and NONE will be true.

On 128-bit SVE, the following predicate bits of (1) corresponding to 32-bit elements are set:

256-bit SVE

If the constraint (pattern) can be satisfied, set the low predicate bits of (1) corresponding to 32-bit elements that match the constraint, zeroing all other bits. If the constraint cannot be satisfied, zero all bits of (1). If pattern is omitted, the ALL constraint is used.

The flags are set based on the resulting predicate, using the resulting predicate itself to indicate active lanes. If the constraint can be satisfied, FIRST and LAST will be true and NONE will be false. Otherwise, FIRST and LAST will be false and NONE will be true.

On 256-bit SVE, the following predicate bits of (1) corresponding to 32-bit elements are set:

512-bit SVE

If the constraint (pattern) can be satisfied, set the low predicate bits of (1) corresponding to 32-bit elements that match the constraint, zeroing all other bits. If the constraint cannot be satisfied, zero all bits of (1). If pattern is omitted, the ALL constraint is used.

The flags are set based on the resulting predicate, using the resulting predicate itself to indicate active lanes. If the constraint can be satisfied, FIRST and LAST will be true and NONE will be false. Otherwise, FIRST and LAST will be false and NONE will be true.

On 512-bit SVE, the following predicate bits of (1) corresponding to 32-bit elements are set:


Larger sizes

1024-bit SVE

If the constraint (pattern) can be satisfied, set the low predicate bits of (1) corresponding to 32-bit elements that match the constraint, zeroing all other bits. If the constraint cannot be satisfied, zero all bits of (1). If pattern is omitted, the ALL constraint is used.

The flags are set based on the resulting predicate, using the resulting predicate itself to indicate active lanes. If the constraint can be satisfied, FIRST and LAST will be true and NONE will be false. Otherwise, FIRST and LAST will be false and NONE will be true.

On 1024-bit SVE, the following predicate bits of (1) corresponding to 32-bit elements are set:

2048-bit SVE

If the constraint (pattern) can be satisfied, set the low predicate bits of (1) corresponding to 32-bit elements that match the constraint, zeroing all other bits. If the constraint cannot be satisfied, zero all bits of (1). If pattern is omitted, the ALL constraint is used.

The flags are set based on the resulting predicate, using the resulting predicate itself to indicate active lanes. If the constraint can be satisfied, FIRST and LAST will be true and NONE will be false. Otherwise, FIRST and LAST will be false and NONE will be true.

On 2048-bit SVE, the following predicate bits of (1) corresponding to 32-bit elements are set:


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