aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2006-04-05 19:37:42 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2006-04-05 19:37:42 +0000
commit300adfc2dda4d3c1922367bee08c4cc29a5ac80f (patch)
treeeb02a6b33dcbb01c7dbcf35b2277b93f9f2df18a /gcc
parentcf51dca2373420bab52a54f5f807d166860165ed (diff)
downloadgcc-300adfc2dda4d3c1922367bee08c4cc29a5ac80f.zip
gcc-300adfc2dda4d3c1922367bee08c4cc29a5ac80f.tar.gz
gcc-300adfc2dda4d3c1922367bee08c4cc29a5ac80f.tar.bz2
bfin.c (bfin_legitimate_address_p): Disallow got-relative addressing for anything but SImode.
* config/bfin/bfin.c (bfin_legitimate_address_p): Disallow got-relative addressing for anything but SImode. From-SVN: r112718
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/bfin/bfin.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f14ac8..4602174 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
+ got-relative addressing for anything but SImode.
+
2006-04-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26919
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index dfaa567..e4893e8 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -2133,7 +2133,7 @@ bfin_legitimate_address_p (enum machine_mode mode, rtx x, int strict)
case PLUS:
if (REG_P (XEXP (x, 0))
&& bfin_valid_reg_p (REGNO (XEXP (x, 0)), strict, mode, PLUS)
- && (GET_CODE (XEXP (x, 1)) == UNSPEC
+ && ((GET_CODE (XEXP (x, 1)) == UNSPEC && mode == SImode)
|| (GET_CODE (XEXP (x, 1)) == CONST_INT
&& bfin_valid_add (mode, INTVAL (XEXP (x, 1))))))
return true;