aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-06-24 06:41:10 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2015-06-24 06:41:10 +0000
commit996fcca1ec568bde090772553563f330bfdb6316 (patch)
tree1199b33983da6c4dfb518365fda3abf6afcddfb6
parent920cc6968d3778a196f1495144de13225f408d2f (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/s390/s390.c2
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))))