Bug 11693 - [3.3 regression] [ia64] ICE in gen_nop_type
Summary: [3.3 regression] [ia64] ICE in gen_nop_type
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.3.1
: P2 critical
Target Milestone: 3.3.2
Assignee: Richard Henderson
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2003-07-28 13:34 UTC by Andreas Schwab
Modified: 2003-08-10 21:37 UTC (History)
1 user (show)

See Also:
Host: ia64-suse-linux
Target: ia64-suse-linux
Build: ia64-suse-linux
Known to work:
Known to fail:
Last reconfirmed: 2003-08-09 07:15:42


Attachments
Testcase (839 bytes, text/plain)
2003-07-28 13:36 UTC, Andreas Schwab
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schwab 2003-07-28 13:34:51 UTC
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
Comment 1 Andreas Schwab 2003-07-28 13:36:17 UTC
Created attachment 4495 [details]
Testcase
Comment 2 Andrew Pinski 2003-07-28 13:49:43 UTC
Note this does not fail on the mainline (20030705).
Comment 3 Andrew Pinski 2003-07-28 15:34:35 UTC
Also in the mainline (20030728), this test does not fail.
Comment 4 Andrew Pinski 2003-07-28 15:38:04 UTC
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.
Comment 5 Andrew Pinski 2003-07-28 15:56:06 UTC
I can confirm this on 3.3.1 (20030714).
TYPE_L is not implemented in gen_nop_type (;; L long immediate, takes two syllables).
Comment 6 Andreas Schwab 2003-07-28 17:45:06 UTC
nop.l does not exist, you rather put a nop.x in the next slot. 
Comment 7 janis187 2003-08-01 23:19:33 UTC
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".
Comment 8 CVS Commits 2003-08-10 21:29:23 UTC
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

Comment 9 Richard Henderson 2003-08-10 21:37:04 UTC
http://gcc.gnu.org/ml/gcc-patches/2003-08/msg00621.html
Comment 10 CVS Commits 2003-08-11 21:54:04 UTC
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

Comment 11 CVS Commits 2003-08-12 14:19:32 UTC
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

Comment 12 CVS Commits 2003-08-12 15:09:51 UTC
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