SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonuint8x16_tvqmovun_high_s16(uint8x8_t r, int16x8_t a)Move / Saturating narrow
Description
Signed saturating extract Unsigned Narrow. This instruction reads each signed integer value in the vector of the source SIMD&FP register, saturates the value to an unsigned integer value that is half the original width, places the result into a vector, and writes the vector to the lower or upper half of the destination SIMD&FP register. The destination vector elements are half as long as the source vector elements.
Results
Vd.16B result
This intrinsic compiles to the following instructions:

SQXTUN2 Vd.16B,Vn.8H

Argument Preparation
r register: Vd.8Ba register: Vn.8H
Architectures
A64

Operation

CheckFPAdvSIMDEnabled64();
bits(2*datasize) operand = V[n];
bits(datasize) result;
bits(2*esize) element;
boolean sat;

for e = 0 to elements-1
    element = Elem[operand, e, 2*esize];
    (Elem[result, e, esize], sat) = UnsignedSatQ(SInt(element), esize);
    if sat then FPSR.QC = '1';

Vpart[d, part] = result;