diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 747c3b2c4d7..bae62293f8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-04-13 Alan Modra + + 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 * 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 2bc0fd7ebcd..0c004a98262 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)