Look the following implementation of vld1_s16_x2 neon instruction:
godbolt
the return type of vld1x2.v4i16.p0i16 should be {<4 x i16>, <4 x i16>}
But if we do a similar implementation in rust:
gotbolt
llvm will change the return type to the wrong [ 2 x <i8 x 8> ]. As a result, we cannot implement the vld1_s16_x2 instruction.