aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-10-31 10:26:19 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-10-31 10:26:19 -0800
commit2f0da90602f07493b6512c5b710f46a1f85ae0b4 (patch)
treefca23811023166a1f718cec0201a0052fbfe343f
parentc2e39c12c3ed3b0dd594d2827b245082169643b2 (diff)
downloadgcc-2f0da90602f07493b6512c5b710f46a1f85ae0b4.zip
gcc-2f0da90602f07493b6512c5b710f46a1f85ae0b4.tar.gz
gcc-2f0da90602f07493b6512c5b710f46a1f85ae0b4.tar.bz2
(GO_IF_LEGITIMATE_ADDRESS): Don't allow TFmode LO_SUM.
From-SVN: r8371
-rw-r--r--gcc/config/sparc/sparc.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index b5f7d34..674bdd2 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -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)) \