PTEST
Set condition flags for predicate
Sets the First (N), None (Z), !Last (C) condition flags based on the predicate source register, and the V flag to zero.
Green
True
True
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
PTEST <Pg>, <Pn>.B
if !IsFeatureImplemented(FEAT_SVE) && !IsFeatureImplemented(FEAT_SME) then UNDEFINED;
constant integer esize = 8;
constant integer g = UInt(Pg);
constant integer n = UInt(Pn);
<Pg>
Is the name of the governing scalable predicate register, encoded in the "Pg" field.
<Pn>
Is the name of the source scalable predicate register, encoded in the "Pn" field.
CheckSVEEnabled();
constant integer VL = CurrentVL;
constant integer PL = VL DIV 8;
constant bits(PL) mask = P[g, PL];
constant bits(PL) result = P[n, PL];
PSTATE.<N,Z,C,V> = PredTest(mask, result, esize);