]> gcc.gnu.org Git - gcc.git/commitdiff
s390: Fix TARGET_SECONDARY_RELOAD for non-SYMBOL_REFs
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Wed, 13 Mar 2024 10:07:03 +0000 (11:07 +0100)
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Wed, 13 Mar 2024 10:07:03 +0000 (11:07 +0100)
RTX X need not necessarily be a SYMBOL_REF and may e.g. be an
UNSPEC_GOTENT for which SYMBOL_FLAG_NOTALIGN2_P fails.

gcc/ChangeLog:

* config/s390/s390.cc (s390_secondary_reload): Guard
SYMBOL_FLAG_NOTALIGN2_P.

gcc/config/s390/s390.cc

index c857b2028f2e4ba22897c8b9fa572413c903e2af..e63965578f146c083e057ed22d32d5d2c9c27a62 100644 (file)
@@ -4779,7 +4779,7 @@ s390_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
       if (in_p
          && s390_loadrelative_operand_p (x, &symref, &offset)
          && mode == Pmode
-         && !SYMBOL_FLAG_NOTALIGN2_P (symref)
+         && (!SYMBOL_REF_P (symref) || !SYMBOL_FLAG_NOTALIGN2_P (symref))
          && (offset & 1) == 1)
        sri->icode = ((mode == DImode) ? CODE_FOR_reloaddi_larl_odd_addend_z10
                      : CODE_FOR_reloadsi_larl_odd_addend_z10);
This page took 0.078225 seconds and 5 git commands to generate.