aarch64: Use RTL builtins for vpadal_[su]32 intrinsics
authorJonathan Wright <jonathan.wright@arm.com>
Tue, 9 Feb 2021 01:14:00 +0000 (01:14 +0000)
committerJonathan Wright <jonathan.wright@arm.com>
Wed, 28 Apr 2021 20:11:35 +0000 (21:11 +0100)
commit8e7f6e03955244827a513777e4845c98e130319d
tree5c545953cf517140fae1005dca5a53662d621253
parentfa18085a32df06be6e7d899fd804d537c0149baf
aarch64: Use RTL builtins for vpadal_[su]32 intrinsics

Rewrite vpadal_[su]32 Neon intrinsics to use RTL builtins rather than
inline assembly code, allowing for better scheduling and
optimization.

gcc/ChangeLog:

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

* config/aarch64/aarch64-simd-builtins.def: Use VDQV_L
iterator to generate [su]adalp RTL builtins.
* config/aarch64/aarch64-simd.md: Use VDQV_L iterator in
[su]adalp RTL pattern.
* config/aarch64/arm_neon.h (vpadal_s32): Use RTL builtin
instead of inline asm.
(vpadal_u32): Likewise.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h