gen_nop_type aborts because it gets called with TYPE_L. Dropping -frename- registers causes the ICE to go away. $ ./cc1 -fpreprocessed -quiet -O2 -version -frename-registers ia64_mmu_init.c GNU C version 3.3.1 20030728 (prerelease) (ia64-suse-linux) compiled by GNU C version 3.3.1 20030728 (prerelease). GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65536 ia64_mmu_init.c: In function `ia64_mmu_init': ia64_mmu_init.c:61: internal compiler error: in gen_nop_type, at config/ia64/ ia64.c:7006
Created attachment 4495 [details] Testcase
Note this does not fail on the mainline (20030705).
Also in the mainline (20030728), this test does not fail.
This was fixed on the mainline by: 2003-01-09 Vladimir Makarov The following changes are merged from itanium-sched-branch: a lot of changes.
I can confirm this on 3.3.1 (20030714). TYPE_L is not implemented in gen_nop_type (;; L long immediate, takes two syllables).
nop.l does not exist, you rather put a nop.x in the next slot.
The regression in PR 11693 was introduced or exposed with this patch: --- gcc/gcc/ChangeLog --- 2001-08-18 Richard Henderson <rth@redhat.com> * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop bit before asm as needed. The regression hunt used a cross cc1 configured for ia64-linux on i686-pc-linux-gnu and compiled the test case from comment #1 with "-O2 -frename-registers".
Subject: Bug 11693 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: rth@gcc.gnu.org 2003-08-10 21:29:21 Modified files: gcc : ChangeLog gcc/config/ia64: ia64.c Log message: PR target/11693 * config/ia64/ia64.c (ia64_emit_nops): Skip L slots when padding before inline assembly. 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.702&r2=1.16114.2.703 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.198.2.11&r2=1.198.2.12
http://gcc.gnu.org/ml/gcc-patches/2003-08/msg00621.html
Subject: Bug 11693 CVSROOT: /cvs/gcc Module name: gcc Changes by: jakub@gcc.gnu.org 2003-08-11 21:53:58 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.c-torture/execute: 20030811-1.c gcc/testsuite/gcc.dg: 20030811-1.c Log message: PR target/11693 * gcc.dg/20030811-1.c: New test. PR target/11535 * gcc.c-torture/execute/20030811-1.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2966&r2=1.2967 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20030811-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030811-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
Subject: Bug 11693 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_2-rhl8-branch Changes by: jakub@gcc.gnu.org 2003-08-12 14:19:29 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.c-torture/execute: 20030811-1.c gcc/testsuite/gcc.dg: 20030811-1.c Log message: PR target/11693 * gcc.dg/20030811-1.c: New test. PR target/11535 * gcc.c-torture/execute/20030811-1.c: New test. 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.65&r2=1.1672.2.166.2.8.2.66 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20030811-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030811-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.2.1
Subject: Bug 11693 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-rhl-branch Changes by: jakub@gcc.gnu.org 2003-08-12 15:09:47 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.c-torture/execute: 20030811-1.c gcc/testsuite/gcc.dg: 20030811-1.c Log message: PR target/11693 * gcc.dg/20030811-1.c: New test. PR target/11535 * gcc.c-torture/execute/20030811-1.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.30&r2=1.2261.2.170.2.31 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20030811-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.4.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030811-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.4.1