------- 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

Reply via email to