From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24713 invoked by alias); 7 Jun 2010 02:20:13 -0000 Received: (qmail 24547 invoked by uid 48); 7 Jun 2010 02:20:00 -0000 Date: Mon, 07 Jun 2010 02:20:00 -0000 Message-ID: <20100607022000.24546.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/44067] internal compiler error: in rs6000_split_multireg_move, at config/rs6000/rs6000.c:16713 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "amodra at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-06/txt/msg00675.txt.bz2 ------- 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