[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #12 from bergner at gcc dot gnu dot org 2010-06-09 14:15 --- Subject: Bug 44067 Author: bergner Date: Wed Jun 9 14:15:11 2010 New Revision: 160479 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160479 Log: Backport from mainline: 2010-06-09 Edmar Wienskoski PR target/44067 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for e500v2 target. Modified: branches/ibm/gcc-4_4-branch/gcc/ChangeLog.ibm branches/ibm/gcc-4_4-branch/gcc/config/rs6000/rs6000.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #11 from amodra at gmail dot com 2010-06-09 00:29 --- Fixed -- amodra at gmail dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #10 from amodra at gcc dot gnu dot org 2010-06-09 00:20 --- Subject: Bug 44067 Author: amodra Date: Wed Jun 9 00:20:27 2010 New Revision: 160454 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160454 Log: PR target/44067 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for e500v2 target. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/rs6000/rs6000.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #9 from amodra at gcc dot gnu dot org 2010-06-09 00:16 --- Subject: Bug 44067 Author: amodra Date: Wed Jun 9 00:15:46 2010 New Revision: 160449 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160449 Log: PR target/44067 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for e500v2 target. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #8 from amodra at gmail dot com 2010-06-07 23:33 --- Reassigning since Edmar's identical patch predates mine. -- amodra at gmail dot com changed: What|Removed |Added AssignedTo|amodra at gmail dot com |edmar at freescale dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #7 from bergner at gcc dot gnu dot org 2010-06-07 20:55 --- I'll note that the thread I pointed to in the previous comment mentioned that I thought we should be handling DDmode the same as DFmode (normally we do), but Joseph's post here: http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00270.html shows why we don't want to do that for the e500. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #6 from bergner at gcc dot gnu dot org 2010-06-07 20:50 --- I believe Edmar already bootstrapped and regtested the same patch. http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00346.html -- bergner at gcc dot gnu dot org changed: What|Removed |Added CC||bergner at gcc dot gnu dot ||org URL||http://gcc.gnu.org/ml/gcc- ||patches/2010- ||06/msg00346.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #5 from amodra at gmail dot com 2010-06-07 17:25 --- Created an attachment (id=20859) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20859&action=view) fix pr42427 fallout Would someone with e500 hardware please bootstrap and regression test this patch? I'm running powerpc-linux bootstrap to ensure pr42427 doesn't regress. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #4 from amodra at gmail dot com 2010-06-07 06:57 --- Actually, that's the wrong patch. The correct one stops rs6000_split_multireg_move being called in this case, by modifying define_mode_iterator DIFD in rs6000.md. -- amodra at gmail dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |amodra at gmail dot com |dot org | Status|NEW |ASSIGNED Last reconfirmed|2010-06-07 02:20:00 |2010-06-07 06:57:49 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #3 from gcc at breakpoint dot cc 2010-06-07 04:21 --- Thank you Alan. Trunk and 4.5 branch is affected, the 4.4 branch just built. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- Comment #2 from amodra at gmail dot com 2010-06-07 02:21 --- *** Bug 44419 has been marked as a duplicate of this bug. *** -- amodra at gmail dot com changed: What|Removed |Added CC||edmar at freescale dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067
[Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713
--- 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|-00-00 00:00:00 |2010-06-07 02:20:00 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44067