This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[AArch64] [0/4 Fix vtbx1] Fix behaviour of vtbx{1,3} intrinsics


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]