[PATCH][AArch64] Implement adrp+add fusion

Kyrill Tkachov kyrylo.tkachov@arm.com
Wed Nov 12 16:29:00 GMT 2014


Hi all,

This patch implements fusion of adrp and add instructions that appear in 
RTL as consecutive HIGH and LO_SUM SETs.
This fusion is enabled by default for Cortex-A57 and Cortex-A53.
This depends on the previous macro fusion patch posted at 
https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00956.html


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

Ok for trunk after the prerequisite?

Thanks,
Kyrill

2014-11-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/aarch64/aarch64.c: Include tm-constrs.h
     (AARCH64_FUSE_ADRP_ADD): Define.
     (cortexa57_tunings): Add AARCH64_FUSE_ADRP_ADD to fuseable_ops.
     (cortexa53_tunings): Likewise.
     (aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_ADD.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-adrp-add.patch
Type: text/x-patch
Size: 2971 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20141112/efdbccf8/attachment.bin>


More information about the Gcc-patches mailing list