SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonuint32x2x2_tvzip_u32(uint32x2_t a, uint32x2_t b)Vector manipulation / Zip elements
Description
Interleave two vectors. This intrinsic reads corresponding elements from the two source vectors as pairs, interleaves the pairs, and returns the resulting interleaved vector.
Results
Vd1.2S result.val[0]Vd2.2S result.val[1]
This intrinsic compiles to the following instructions:

ZIP1 Vd1.2S,Vn.2S,Vm.2S

ZIP2 Vd2.2S,Vn.2S,Vm.2S

Argument Preparation
a register: Vn.2Sb register: Vm.2S
Architectures
v7, A32, A64

Operation

CheckFPAdvSIMDEnabled64();
bits(datasize) operand1 = V[n];
bits(datasize) operand2 = V[m];
bits(datasize) result;

integer base = part * pairs;

for p = 0 to pairs-1
    Elem[result, 2*p+0, esize] = Elem[operand1, base+p, esize];
    Elem[result, 2*p+1, esize] = Elem[operand2, base+p, esize];

V[d] = result;