diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-06-24 06:41:10 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2015-06-24 06:41:10 +0000 |
commit | 996fcca1ec568bde090772553563f330bfdb6316 (patch) | |
tree | 1199b33983da6c4dfb518365fda3abf6afcddfb6 | |
parent | 920cc6968d3778a196f1495144de13225f408d2f (diff) | |
download | gcc-996fcca1ec568bde090772553563f330bfdb6316.zip gcc-996fcca1ec568bde090772553563f330bfdb6316.tar.gz gcc-996fcca1ec568bde090772553563f330bfdb6316.tar.bz2 |
S/390: Fix s390_secondary_reload register class check.
gcc/ChangeLog:
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_secondary_reload): Fix check for
GENERAL_REGS register class.
From-SVN: r224870
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9a8a90..f05e0ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + * config/s390/s390.c (s390_secondary_reload): Fix check for + GENERAL_REGS register class. + +2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + * config/s390/s390.c (s390_support_vector_misalignment): Call default implementation for !TARGET_VX. diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index b3845f8..cfb3c33 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -4036,7 +4036,7 @@ s390_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i, if (MEM_P (x) && s390_loadrelative_operand_p (XEXP (x, 0), NULL, NULL) && (mode == QImode - || !reg_classes_intersect_p (GENERAL_REGS, rclass) + || !reg_class_subset_p (rclass, GENERAL_REGS) || GET_MODE_SIZE (mode) > UNITS_PER_WORD || !s390_check_symref_alignment (XEXP (x, 0), GET_MODE_SIZE (mode)))) |