This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Current CVS trunk on i686 produce new: Unrecognizable insn
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Current CVS trunk on i686 produce new: Unrecognizable insn
- From: Andreas Jaeger <aj at suse dot de>
- Date: Sun, 24 Jun 2001 20:41:46 +0200
- Cc: jh at suse dot cz
Honza,
I've compiled the appended file without problems on Friday. I fear
one of your recent changes broke compilation. I'm appending a
preprocessed and much simplified input file.
Andreas
gromit:/tmp:[1]$ /opt/gcc-3.1-devel/lib/gcc-lib/i686-pc-linux-gnu/3.1/cc1 -fpreprocessed spec.i -quiet -dumpbase spec.c -march=athlon -O2 -version -o spec.s -Wall
GNU CPP version 3.1 20010624 (experimental) (cpplib) (i386 Linux/ELF)
GNU C version 3.1 20010624 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.1 20010624 (experimental).
spec.i: In function `spec_random_load':
spec.i:62: Unrecognizable insn:
(insn 55 54 57 (set (zero_extract:SI (reg:HI 71)
(const_int 8 [0x8])
(const_int 8 [0x8]))
(const_int 12 [0xc])) -1 (insn_list 54 (nil))
(nil))
spec.i:62: Internal compiler error in extract_insn, at recog.c:2173
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
typedef unsigned int size_t;
extern void *memcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n);
int dbglvl = 4;
struct spec_fd_t
{
int limit;
int len;
int pos;
unsigned char *buf;
}
spec_fd[3];
long int seedi;
double
ran ()
{
long lo;
long hi;
long test;
hi = seedi / 127773L;
lo = seedi % 127773L;
test = 16807L * lo - 2836L * hi;
if (test > 0)
{
seedi = test;
}
else
{
seedi = test + 2147483647L;
}
return ((float) seedi / 2147483647L);
}
int
spec_random_load (int fd)
{
int i, j;
char random_text[(32)][(128 * 1024)];
for (i = 0; i < (32); i++)
{
for (j = 0; j < (128 * 1024); j++)
{
random_text[i][j] = (int) (ran () * 256);
}
}
for (i = 0; i < spec_fd[fd].limit; i += (128 * 1024))
{
memcpy (spec_fd[fd].buf + i, random_text[(int) (ran () * (32))],
(128 * 1024));
}
spec_fd[fd].len = 1024 * 1024;
return 0;
}
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj