From owner-freebsd-current Wed Oct 23 21:58: 0 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9A2937B401 for ; Wed, 23 Oct 2002 21:57:58 -0700 (PDT) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.FreeBSD.org (Postfix) with ESMTP id 929E843E4A for ; Wed, 23 Oct 2002 21:57:58 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.12.6/8.12.5) with ESMTP id g9O4vweZ003992 for ; Wed, 23 Oct 2002 21:57:58 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.12.6/8.12.6/Submit) id g9O4vwNs003991 for freebsd-current@freebsd.org; Wed, 23 Oct 2002 21:57:58 -0700 (PDT) Date: Wed, 23 Oct 2002 21:57:58 -0700 From: Steve Kargl To: freebsd-current@freebsd.org Subject: Simple code produces ICE in gcc-3.2.1 Message-ID: <20021024045758.GA3936@troutmask.apl.washington.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The code fragment below causes an ICE if k = 1. No ICE occurs if k = 0 or the optimization level is -O0 or -O1. troutmask:kargl[205] gcc -O2 -c c.c c.c: In function `ice': c.c:11: unrecognizable insn: (insn 179 170 188 (set (reg:SI 85) (ashift:SI (reg/v:SI 62) (const_int 1 [0x1]))) -1 (nil) (nil)) c.c:11: Internal compiler error in extract_insn, at recog.c:2150 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. kargl[203] gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.2.1 [FreeBSD] 20021009 (prerelease) -- Steve void ice(int m, int n, double *f) { int i, j, k; /* k = 0; No ICE */ k = 1; /* ICE */ for (j = 0; j < n; j++) { for (i = k; i < m; i++) { f[i] = (double) (i * j); f[i + j] = (double) ((i + 1) * j); } } } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message