diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2006-04-05 19:37:42 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2006-04-05 19:37:42 +0000 |
commit | 300adfc2dda4d3c1922367bee08c4cc29a5ac80f (patch) | |
tree | eb02a6b33dcbb01c7dbcf35b2277b93f9f2df18a | |
parent | cf51dca2373420bab52a54f5f807d166860165ed (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.c | 2 |
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; |