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