From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9651 invoked by alias); 14 Mar 2002 22:26:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 9611 invoked by uid 71); 14 Mar 2002 22:26:02 -0000 Resent-Date: 14 Mar 2002 22:26:02 -0000 Resent-Message-ID: <20020314222602.9610.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, janis187@us.ibm.com Received:(qmail 8468 invoked by uid 61); 14 Mar 2002 22:22:41 -0000 Message-Id:<20020314222241.8465.qmail@sources.redhat.com> Date: Thu, 14 Mar 2002 14:26:00 -0000 From: janis187@us.ibm.com Reply-To: janis187@us.ibm.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: optimization/5968: flow.c ICE compiling 254.gap on ia64 with -O2 -funroll-loops X-SW-Source: 2002-03/txt/msg00483.txt.bz2 List-Id: >Number: 5968 >Category: optimization >Synopsis: flow.c ICE compiling 254.gap on ia64 with -O2 -funroll-loops >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Thu Mar 14 14:26:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Janis Johnson >Release: gcc version 3.1 20020314 (prerelease) >Organization: >Environment: Itanium, Red Hat Linux release 7.1.94 (Roswell) >Description: GCC 3.1 prerelease gets an ICE compiling 254.gap from SPEC CPU2000 with "-O2 -funroll-loops" on ia64-unknown-linux-gnu. Compiler output is: bug.c: In function `f': bug.c:49: Attempt to delete prologue/epilogue insn: (insn 553 551 555 (set (reg:DI 333 ar.lc) (reg:DI 34 r35)) -1 (nil) (nil)) bug.c:49: Internal compiler error in propagate_one_insn, at flow.c:1573 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. This is a regression from GCC 3.0.4. >How-To-Repeat: Compile the test case on ia64 with -O2 -funroll-loops. >Fix: Unknown >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="bug.c" Content-Disposition: inline; filename="bug.c" /* This test case is extracted from file costab.c in 254.gap in SPEC CPU2000. It's been cut down significantly and the names have been changed. The ICE seen when compiling the original file is the same with this version. That ICE occurs with gcc version 3.1 20020314 (prerelease) on ia64-unknown-linux-gnu. From the original file: */ /*************************************************************************** ** *A costab.c GAP source Martin Schoenert *A & Volkmar Felsch ** *Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany ** **************************************************************************** */ struct S {int i;}; typedef struct S * T; extern T Error (const char *); static long lenw; T f (T hdCall) { T * p1; T * p2; T * p3; long n = 10; long leng; long i, j, k = 3; long gen = 0; if ((long)p3[0] != lenw) return Error( "message 1"); if ((long)p3[k] < 0) for ( i = k; i <= leng; i++) p3[i] = (T)(-(long)p3[i]); for (i = 1; i <= n; i++) if ((long)p1[i] <= -i || (long)p1[i] >= i || (long)p2[i] <= -i || (long)p2[i] >= i ) return Error ("message 2"); return (T)gen; }