[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #3 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-07 17:54 --- This also affects (at least) the AMD Geode LX series of processors, used e.g. in the OLPC XO-1 (i.e. a large number of computers). o...@debxo:~$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 10 model name : Geode(TM) Integrated Processor by AMD PCS stepping: 2 cpu MHz : 431.233 cache size : 128 KB fdiv_bug: no hlt_bug : no f00f_bug: no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow bogomips: 863.85 clflush size: 32 -- sascha-web-gcc dot gnu dot org at silbe dot org changed: What|Removed |Added CC||sascha-web-gcc dot gnu dot ||org at silbe dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #4 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-07 18:00 --- Seems like the relogin required because of NAT IP address change garbled the text. Here it is again, hopefully properly formatted now: This also affects (at least) the AMD Geode LX series of processors, used e.g. in the OLPC XO-1 (i.e. a large number of computers). o...@debxo:~$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 10 model name : Geode(TM) Integrated Processor by AMD PCS stepping: 2 cpu MHz : 431.233 cache size : 128 KB fdiv_bug: no hlt_bug : no f00f_bug: no coma_bug: no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow bogomips: 863.85 clflush size: 32 -- sascha-web-gcc dot gnu dot org at silbe dot org changed: What|Removed |Added GCC host triplet|vortex86-pc-linux | Known to fail||4.3.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #6 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-10 10:07 --- > /* X86_TUNE_USE_FFREEP */ > m_AMD_MULTIPLE, Without having dug into the source, I'd guess that this is the exact location of the bug. > #define m_AMD_MULTIPLE (m_K8 | m_ATHLON | m_AMDFAM10) If AMDFAM10 is the AMD Geode series of processors and all of them don't support ffreep (needs checking), then the above line should read /* X86_TUNE_USE_FFREEP */ (m_K8 | m_ATHLON), instead. The bug indeed seems only to happen for -march=native (haven't tested anything besides native yet), BTW. I.e. if you don't specify an architecture at all, ffreep won't get issued. -- sascha-web-gcc dot gnu dot org at silbe dot org changed: What|Removed |Added GCC build triplet|vortex86-pc-linux | GCC target triplet|vortex86-pc-linux | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #8 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-10 17:12 --- > Can you send the output of "gcc -march=native -v"? It looks that the driver > doesn't detect correctly the type of your CPU. === Begin === Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-3' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.3.3 (Debian 4.3.3-3) === End === > BTW: -march=geode should work OK. Will try that, thanks! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #10 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-10 18:05 --- Here you go: o...@debxo:~$ gcc -march=native -### hello.c Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-3' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.3.3 (Debian 4.3.3-3) COLLECT_GCC_OPTIONS= "/usr/lib/gcc/i486-linux-gnu/4.3.3/cc1" "-quiet" "hello.c" "-march=athlon" "--param" "l1-cache-size=64" "--param" "l1-cache-line-size=32" "-mtune=athlon" "-quiet" "-dumpbase" "hello.c" "-auxbase" "hello" "-o" "/tmp/ccRiDtte.s" COLLECT_GCC_OPTIONS= "as" "-Qy" "-o" "/tmp/ccIqPlGi.o" "/tmp/ccRiDtte.s" COMPILER_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS= "/usr/lib/gcc/i486-linux-gnu/4.3.3/collect2" "--eh-frame-hdr" "-m" "elf_i386" "--hash-style=both" "-dynamic-linker" "/lib/ld-linux.so.2" "/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o" "/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o" "/usr/lib/gcc/i486-linux-gnu/4.3.3/crtbegin.o" "-L/usr/lib/gcc/i486-linux-gnu/4.3.3" "-L/usr/lib/gcc/i486-linux-gnu/4.3.3" "-L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib" "-L/lib/../lib" "-L/usr/lib/../lib" "-L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.." "/tmp/ccIqPlGi.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/gcc/i486-linux-gnu/4.3.3/crtend.o" "/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o" o...@debxo:~$ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/37179] gcc emits bad opcode 'ffreep'
--- Comment #12 from sascha-web-gcc dot gnu dot org at silbe dot org 2009-05-10 21:21 --- "Geode by NSC" seems to be the "original" Geode series developed by National Semiconductor. According to Wikipedia [1], AMD bought the Geode "business", released the original design as "GX series" as well as a GX-derived "LX series" and an Athlon-derived "NX series". My guess is that GX and LX lack ffreep, but NX does support it (because it's derived from the Athlon core). Unfortunately, unlike the LX series datasheet, the NX series one doesn't include an instruction listing, so I cannot verify this assumption. PS: -march=geode seems to be working fine (no SIGILL so far), thanks! [1] http://en.wikipedia.org/wiki/Geode_(processor) [2] http://www.amd.com/files/connectivitysolutions/geode/geode_nx/31177H_nx_databook.pdf -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37179
[Bug target/31644] [avr] can't find a register in class 'BASE_POINTER_REGS' while reloading 'asm'
--- Comment #7 from sascha-web-gcc dot gnu dot org at silbe dot org 2008-01-08 19:29 --- Created an attachment (id=14902) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14902&action=view) another asm code block triggering the error Just been hit by this after upgrading to Ubuntu gutsy (avr-gcc 4.1.0). Custom asm snippet triggering the error (does NOT use movhi) is attached. This compiled fine previously. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31644