aarch64: Use RTL builtins for [su]mlsl_n intrinsics
authorJonathan Wright <jonathan.wright@arm.com>
Wed, 27 Jan 2021 12:23:15 +0000 (12:23 +0000)
committerJonathan Wright <jonathan.wright@arm.com>
Thu, 28 Jan 2021 14:18:17 +0000 (14:18 +0000)
commit8a8e515c2bf1a48117f463a949174c666932711b
treeda3915d826838fa9f1cae97b5ca8e69e085d37b9
parentff119f340e427bd6db8ce66719030fb78a99ded6
aarch64: Use RTL builtins for [su]mlsl_n intrinsics

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

gcc/ChangeLog:

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

* config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_n
builtin generator macros.
* config/aarch64/aarch64-simd.md (aarch64_<su>mlsl_n<mode>):
Define.
* config/aarch64/arm_neon.h (vmlsl_n_s16): Use RTL builtin
instead of inline asm.
(vmlsl_n_s32): Likewise.
(vmlsl_n_u16): Likewise.
(vmlsl_n_u32): Likewise.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h