Bug 10073 - [3.2/3.3 regression]: powerpc cannot split insn while building rscheme
Summary: [3.2/3.3 regression]: powerpc cannot split insn while building rscheme
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.3
: P3 normal
Target Milestone: ---
Assignee: Alan Modra
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2003-03-14 05:16 UTC by rmurray
Modified: 2003-07-25 17:33 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
longint.i.bz2 (17.68 KB, application/octet-stream)
2003-05-21 15:17 UTC, rmurray
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rmurray 2003-03-14 05:16:00 UTC
While building rscheme's stage0/runtime/longint.o, gcc 3.2 and
3.3 ICE with an unable to split instruction error.  gcc version 2.95.4 20011002 (Debian prerelease) builds the same file with the same options without problem.

gcc -g -O2 -O2 -DUSE_HW_REGS -DRS6000_REGS -ffixed-26 -ffixed-25 -ffixed-24 -ffixed-23 -ffixed-22 -ffixed-21 -ffixed-20 -ffixed-19 -ffixed-18 -ffixed-17 -ffixed-16 -ffixed-15 -ffixed-14 -ffixed-13 -DNDEBUG -DINLINES -DGC_MACROS -Wall -Wno-unused -I- -I. -I../install/include   -c -o longint.o longint.c
longint.c: In function `int_64_neg':
longint.c:259: could not split insn
(insn:TI 109 13 88 (set (reg:SI 11 r11)
        (const_int 4294901760 [0xffff0000])) 296 {*movsi_internal1} (insn_list:REG_DEP_ANTI 47 (insn_list:REG_DEP_ANTI 49 (insn_list:REG_DEP_OUTPUT 46 (nil))))
    (nil))
longint.c:259: Internal compiler error in final_scan_insn, at final.c:2622

Release:
3.2.3 20030309 (Debian prerelease), 3.3 20030301 (prerelease)
Comment 1 Alan Modra 2003-03-14 22:54:32 UTC
From: Alan Modra <amodra@bigpond.net.au>
To: rmurray@debian.org
Cc: gcc-gnats@gcc.gnu.org, 184684@bugs.debian.org
Subject: Re: target/10073: [3.2/3.3 regression]: powerpc cannot split insn while building rscheme
Date: Fri, 14 Mar 2003 22:54:32 +1030

 This should fix it.
 
 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
 
 Index: gcc/combine.c
 ===================================================================
 RCS file: /cvs/gcc/gcc/gcc/combine.c,v
 retrieving revision 1.347
 diff -u -p -r1.347 combine.c
 --- gcc/combine.c	8 Mar 2003 01:38:25 -0000	1.347
 +++ gcc/combine.c	14 Mar 2003 12:18:35 -0000
 @@ -7358,7 +7358,8 @@ force_to_mode (x, mode, mask, reg, just_
  	      < GET_MODE_BITSIZE (GET_MODE (x)))
  	  && INTVAL (XEXP (XEXP (x, 0), 1)) < HOST_BITS_PER_WIDE_INT)
  	{
 -	  temp = GEN_INT (mask << INTVAL (XEXP (XEXP (x, 0), 1)));
 +	  temp = gen_int_mode (mask << INTVAL (XEXP (XEXP (x, 0), 1)),
 +			       GET_MODE (x));
  	  temp = gen_binary (XOR, GET_MODE (x), XEXP (XEXP (x, 0), 0), temp);
  	  x = gen_binary (LSHIFTRT, GET_MODE (x), temp, XEXP (XEXP (x, 0), 1));
  
 -- 
 Alan Modra
 IBM OzLabs - Linux Technology Centre

Comment 2 Alan Modra 2003-03-19 01:28:13 UTC
From: amodra@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 19 Mar 2003 01:28:13 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	amodra@gcc.gnu.org	2003-03-19 01:28:13
 
 Modified files:
 	gcc            : ChangeLog combine.c 
 
 Log message:
 	PR target/10073
 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.17137&r2=1.17138
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&r1=1.347&r2=1.348
 

Comment 3 Alan Modra 2003-03-19 01:29:15 UTC
From: amodra@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 19 Mar 2003 01:29:15 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	amodra@gcc.gnu.org	2003-03-19 01:29:15
 
 Modified files:
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/gcc.c-torture/compile: 20030319-1.c 
 
 Log message:
 	PR target/10073
 	* gcc.c-torture/compile/20030319-1.c: New.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2517&r2=1.2518
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030319-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 

Comment 4 Alan Modra 2003-03-19 01:34:53 UTC
From: amodra@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 19 Mar 2003 01:34:53 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_3-branch
 Changes by:	amodra@gcc.gnu.org	2003-03-19 01:34:53
 
 Modified files:
 	gcc            : ChangeLog combine.c 
 
 Log message:
 	PR target/10073
 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.321&r2=1.16114.2.322
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.325.2.6&r2=1.325.2.7
 

Comment 5 Alan Modra 2003-03-19 01:36:23 UTC
From: amodra@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 19 Mar 2003 01:36:23 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_2-branch
 Changes by:	amodra@gcc.gnu.org	2003-03-19 01:36:23
 
 Modified files:
 	gcc            : ChangeLog combine.c 
 
 Log message:
 	PR target/10073
 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.13152.2.657.2.265&r2=1.13152.2.657.2.266
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.267.2.13.2.4&r2=1.267.2.13.2.5
 

Comment 6 Jakub Jelinek 2003-03-20 21:54:30 UTC
From: jakub@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 20 Mar 2003 21:54:30 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_2-rhl8-branch
 Changes by:	jakub@gcc.gnu.org	2003-03-20 21:54:30
 
 Modified files:
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/gcc.c-torture/compile: 20030319-1.c 
 
 Log message:
 	2003-03-19  Alan Modra  <amodra@bigpond.net.au>
 	
 	PR target/10073
 	* gcc.c-torture/compile/20030319-1.c: New.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.1672.2.166.2.8.2.36&r2=1.1672.2.166.2.8.2.37
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030319-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.2.1
 

Comment 7 Jakub Jelinek 2003-05-20 12:52:40 UTC
From: jakub@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: target/10073
Date: 20 May 2003 12:52:40 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_3-rhl-branch
 Changes by:	jakub@gcc.gnu.org	2003-05-20 12:52:40
 
 Modified files:
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/g++.dg/ext: pretty1.C pretty2.C 
 	gcc/testsuite/g++.dg/opt: life1.C reload2.C rtti1.C 
 	gcc/testsuite/gcc.c-torture/compile: 20020129-1.c 20020807-1.c 
 	                                     20021008-1.c 20030220-1.c 
 	                                     20030319-1.c 
 	gcc/testsuite/gcc.c-torture/execute: 20020810-1.c 20020920-1.c 
 	gcc/testsuite/gcc.dg: 20020525-1.c 20020729-1.c 20030217-1.c 
 	                      20030225-2.c 20030405-1.c unroll-1.c 
 	gcc/testsuite/gcc.dg/tls: opt-1.c opt-5.c opt-6.c 
 
 Log message:
 	2003-04-23  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/tls/opt-6.c: New test.
 	
 	2003-04-05  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/20030405-1.c: New test.
 	
 	2003-03-19  Alan Modra  <amodra@bigpond.net.au>
 	
 	PR target/10073
 	* gcc.c-torture/compile/20030319-1.c: New.
 	
 	2003-03-10  Jakub Jelinek  <jakub@redhat.com>
 	
 	* g++.dg/opt/rtti1.C: New test.
 	
 	2003-02-25  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/20030225-2.c: New test.
 	
 	2003-02-20  Randolph Chung  <tausq@debian.org>
 	
 	* gcc.c-torture/compile/20030220-1.c: New test.
 	
 	2003-02-18  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/20030217-1.c: New test.
 	
 	2003-01-29  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.c-torture/compile/20020129-1.c: New test.
 	
 	2003-01-17  Richard Henderson  <rth@redhat.com>
 	
 	* gcc.dg/tls/opt-5.c: New test.
 	
 	2002-12-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
 	
 	* gcc.dg/unroll-1.c: New test.
 	
 	2002-11-16  Jan Hubicka  <jh@suse.cz>
 	
 	* gcc.c-torture/execute/20020920-1.c: New test.
 	
 	2002-10-08  Jakub Jelinek  <jakub@redhat.com>
 	
 	PR target/7434
 	* gcc.c-torture/compile/20021008-1.c: New test.
 	
 	2002-08-10  Gwenole Beauchesne  <gbeauchesne@mandrakesoft.com>
 	
 	PR target/7559
 	* testsuite/gcc.c-torture/execute/20020810-1.c: New test.
 	
 	2002-08-07  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.c-torture/compile/20020807-1.c: New test.
 	
 	2002-07-30  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/tls/opt-1.c: New test.
 	
 	2002-07-29  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/20020729-1.c: New test.
 	
 	2002-07-20  Jakub Jelinek  <jakub@redhat.com>
 	
 	* g++.dg/opt/life1.C: New test.
 	
 	2002-05-20  Jakub Jelinek  <jakub@redhat.com>
 	
 	* gcc.dg/20020525-1.c: New test.
 	
 	2002-05-24  Jakub Jelinek  <jakub@redhat.com>
 	
 	PR c++/6794
 	* g++.dg/ext/pretty1.C: New test.
 	* g++.dg/ext/pretty2.C: New test.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=1.2261.2.170.2.1&r2=1.2261.2.170.2.2
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/pretty1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/pretty2.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/life1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/reload2.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.8.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/rtti1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.4.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20020129-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20020807-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20021008-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030220-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20030319-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.6.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20020810-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20020920-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20020525-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20020729-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030217-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030225-2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030405-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/unroll-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tls/opt-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tls/opt-5.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.12.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tls/opt-6.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.2.2.1