------- Additional Comments From osv at javad dot ru 2005-06-22 16:00 ------- Reproducible on 4.1.0 (mainline) by adding -ffast-math to the command-line:
$ ppc-eabi-gcc -v -msdata=default -ffast-math -c test.cc -o test.o Using built-in specs. Target: ppc-eabi Configured with: ../../gcc/configure --prefix=/home/osv/try/ppc-rtems/tools --target=ppc-eabi --disable-haifa --disable-newlib-hw-fp --with-gnu-as --with-gnu-ld -with-newlib --with-cpu=505 Thread model: single gcc version 4.1.0 20050620 (experimental) /home/osv/try/ppc-rtems/tools/libexec/gcc/ppc-eabi/4.1.0/cc1plus -quiet -v test.cc -quiet -dumpbase test.cc -msdata=default -mcpu=505 -auxbase-strip test.o -version -ffast-math -o /tmp/ccM8Vbir.s ignoring nonexistent directory "/home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/../../../../ppc-eabi/sys-include" #include "..." search starts here: #include <...> search starts here: /home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/../../../../include/c++/4.1.0 /home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/../../../../include/c++/4.1.0/ppc-eabi /home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/../../../../include/c++/4.1.0/backward /home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/include /home/osv/try/ppc-rtems/tools/lib/gcc/ppc-eabi/4.1.0/../../../../ppc-eabi/include End of search list. GNU C++ version 4.1.0 20050620 (experimental) (ppc-eabi) compiled by GNU C version 2.95.4 20011002 (Debian prerelease). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 53cb6b81161433cf05f625e722038621 test.cc: In function 'void foo()': test.cc:2: internal compiler error: in find_addr_reg, at config/rs6000/rs6000.c:16845 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Compilation exited abnormally with code 1 at Wed Jun 22 19:58:09 In case it helps to debug the problem, here is the insn that causes the ICE: (insn 9 32 10 (set (mem/i:DF (symbol_ref:SI ("zero") [flags 0x6] <var_decl 0x401dcf68 zero>) [0 zero+0 S8 A64]) (reg:DF 9 %r9 [118])) 350 {*movdf_hardfloat32} (nil) (nil)) ... and here is stack backtrace: #0 fancy_abort (file=0x89c7b60 "../../../gcc/gcc/config/rs6000/rs6000.c", line=16845, function=0x89cefcd "find_addr_reg") at ../../../gcc/gcc/diagnostic.c:588 #1 0x08727607 in find_addr_reg (addr=0x40143e60) at ../../../gcc/gcc/config/rs6000/rs6000.c:16845 #2 0x08541701 in output_350 (operands=0x8a011a0, insn=0x401bf140) at ../../../gcc/gcc/config/rs6000/rs6000.md:7726 #3 0x08457c69 in get_insn_template (code=350, insn=0x401bf140) at ../../../gcc/gcc/final.c:1584 #4 0x08458c65 in final_scan_insn (insn=0x401bf140, file=0x8a7cc38, optimize=0, nopeepholes=0, seen=0xbfffe690) at ../../../gcc/gcc/final.c:2385 #5 0x08457b85 in final (first=0x401bc200, file=0x8a7cc38, optimize=0) at ../../../gcc/gcc/final.c:1569 #6 0x086c916c in rest_of_handle_final () at ../../../gcc/gcc/passes.c:293 #7 0x086cbb26 in rest_of_compilation () at ../../../gcc/gcc/passes.c:1747 #8 0x08275f83 in execute_one_pass (pass=0x89ea220) at ../../../gcc/gcc/tree-optimize.c:629 #9 0x0827608c in execute_pass_list (pass=0x89ea220) at ../../../gcc/gcc/tree-optimize.c:666 #10 0x08276600 in tree_rest_of_compilation (fndecl=0x401de074) at ../../../gcc/gcc/tree-optimize.c:829 #11 0x0819a260 in expand_body (fn=0x401de074) at ../../../gcc/gcc/cp/semantics.c:3018 #12 0x0872f12e in cgraph_expand_function (node=0x401de414) at ../../../gcc/gcc/cgraphunit.c:968 #13 0x0872f3c4 in cgraph_expand_all_functions () at ../../../gcc/gcc/cgraphunit.c:1034 #14 0x0872f9a0 in cgraph_optimize () at ../../../gcc/gcc/cgraphunit.c:1168 #15 0x08119d72 in cp_finish_file () at ../../../gcc/gcc/cp/decl2.c:3104 #16 0x08049d3f in finish_file () at ../../../gcc/gcc/cp/cp-lang.c:113 #17 0x08239dad in c_common_parse_file (set_yydebug=0) at ../../../gcc/gcc/c-opts.c:1119 #18 0x0867e3e3 in compile_file () at ../../../gcc/gcc/toplev.c:966 #19 0x0867fb58 in do_compile () at ../../../gcc/gcc/toplev.c:1902 #20 0x0867fbc5 in toplev_main (argc=16, argv=0xbfffea14) at ../../../gcc/gcc/toplev.c:1934 #21 0x08247e96 in main (argc=16, argv=0xbfffea14) at ../../../gcc/gcc/main.c:35 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21571