public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* target/5446: ICE with -O3 on ia64 in verify_local_live_at_start()
@ 2002-01-21 14:06 janis187
  0 siblings, 0 replies; only message in thread
From: janis187 @ 2002-01-21 14:06 UTC (permalink / raw)
  To: gcc-gnats


>Number:         5446
>Category:       target
>Synopsis:       ICE with -O3 on ia64 in verify_local_live_at_start()
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 21 14:06:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Janis Johnson
>Release:        gcc version 3.1 20020120 (experimental)
>Organization:
>Environment:
ia64-unknown-linux; Red Hat Linux release 7.1.94 (Roswell)
plus binutils 2.11.92.0.7
>Description:
This test case, which is a very slightly cut down version
of the test gcc.c-torture/compile/20011219-1.c, causes an
ICE in the current CVS when compiled with -O3 on ia64-linux:
                                                          
elm3a81% gcc-latest -v
Reading specs from /home/build/gcc_mainline/ia64/install/lib/gcc-lib/ia64-unknown-linux/3.1/specs
Configured with: ../../gcc/configure --prefix=/home/build/gcc_mainline/ia64/install
Thread model: single
gcc version 3.1 20020120 (experimental)

elm3a81% gcc-latest -O3 -DTRIM -c bug.c
bug.c: In function `foo':
bug.c:36: Internal compiler error in verify_local_live_at_start, at flow.c:578
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

The original version of the test gets an ICE with
"-O3 -fprefetch-loop-arrays".
>How-To-Repeat:
gcc -O3 -c -DTRIM bug.c
>Fix:
A workaround is to use -O2 rather than -O3.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="bug.c"
Content-Disposition: inline; filename="bug.c"

/* This testcase is the same as gcc.c-torture/compile/20011219-1.c except
   that parts of it can be omitted, causing an ICE with -O3 on IA-64.
   The original test case causes an ICE with -O3 -fprefetch-loop-arrays
   on IA-64.  */

void * baz (unsigned long);
static inline double **
bar (long w, long x, long y, long z)
{
  long i, a = x - w + 1, b = z - y + 1;
  double **m = (double **) baz (sizeof (double *) * (a + 1));

  m += 1;
  m -= w;
  m[w] = (double *) baz (sizeof (double) * (a * b + 1));
#ifndef TRIM
  m[w] += 1;
  m[w] -= y;
#endif
  for (i = w + 1; i <= x; i++)
    m[i] = m[i - 1] + b;
  return m;
}

void
foo (double w[], int x, double y[], double z[])
{
  int i;
  double **a;

  a = bar (1, 50, 1, 50);
#ifndef TRIM
  for (i = 1; i <= x; i++)
    a[1][i] = - w[x - i] / w[x];
#endif
}


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-01-21 22:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-21 14:06 target/5446: ICE with -O3 on ia64 in verify_local_live_at_start() janis187

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).