aarch64: Use RTL builtins for polynomial vsli[q]_n intrinsics
authorJonathan Wright <jonathan.wright@arm.com>
Wed, 10 Feb 2021 11:39:39 +0000 (11:39 +0000)
committerJonathan Wright <jonathan.wright@arm.com>
Wed, 28 Apr 2021 20:11:58 +0000 (21:11 +0100)
commit6372b05e5b14f27ddce11c28654956c1ad715dac
treed7df4b289a8c77d137f3162c1ee4a9258a6ac6b1
parent8e7f6e03955244827a513777e4845c98e130319d
aarch64: Use RTL builtins for polynomial vsli[q]_n intrinsics

Rewrite vsli[q]_n_p* Neon intrinsics to use RTL builtins rather than
inline assembly code, allowing for better scheduling and
optimization.

gcc/ChangeLog:

2021-02-10  Jonathan Wright  <jonathan.wright@arm.com>

* config/aarch64/aarch64-simd-builtins.def: Use VALLP mode
iterator for polynomial ssli_n builtin generator macro.
* config/aarch64/arm_neon.h (vsli_n_p8): Use RTL builtin
instead of inline asm.
(vsli_n_p16): Likewise.
(vsliq_n_p8): Likewise.
(vsliq_n_p16): Likewise.
* config/aarch64/iterators.md: Define VALLP mode iterator.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/arm_neon.h
gcc/config/aarch64/iterators.md