diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82ee9a4c79e..e499e8c7226 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-24 Alan Modra + + PR target/19142 + * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow + DFmode for 32-bit again. + 2004-12-23 Roger Sayle * reload.c (regno_clobbered_p): Add a gcc_assert that regno diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index f0c44a658a0..f368b5f405e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3325,7 +3325,8 @@ legitimate_lo_sum_address_p (enum machine_mode mode, rtx x, int strict) if (GET_MODE_NUNITS (mode) != 1) return false; if (GET_MODE_BITSIZE (mode) > 64 - || (GET_MODE_BITSIZE (mode) > 32 && !TARGET_POWERPC64)) + || (GET_MODE_BITSIZE (mode) > 32 && !TARGET_POWERPC64 + && !(TARGET_HARD_FLOAT && TARGET_FPRS && mode == DFmode))) return false; return CONSTANT_P (x);