diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82ee9a4c79e0e62aab4c9f667aea7c9a8df33f86..e499e8c7226e05013ee3f087b6d2b83158497555 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-24 Alan Modra <amodra@bigpond.net.au> + + PR target/19142 + * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow + DFmode for 32-bit again. + 2004-12-23 Roger Sayle <roger@eyesopen.com> * 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 f0c44a658a0b208d012ec596930c93da7f5f33f0..f368b5f405e5e25dd72b48c3c212cef1810ffe7f 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);