S/390: PR79895: Fix TImode constant handling
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 25 Apr 2017 07:41:41 +0000 (07:41 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 25 Apr 2017 07:41:41 +0000 (07:41 +0000)
commit3cb9ee2f9c10a04a7498be3279897b46669c61dc
tree68d8a15d09edb7899d14406a9af12510a5810f30
parent03db9ab59481e07de0f8b651e6cc5c0f7d26b330
S/390: PR79895: Fix TImode constant handling

The P constraint letter is supposed to match every constant which is
acceptable during reload.  However, constraints do not appear to be
able to handle const_wide_int yet.  It works with predicates so the
alternative is modelled with a new predicate now.

gcc/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/79895
* config/s390/predicates.md (reload_const_wide_int_operand): New
predicate.
* config/s390/s390.md ("movti"): Remove d/P alternative.
("movti_bigconst"): New pattern definition.

gcc/testsuite/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/79895
* gcc.target/s390/pr79895.c: New test.

From-SVN: r247133
gcc/ChangeLog
gcc/config/s390/predicates.md
gcc/config/s390/s390.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/pr79895.c [new file with mode: 0644]