------- Comment #1 from amodra at gmail dot com 2010-06-07 02:19 ------- First testcase in pr44364 tickles this bug on mainline too. Looks like we need the following.
Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 160351) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -17013,7 +17013,7 @@ rs6000_split_multireg_move (rtx dst, rtx ((TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT) ? DFmode : SFmode); else if (ALTIVEC_REGNO_P (reg)) reg_mode = V16QImode; - else if (TARGET_E500_DOUBLE && mode == TFmode) + else if (TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode)) reg_mode = DFmode; else reg_mode = word_mode; -- amodra at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-06-07 02:20:00 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067