aarch64: Use RTL builtins for [su]mlal_n intrinsics
authorJonathan Wright <jonathan.wright@arm.com>
Tue, 26 Jan 2021 23:12:46 +0000 (23:12 +0000)
committerJonathan Wright <jonathan.wright@arm.com>
Thu, 28 Jan 2021 13:12:52 +0000 (13:12 +0000)
commit87301e3956d44ad45e384a8eb16c79029d20213a
tree317238e14cef0a03798c19b8caf7404047611c14
parentaf66f4f1b06f5e0c099dfced2fcf7b1b23fa53e7
aarch64: Use RTL builtins for [su]mlal_n intrinsics

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

gcc/ChangeLog:

2021-01-26  Jonathan Wright  <jonathan.wright@arm.com>

* config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_n
builtin generator macros.
* config/aarch64/aarch64-simd.md (aarch64_<su>mlal_n<mode>):
Define.
* config/aarch64/arm_neon.h (vmlal_n_s16): Use RTL builtin
instead of inline asm.
(vmlal_n_s32): Likewise.
(vmlal_n_u16): Likewise.
(vmlal_n_u32): Likewise.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h