This error only seems to occur when "-O2 -march=k6-2 -ftracer" are used together. Removing -ftracer causes the error to go away. This problem does not seem to exist in the GCC4.0 branch. i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O20 -ffast-math -D_REENTRANT -fsigned-char -march=k6-2 -ftracer -O2 -mno-sse2 -fPIC -DUSE_MEMORY_H -MT psy.lo -MD -MP -MF .deps/psy.Tpo -c psy.c -fPIC -DPIC -o .libs/psy.o -save-temps psy.s: Assembler messages: psy.s:6581: Error: value of ffffffffffffff7f too large for field of 1 bytes at 0000000000000428 gcc -v Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.3-20050110/specs Configured with: /var/tmp/portage/gcc-3.4.3.20050110-r1/work/gcc-3.4.3/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.3-20050110 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.3-20050110/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.3-20050110 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.3-20050110/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.3-20050110/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.3-20050110/include/g++-v3 --host=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --enable-__cxa_atexit --disable-sjlj-exceptions --enable-clocale=gnu --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix Thread model: posix gcc version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r1, ssp-3.4.3.20050110-0, pie-8.7.7)
Created attachment 8461 [details] Preprocessed file for above failure
Confirmed, there might be a testcase for 4.0.0 which can reproduce this too but I don't know of any. Anyways the problem looks like not taking into counting some alignment or something into the length so get the loop instruction but we should not.
Fixed for sure on the mainline for 4.1.0 by removal of the loop instruction: 2005-06-05 Steven Bosscher <stevenb@suse.de> * config/i386/i386.c (x86_use_loop): Remove. * config/i386/i386.h (x86_use_loop): Remove extern decl. (TARGET_USE_LOOP): Remove. * config/i386/i386.md (doloop_end, doloop_end_internal): Remove. Also remove related define_splits.
*** Bug 25574 has been marked as a duplicate of this bug. ***
*** Bug 26856 has been marked as a duplicate of this bug. ***