[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