aarch64: Use RTL builtins for integer mls intrinsics
authorJonathan Wright <jonathan.wright@arm.com>
Mon, 11 Jan 2021 17:52:45 +0000 (17:52 +0000)
committerJonathan Wright <jonathan.wright@arm.com>
Wed, 27 Jan 2021 14:59:08 +0000 (14:59 +0000)
commitd2201ac0df461cb97a0187afc230029a6790b70e
tree0c2ce5adb94d442b6257ecd7822d6924e7ffa541
parenta199da782fc165fd45f42a15cc9020994efd455d
aarch64: Use RTL builtins for integer mls intrinsics

Rewrite integer mls Neon intrinsics to use RTL builtins rather than
inline assembly code, allowing for better scheduling and
optimization.

gcc/Changelog:

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

* config/aarch64/aarch64-simd-builtins.def: Add mls builtin
generator macro.
* config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather
than asm.
(vmls_s16): Likewise.
(vmls_s32): Likewise.
(vmls_u8): Likewise.
(vmls_u16): Likewise.
(vmls_u32): Likewise.
(vmlsq_s8): Likewise.
(vmlsq_s16): Likewise.
(vmlsq_s32): Likewise.
(vmlsq_u8): Likewise.
(vmlsq_u16): Likewise.
(vmlsq_u32): Likewise.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/arm_neon.h