This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Simple code produces ICE in gcc-3.2.1


This also happens on a i686-pc-linux-gnu gcc 3.3,
but does not happen on a i686-pc-linux-gnu gcc 3.1.1
so it is a regression report it to the bug system, please.

3.3's version:
gcc version 3.3 20021023 (experimental)



Thanks,
Andrew Pinski

On Wednesday, Oct 23, 2002, at 22:01 US/Pacific, Steve Kargl wrote:

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 <URL:http://www.gnu.org/software/gcc/bugs.html> 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);
        }
    }
}








Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]