S/390: Add splitter for "and" with complement.
authorDominik Vogt <vogt@linux.vnet.ibm.com>
Tue, 23 Aug 2016 09:01:42 +0000 (09:01 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 23 Aug 2016 09:01:42 +0000 (09:01 +0000)
commitdeb9351fafe1032ced16f9608068f65930e06841
treef500d077aa5fb6b297c28e717a86ed721f7cfbc5
parent1fd9f058f37ba4c17cd34e961fe4879e7dd7e3bc
S/390: Add splitter for "and" with complement.

Split ~b & a to (b & a) ^ a.  This is benefitial on z Systems since we
otherwise need a big -1 constant to be loaded for the ~b.

gcc/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.md ("*andc_split"): New splitter for and with
complement.

gcc/testsuite/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/andc-splitter-1.c: New test case.
* gcc.target/s390/md/andc-splitter-2.c: Likewise.

From-SVN: r239685
gcc/ChangeLog
gcc/config/s390/s390.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/md/andc-splitter-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/md/andc-splitter-2.c [new file with mode: 0644]