Fusion patterns for add-logical/logical-add
authorAaron Sawdey <acsawdey@linux.ibm.com>
Wed, 3 Mar 2021 00:06:37 +0000 (18:06 -0600)
committerAaron Sawdey <acsawdey@linux.ibm.com>
Mon, 24 May 2021 19:46:59 +0000 (14:46 -0500)
commita8764071f2eb6b4cdc9ecb788dfaa2b095b52598
tree7ead89fbf1460d24b41fd9d6bbfe026419616f60
parentca8cc8273c5646482eedd567288b9f8aa3fb6492
Fusion patterns for add-logical/logical-add

This patch modifies the function in genfusion.pl for generating
the logical-logical patterns so that it can also generate the
add-logical and logical-add patterns which are very similar.

gcc/ChangeLog:
* config/rs6000/genfusion.pl (gen_logical_addsubf): Refactor to
add generation of logical-add and add-logical fusion pairs.
* config/rs6000/rs6000-cpus.def: Add new fusion to ISA 3.1 mask
and powerpc mask.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Turn on
logical-add and add-logical fusion by default.
* config/rs6000/rs6000.opt: Add -mpower10-fusion-logical-add and
-mpower10-fusion-add-logical options.
* config/rs6000/fusion.md: Regenerate file.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/fusion-p10-logadd.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-logadd.c [new file with mode: 0644]