PTRUE (predicate as counter)
Initialise predicate-as-counter to all active
Set the destination predicate as all-active elements, using the predicate-as-counter encoding.
Green
False
True
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
PTRUE <PNd>.<T>
if !IsFeatureImplemented(FEAT_SME2) && !IsFeatureImplemented(FEAT_SVE2p1) then UNDEFINED;
constant integer esize = 8 << UInt(size);
constant integer d = UInt('1':PNd);
<PNd>
Is the name of the destination scalable predicate register PN8-PN15, with predicate-as-counter encoding, encoded in the "PNd" field.
<T>
Is the size specifier,
size
<T>
00
B
01
H
10
S
11
D
if IsFeatureImplemented(FEAT_SVE2p1) then CheckSVEEnabled(); else CheckStreamingSVEEnabled();
constant integer VL = CurrentVL;
constant integer PL = VL DIV 8;
constant integer elements = VL DIV esize;
constant bits(PL) result = EncodePredCount(esize, elements, elements, FALSE, PL);
P[d, PL] = result;