diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/rs6000/rs6000.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 747c3b2..bae6229 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-04-13 Alan Modra <amodra@bigpond.net.au> + + PR target/26459 + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't + optimize to lo_sum for DFmode if !TARGET_FPRS. + 2006-04-12 Kazu Hirata <kazu@codesourcery.com> * tree-ssa-alias.c (set_initial_properties, init_alias_info, diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 2bc0fd7..0c004a9 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3402,9 +3402,12 @@ rs6000_legitimize_reload_address (rtx x, enum machine_mode mode, && !flag_pic #endif /* Don't do this for TFmode, since the result isn't offsettable. - The same goes for DImode without 64-bit gprs. */ + The same goes for DImode without 64-bit gprs and DFmode + without fprs. */ && mode != TFmode - && (mode != DImode || TARGET_POWERPC64)) + && (mode != DImode || TARGET_POWERPC64) + && (mode != DFmode || TARGET_POWERPC64 + || (TARGET_FPRS && TARGET_HARD_FLOAT))) { #if TARGET_MACHO if (flag_pic) |
