[PATCH] aarch64: Implement vmlsl[_high]* intrinsics using builtins
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Fri, 15 Jan 2021 17:55:57 +0000 (17:55 +0000)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Fri, 15 Jan 2021 17:55:57 +0000 (17:55 +0000)
commitd3959070aa46635734a9f3ad68ce4d95d1445673
tree649a1c007db9e213bf6a1ba98fdf069aae3b6faa
parent7d0df0aeb67dbb83f7814466e866c2957be92b97
[PATCH] aarch64: Implement vmlsl[_high]* intrinsics using builtins

This patch reimplements some more intrinsics using RTL builtins in the
straightforward way.
Thankfully most of the RTL infrastructure is already in place for it.

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
Rename to...
(aarch64_<su>mlsl_hi<mode>): ... This.
(aarch64_<su>mlsl_hi<mode>): Define.
(*aarch64_<su>mlsl<mode): Rename to...
(aarch64_<su>mlsl<mode): ... This.
* config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
smlsl_hi, umlsl_hi): Define builtins.
* config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
vmlsl_u16, vmlsl_u32): Reimplement with builtins.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h