(GO_IF_LEGITIMATE_ADDRESS): Don't allow TFmode LO_SUM.
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 31 Oct 1994 18:26:19 +0000 (10:26 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 31 Oct 1994 18:26:19 +0000 (10:26 -0800)
From-SVN: r8371

gcc/config/sparc/sparc.h

index b5f7d3499cc96f58a1457c57c5954257732bfe4f..674bdd2b373c84cdb0ad605e01cde2d751abbab0 100644 (file)
@@ -1868,7 +1868,11 @@ extern struct rtx_def *sparc_builtin_saveregs ();
       register rtx op0 = XEXP (X, 0);                  \
       register rtx op1 = XEXP (X, 1);                  \
       if (RTX_OK_FOR_BASE_P (op0)                      \
-         && CONSTANT_P (op1))                          \
+         && CONSTANT_P (op1)                           \
+         /* We can't allow TFmode, because an offset   \
+            greater than or equal to the alignment (8) \
+            may cause the LO_SUM to overflow.  */      \
+         && MODE != TFmode)                            \
        goto ADDR;                                      \
     }                                                  \
   else if (GET_CODE (X) == CONST_INT && SMALL_INT (X)) \