SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonpoly16x8x2_tvuzpq_p16(poly16x8_t a, poly16x8_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.8H result.val[0]Vd2.8H result.val[1]
This intrinsic compiles to the following instructions:

UZP1 Vd1.8H,Vn.8H,Vm.8H

UZP2 Vd2.8H,Vn.8H,Vm.8H

Argument Preparation
a register: Vn.8Hb register: Vm.8H
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;