(old) | htmldiff from- | (new) |
Increment scalar by countactive ofpredicate trueelement predicate elements.count.
Counts the number of trueactive elements in the source predicate and then uses the result to increment the scalar destination.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | size | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | Pm | Rdn |
if !HaveSVE() then UNDEFINED;
integer esize = 8 << UInt(size);
integer m =integer g = UInt(Pm);
(Pg);
integer dn = UInt(Rdn);
<Xdn> | Is the 64-bit name of the source and destination general-purpose register, encoded in the "Rdn" field. |
<Pm | Is the name of the source |
<T> |
Is the size specifier,
encoded in
size:
|
CheckSVEEnabled();
integer elements = VL DIV esize;
bits(64) operand1 =bits(PL) mask = P[g];
bits(64) operand = X[dn];
bits(PL) operand2 = P[m];
[dn];
integer count = 0;
for e = 0 to elements-1
if ElemP[operand2, e, esize] == '1' then
[mask, e, esize] == '1' then
count = count + 1;
X[dn] = operand1 + count;[dn] = operand + count;
If PSTATE.DIT is 1:
Internal version only: isa v30.44v30.42, AdvSIMD v27.08, pseudocode v8.5-2019-06_rc2-5-g22901f2future-20190403, sve v2019-06_rc4v8.5-00bet10_rc5
; Build timestamp: 2019-06-26T222019-04-17T09:0458
Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.
(old) | htmldiff from- | (new) |