Hi, I've spotted that our emulation of the behaviour of the vtbx1 and vtbx3 intrinsics is not correct. From time to time we end up with completely the wrong value.
Rather than fix this by rewriting the assembler block I'd rather rewrite vtbx{1,3} in terms of other intrinsics. To do that effectively, I'll need to improve the vbsl intrinsics, so this patch series also does that. But to improve those intrinsics we should really use the new unsigned neon-types system. So we'll need to bug-fix that and then add support for poly types. This patch series does those things in this order: [AArch64] [1/4 Fix vtbx1] Allow signed and unsigned versions of intrinsics to coexist. [AArch64] [2/4 Fix vtbx1] Handle poly types in the new Simd types infrastructure [AArch64] [3/4 Fix vtbx1]Implement bsl intrinsics using builtins [AArch64] [4/4 Fix vtbx1] Handle vtbx{1,3} emulation sequence using other intrinsics Regression tested on aarch64-none-elf with no issues. OK? Thanks, James