SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonuint16_tvaddlvq_u8(uint8x16_t a)Vector arithmetic / Across vector arithmetic / Addition across vector widening
Description
Unsigned sum Long across Vector. This instruction adds every vector element in the source SIMD&FP register together, and writes the scalar result to the destination SIMD&FP register. The destination scalar is twice as long as the source vector elements. All the values in this instruction are unsigned integer values.
Results
Hd result
This intrinsic compiles to the following instructions:

UADDLV Hd,Vn.16B

Argument Preparation
a register: Vn.16B
Architectures
A64

Operation

CheckFPAdvSIMDEnabled64();
bits(datasize) operand = V[n];
integer sum;

sum = Int(Elem[operand, 0, esize], unsigned);
for e = 1 to elements-1
    sum = sum + Int(Elem[operand, e, esize], unsigned);

V[d] = sum<2*esize-1:0>;