[PATCH] aarch64: Re-implement vabal_high* intrinsics using builtins

Kyrylo Tkachov Kyrylo.Tkachov@arm.com
Fri Jan 29 13:48:20 GMT 2021


Hi all,

This patch reimplements the vabal_high* intrinsics using RTL builtins.
It's straightforward, defining new unspecs and a new pattern.

Bootstrapped and tested on aarch64-none-linux-gnu and aarch64_be-none-elf.

Pushing to master.
Thanks,
Kyrill

gcc/ChangeLog:

	* config/aarch64/aarch64-simd-builtins.def (sabal2): Define builtin.
	(uabal2): Likewise.
	* config/aarch64/aarch64-simd.md (aarch64_<sur>abal2<mode>): New pattern.
	* config/aarch64/aarch64.md (unspec): Add UNSPEC_SABAL2 and UNSPEC_UABAL2.
	* config/aarch64/arm_neon.h (vabal_high_s8): Reimplement using builtin.
	(vabal_high_s16): Likewise.
	(vabal_high_s32): Likewise.
	(vabal_high_u8): Likewise.
	(vabal_high_u16): Likewise.
	(vabal_high_u32): Likewise.
	* config/aarch64/iterators.md (ABAL2): New mode iterator.
	(sur): Handle UNSPEC_SABAL2, UNSPEC_UABAL2.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vabal-hi.patch
Type: application/octet-stream
Size: 6261 bytes
Desc: vabal-hi.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210129/d2887f88/attachment-0001.obj>


More information about the Gcc-patches mailing list