------- Comment #4 from hjl dot tools at gmail dot com 2008-07-31 13:16 ------- bash-3.2$ cat /tmp/crtfastmath.i int __get_cpuid (unsigned int __level, unsigned int *__eax, unsigned int *__ebx, unsigned int *__ecx, unsigned int *__edx);
void __attribute__ ((force_align_arg_pointer)) set_fast_math (void) { unsigned int eax, ebx, ecx, edx; if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) return; } bash-3.2$ ../xgcc -B../ -m32 -mtune=i586 -g /tmp/crtfastmath.i -v -S Reading specs from ../specs Target: x86_64-unknown-linux-gnu Configured with: /export/gnu/src/gcc-work/gcc/configure --enable-languages=c --disable-bootstrap --enable-checking=all --prefix=/usr/gcc-4.4-work --with-local-prefix=/usr/local Thread model: posix gcc version 4.4.0 20080731 (experimental) [trunk revision 138402] (GCC) COLLECT_GCC_OPTIONS='-B../' '-m32' '-mtune=i586' '-g' '-v' '-S' ../cc1 -fpreprocessed /tmp/crtfastmath.i -quiet -dumpbase crtfastmath.i -m32 -mtune=i586 -auxbase crtfastmath -g -version -o crtfastmath.s GNU C (GCC) version 4.4.0 20080731 (experimental) [trunk revision 138402] (x86_64-unknown-linux-gnu) compiled by GNU C version 4.3.0 20080428 (Red Hat 4.3.0-8), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=0 --param ggc-min-heapsize=0 Compiler executable checksum: a7c5eaead017286ce06e49733c7672ac /tmp/crtfastmath.i: In function set_fast_math: /tmp/crtfastmath.i:12: internal compiler error: RTL check: expected code 'reg', have 'mem' in rhs_regno, at rtl.h:1005 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. bash-3.2$ Need to configure gcc with RTL check, like --enable-checking=all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36980