[PATCH] aarch64: Use RTL builtins for [su]mull_high_n intrinsics

Jonathan Wright Jonathan.Wright@arm.com
Thu Feb 4 13:26:05 GMT 2021


Hi,

As subject, this patch rewrites [su]mull_high_n Neon intrinsics to use RTL
builtins rather than inline assembly code, allowing for better scheduling and
optimization.

Regression tested and bootstrapped on aarch64-none-linux-gnu and
aarch64_be-none-elf - no issues.

Ok for master?

Thanks,
Jonathan

---

gcc/ChangeLog:

2021-02-03  Jonathan Wright  <jonathan.wright@arm.com>

	* config/aarch64/aarch64-simd-builtins.def: Add [su]mull_hi_n
	builtin generator macros.
	* config/aarch64/aarch64-simd.md
	(aarch64_<su>mull_hi_n<mode>_insn): Define.
	(aarch64_<su>mull_hi_n<mode>): Define.
	* config/aarch64/arm_neon.h (vmull_high_n_s16): Use RTL builtin
	instead of inline asm.
	(vmull_high_n_s32): Likewise.
	(vmull_high_n_u16): Likewise.
	(vmull_high_n_u32): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rb14118.patch
Type: text/x-patch
Size: 4061 bytes
Desc: rb14118.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210204/59ba26bc/attachment.bin>


More information about the Gcc-patches mailing list