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.
Look the following implementation of vld1_s16_x2 neon instruction:
godbolt
the return type of
vld1x2.v4i16.p0i16should 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 thevld1_s16_x2instruction.