[Patch 3/4][Aarch64] v2: Implement Aarch64 SIMD ABI

Steve Ellcey sellcey@cavium.com
Thu Nov 8 17:54:00 GMT 2018


This is a patch 3 to support the Aarch64 SIMD ABI [1] in GCC.

It defines a new target hook targetm.remove_extra_call_preserved_regs
that takes a rtx_insn and will remove registers from the register
set passed in if we know that this call preserves those registers.
Aarch64 SIMD functions preserve some registers that normal functions
do not.  The default version of this function will do nothing.

Steve Ellcey
sellcey@cavium.com


2018-11-08  Steve Ellcey  <sellcey@cavium.com>

	* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
	(aarch64_remove_extra_call_preserved_regs): New function.
	(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
	* doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
	* final.c (get_call_reg_set_usage): Call new hook.
	* target.def (remove_extra_call_preserved_regs): New hook.
	* targhooks.c (default_remove_extra_call_preserved_regs): New function.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-remove-extra.patch
Type: text/x-patch
Size: 3809 bytes
Desc: gcc-remove-extra.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20181108/cc040520/attachment.bin>


More information about the Gcc-patches mailing list