This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
ICE with Athlon tuning in gcc-current-000418
- To: gcc-bugs at gcc dot gnu dot org
- Subject: ICE with Athlon tuning in gcc-current-000418
- From: Andi Kleen <ak at suse dot de>
- Date: Tue, 18 Apr 2000 18:46:39 +0200
- Cc: hubicka at suse dot cz
Got an ICE with gcc-current when the Athlon tuning is turned on
(without -mcpu/arch it works)
-Andi
% gcc -v
Reading specs from /pkg/gcc-current/bin/../lib/gcc-lib/i686-pc-linux-gnu/2.96/specs
gcc version 2.96 20000418 (experimental)
% gcc -mcpu=athlon -march=athlon -O2 -ffast-math -c -O2 test.c
main.c: In function `main':
main.c:71: warning: assignment makes pointer from integer without a cast
main.c:130: Internal compiler error in `gen_reg_rtx', at emit-rtl.c:537
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
typedef int FILE;
typedef unsigned size_t;
#define stdout 0
#define stderr 0
typedef struct {
char outPath[100];
} global_flags;
int main(int argc, char **argv)
{
char testbuffer[16384];
short int Buffer[2][1152];
int iread,itest;
global_flags gf;
FILE *outf;
init(&gf);
if(argc==1) usage(&gf,argv[0]);
parse_args(&gf,argc, argv);
if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (gf.outPath) && __builtin_constant_p ( "-") && (__s1_len = strlen (gf.outPath), __s2_len = strlen ( "-"), (!((size_t)(const void *)((gf.outPath) + 1) - (size_t)(const void *)(gf.outPath) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(( "-") + 1) - (size_t)(const void *)( "-") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (gf.outPath), (__const char *) ( "-"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (gf.outPath) && ((size_t)(const void *)((gf.outPath) + 1) - (size_t)(const void *)(gf.outPath) == 1) && (__s1_len = strlen (gf.outPath), __s1_len < 4) ? (__builtin_constant_p ( "-") && ((size_t)(const void *)(( "-") + 1) - (size_t)(const void *)( "-") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (gf.outPath))[0] - ((__const unsigned char *) (__const char *)( "-"))[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[1] - ((__const unsigned char *) (__const char *) ( "-"))[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[2] - ((__const unsigned char *) (__const char *) ( "-"))[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gf.outPath))[3] - ((__const unsigned char *) (__const char *) ( "-"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ( "-"); register int __result = (((__const unsigned char *) (__const char *) (gf.outPath))[0] - __s2[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[1] - __s2[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[2] - __s2[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gf.outPath))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "-") && ((size_t)(const void *)(( "-") + 1) - (size_t)(const void *)( "-") == 1) && (__s2_len = strlen ( "-"), __s2_len < 4) ? (__builtin_constant_p (gf.outPath) && ((size_t)(const void *)((gf.outPath) + 1) - (size_t)(const void *)(gf.outPath) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (gf.outPath))[0] - ((__const unsigned char *) (__const char *)( "-"))[0]); if ( __s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[1] - ((__const unsigned char *) (__const char *) ( "-"))[1]); if ( __s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gf.outPath))[2] - ((__const unsigned char *) (__const char *) ( "-"))[2]); if ( __s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gf.outPath))[3] - ((__const unsigned char *) (__const char *) ( "-"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (gf.outPath); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ( "-"))[0]; if ( __s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ( "-"))[1]); if ( __s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ( "-"))[2]); if ( __s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ( "-"))[3]); } } __result; }))) : strcmp (gf.outPath, "-")))); })) {
# 69 "main.c"
outf = stdout;
} else {
if ((outf = fopen(gf.outPath, "wb")) == ((void *)0)) {
fprintf(stderr,"Could not create \"%s\".\n", gf.outPath);
exit(1);
}
}
init_infile(&gf);
init_params(&gf);
print_config(&gf);
{
do {
iread=readframe(&gf,Buffer);
if (16384 < 1.25*iread + 7200)
fprintf(stderr,"test buffer is not big enough. \n");
itest=encode_buffer(&gf,Buffer[0],Buffer[1],iread,
testbuffer,(int)sizeof(testbuffer));
fwrite(testbuffer,1,itest,outf);
} while (iread);
}
itest=encode_finish(&gf,testbuffer,(int)sizeof(testbuffer));
fwrite(testbuffer,1,itest,outf);
fclose(outf);
close_infile(&gf);
test_tags(&gf);
return 0;
}