From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 537 invoked by alias); 5 Dec 2009 01:55:29 -0000 Received: (qmail 435 invoked by uid 48); 5 Dec 2009 01:55:11 -0000 Date: Sat, 05 Dec 2009 01:55:00 -0000 Subject: [Bug rtl-optimization/42295] New: ICE: 'error: unable to find a register to spill in class "AREG"' with -fschedule-insns X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "zsojka at seznam dot cz" 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: 2009-12/txt/msg00498.txt.bz2 Command line: for 4.5/trunk: g++-4.5 -O1 -fschedule-insns -fselective-scheduling -o tmp.o testcase-manual.ii -c for 4.4 can be used as well: g++-4.4 -O1 -fschedule-insns -o tmp.o testcase-manual.ii -c Gives (trunk r154953): testcase-manual.ii: In function ‘void testsum(ms*)’: testcase-manual.ii:20:1: error: unable to find a register to spill in class ‘AREG’ testcase-manual.ii:20:1: error: this is the insn: (insn 26 24 27 2 testcase-manual.ii:16 (parallel [ (set (reg:SI 5 di [83]) (div:SI (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (reg:SI 2 cx [85]))) (set (reg:SI 1 dx [84]) (mod:SI (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (reg:SI 2 cx [85]))) (clobber (reg:CC 17 flags)) ]) 352 {*divmodsi4} (expr_list:REG_DEAD (reg:SI 2 cx [85]) (expr_list:REG_DEAD (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (expr_list:REG_UNUSED (reg:SI 1 dx [84]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))))) testcase-manual.ii:20:1: internal compiler error: in spill_failure, at reload1.c:2141 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Tested versions: trunk r154953 crash trunk r154886 crash trunk r154830 crash trunk r153685 crash 4.4 r154975 crash 4.4 r154724 crash 4.4 r154216 crash 4.4.2 (gentoo) crash 4.3.4 4.2.4 4.1.2 3.4.6 3.3.6 (all gentoo) OK Full output: $ /mnt/svn/gcc-trunk/binary-154953-lto/bin/g++ -O1 -fschedule-insns -fselective-scheduling -o tmp.o testcase-manual.ii -c -v Using built-in specs. COLLECT_GCC=/mnt/svn/gcc-trunk/binary-154953-lto/bin/g++ COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-154953-lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --enable-languages=c,c++,lto --prefix=/mnt/svn/gcc-trunk/binary-154953-lto Thread model: posix gcc version 4.5.0 20091203 (experimental) (GCC) COLLECT_GCC_OPTIONS='-O1' '-fschedule-insns' '-fselective-scheduling' '-o' 'tmp.o' '-c' '-v' '-shared-libgcc' '-mtune=generic' /mnt/svn/gcc-trunk/binary-154953-lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus -fpreprocessed testcase-manual.ii -quiet -dumpbase testcase-manual.ii -mtune=generic -auxbase-strip tmp.o -O1 -version -fschedule-insns -fselective-scheduling -o /tmp/ccpvVv5N.s GNU C++ (GCC) version 4.5.0 20091203 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20091203 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.5.0 20091203 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20091203 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4b09d9924550b4f9676aafda3b16134c testcase-manual.ii: In function ‘void testsum(ms*)’: testcase-manual.ii:20:1: error: unable to find a register to spill in class ‘AREG’ testcase-manual.ii:20:1: error: this is the insn: (insn 26 24 27 2 testcase-manual.ii:16 (parallel [ (set (reg:SI 5 di [83]) (div:SI (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (reg:SI 2 cx [85]))) (set (reg:SI 1 dx [84]) (mod:SI (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (reg:SI 2 cx [85]))) (clobber (reg:CC 17 flags)) ]) 352 {*divmodsi4} (expr_list:REG_DEAD (reg:SI 2 cx [85]) (expr_list:REG_DEAD (reg:SI 5 di [orig:82 a_2(D)->n ] [82]) (expr_list:REG_UNUSED (reg:SI 1 dx [84]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))))) testcase-manual.ii:20:1: internal compiler error: in spill_failure, at reload1.c:2141 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. -- Summary: ICE: 'error: unable to find a register to spill in class "AREG"' with -fschedule-insns Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42295