SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonuint16x4x2_tvuzp_u16(uint16x4_t a, uint16x4_t b)Vector manipulation / Unzip elements
Description
Unzip vectors (secondary). This instruction reads corresponding odd-numbered vector elements from the two source SIMD&FP registers, places the result from the first source register into consecutive elements in the lower half of a vector, and the result from the second source register into consecutive elements in the upper half of a vector, and writes the vector to the destination SIMD&FP register.
Results
Vd1.4H result.val[0]Vd2.4H result.val[1]
This intrinsic compiles to the following instructions:

UZP1 Vd1.4H,Vn.4H,Vm.4H

UZP2 Vd2.4H,Vn.4H,Vm.4H

Argument Preparation
a register: Vn.4Hb register: Vm.4H
Architectures
v7, A32, A64

Operation

CheckFPAdvSIMDEnabled64();
bits(datasize) operandl = V[n];
bits(datasize) operandh = V[m];
bits(datasize) result;

bits(datasize*2) zipped = operandh:operandl;
for e = 0 to elements-1
    Elem[result, e, esize] = Elem[zipped, 2*e+part, esize];

V[d] = result;