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