[PATCH] aarch64: Model zero-high-half semantics of ADDHN/SUBHN instructions

Jonathan Wright Jonathan.Wright@arm.com
Tue Jun 15 10:02:08 GMT 2021


Hi,

As subject, this patch models the zero-high-half semantics of the
narrowing arithmetic Neon instructions in the
aarch64_<sur><addsub>hn<mode> RTL pattern. Modeling these
semantics allows for better RTL combinations while also removing
some register allocation issues as the compiler now knows that the
operation is totally destructive.

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

Ok for master?

Thanks,
Jonathan

---

gcc/ChangeLog:

2021-06-14  Jonathan Wright  <jonathan.wright@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_<sur><addsub>hn<mode>):
	Change to an expander that emits the correct instruction
	depending on endianness.
	(aarch64_<sur><addsub>hn<mode>_insn_le): Define.
	(aarch64_<sur><addsub>hn<mode>_insn_be): Define.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rb14566.patch
Type: application/octet-stream
Size: 2615 bytes
Desc: rb14566.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210615/905bb732/attachment-0001.obj>


More information about the Gcc-patches mailing list