combine patterns for add-add fusion
authorAaron Sawdey <acsawdey@linux.ibm.com>
Tue, 26 Jan 2021 03:11:52 +0000 (21:11 -0600)
committerAaron Sawdey <acsawdey@linux.ibm.com>
Fri, 21 May 2021 21:20:11 +0000 (16:20 -0500)
commit842a05518982a130c8087d9ad6bdc457bec184e3
tree1d29c5a7c8e7b62c2271f1cc08d48d5e54e21e36
parentbdc716235143aafaae1056188fcadacda560303c
combine patterns for add-add fusion

This patch adds a function to genfusion.pl to add a couple
more patterns so combine can do fusion of pairs of add and
vaddudm instructions.

gcc/ChangeLog:

* config/rs6000/genfusion.pl (gen_addadd): New function.
* config/rs6000/fusion.md: Regenerate file.
* config/rs6000/rs6000-cpus.def: Add
OPTION_MASK_P10_FUSION_2ADD to masks.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Handle default value of OPTION_MASK_P10_FUSION_2ADD.
* config/rs6000/rs6000.opt: Add -mpower10-fusion-2add.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/fusion-p10-addadd.c: New file.
gcc/config/rs6000/fusion.md
gcc/config/rs6000/genfusion.pl
gcc/config/rs6000/rs6000-cpus.def
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.opt
gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c [new file with mode: 0644]