This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Any chance of getting K6 code generation fixed in v3.0.1?
- To: <gcc at gcc dot gnu dot org>
- Subject: Any chance of getting K6 code generation fixed in v3.0.1?
- From: steve dot snyder at philips dot com
- Date: Mon, 18 Jun 2001 19:38:12 -0500
- Cc: <tyrant at galeb dot etf dot bg dot ac dot yu>
Hello.
There is an outstanding problem with bad code generation for the AMD K6
architecture. Now that v3.0 is out the door, is there any chance that
this problem can be addressed in v3.0.1?
Please see PR2676 in GNATS ("Illegal loop instruction when using -O2
-march=k6") for a description of this problem. This PR, which was opened
on April 28th, has been left unaddressed. I have confirmed that this bug,
or one very much like it, is present in v3.0 as well.
You can find a testcase in GNATS, so I'll give an overview of what I saw
today with v3.0:
After untarring the source, I performed the following actions, which
resulted in a successful build of the GCC v3.0 compiler:
CFLAGS="-mcpu=i586 -O2" ../gcc-3.0/configure --enable-shared --enable-threads=posix --enable-haifa --disable-checking
make BOOT_CFLAGS="-mcpu=i586 -O2" bootstrap
After the successful build, I performed the following actions (only difference
from config/build above is use of "-mcpu=k6" instead of "-mcpu=i586"):
rm -fR *
CFLAGS="-mcpu=k6 -O2" ../gcc-3.0/configure --enable-shared --enable-threads=posix --enable-haifa --disable-checking
make BOOT_CFLAGS="-mcpu=k6 -O2" bootstrap
This second build failed with the same problem I've seen in the last few
version of RedHat's v2.96 compiler:
./xgcc -B./ -B/usr/local/i586-pc-linux-gnu/bin/ -isystem /usr/local/i586-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -O2 -march=i386 -mcpu=k6 -O2 -isystem ./include -fPIC -g1
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I../../gcc -I../../gcc/config -I../../gcc/../include -DL_muldi3 -c ../../gcc/libgcc2.c -o libgcc/./_muldi3.o
../../gcc/libgcc2.c: In function `__muldi3':
../../gcc/libgcc2.c:199: Internal error: Segmentation fault.
It sure would be nice to get this fixed.
Thank you.