diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f14ac8f474a..460217491bf4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-04-05 Bernd Schmidt + + * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow + got-relative addressing for anything but SImode. + 2006-04-05 Richard Guenther PR tree-optimization/26919 diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index dfaa567d65ba..e4893e881726 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;