This testcase (extracted from gcc.dg/builtins-32.c): ------------------------------------------------------------------------------- int signbitl (long double);
int testl (long double x) { return signbitl(x); } ------------------------------------------------------------------------------- fails on following configuration: Compiler version: 4.1.0 20050311(experimental) Platform: x86_64-unknown-linux-gnu configure flags: --prefix=/home/ssb/gcc4 --enable-checking=assert,gc,misc,rtlflag,rtl,tree --disable-werror --e nable-languages=c,ada,c++,f95,java,objc,treelang $ ./cc1 bug.c -O1 -quiet bug.c: In function ‘testl’: bug.c:5: internal compiler error: in gen_lowpart_general, at rtlhooks.c:58 backtrace: ------------------------------------------------------------------------------- Breakpoint 1, fancy_abort (file=0xb4b3a8 "../../gcc/gcc/rtlhooks.c", line=58, function=0xc93930 "gen_lowpart_general") at ../../gcc/gcc/diagnostic.c:558 558 { (gdb) bt #0 fancy_abort (file=0xb4b3a8 "../../gcc/gcc/rtlhooks.c", line=58, function=0xc93930 "gen_lowpart_general") at ../../gcc/gcc/diagnostic.c:558 #1 0x000000000091bf14 in gen_lowpart_general (mode=Variable "mode" is not available. ) at ../../gcc/gcc/rtlhooks.c:58 #2 0x0000000000518ef5 in expand_builtin_signbit (exp=Variable "exp" is not available. ) at ../../gcc/gcc/builtins.c:5024 #3 0x000000000051f71b in expand_builtin (exp=0x2aaaaaf4e8c0, target=0x2aaaaaf4d400, subtarget=0x0, mode=SImode, ignore=0) at ../../gcc/gcc/builtins.c:5671 #4 0x00000000005c8f4b in expand_expr_real_1 (exp=0x2aaaaaf4e8c0, target=0x2aaaab10f2e0, tmode=Variable "tmode" is not available. ) at ../../gcc/gcc/expr.c:7304 #5 0x00000000005cf5d5 in expand_expr_real (exp=0x2aaaaaf4e8c0, target=0x2aaaab10f2e0, tmode=SImode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at ../../gcc/gcc/expr.c:6380 #6 0x00000000008e472a in expand_return (retval=0x2aaaaaf4e9b0) at expr.h:482 #7 0x00000000005c6910 in expand_expr_real_1 (exp=0x2aaaab10a040, target=0x2aaaaaf4d400, tmode=Variable "tmode" is not available. ) at ../../gcc/gcc/expr.c:8214 #8 0x00000000005cf455 in expand_expr_real (exp=0x2aaaab10a040, target=0x2aaaaaf4d400, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at ../../gcc/gcc/expr.c:6386 #9 0x00000000008e4489 in expand_expr_stmt (exp=0x2aaaab10a040) at expr.h:482 #10 0x000000000091d0a9 in expand_gimple_basic_block (bb=0x2aaaab108dd0, dump_file=Variable "dump_file" is not available. ) at ../../gcc/gcc/cfgexpand.c:1133 #11 0x000000000091e54a in tree_expand_cfg () at ../../gcc/gcc/cfgexpand.c:1306 #12 0x0000000000482dcf in execute_pass_list (pass=0xc93960) at ../../gcc/gcc/tree-optimize.c:540 #13 0x000000000048308c in tree_rest_of_compilation (fndecl=0x2aaaab108270) ---Type <return> to continue, or q <return> to quit--- at ../../gcc/gcc/tree-optimize.c:675 #14 0x00000000004148db in c_expand_body (fndecl=0x2aaaab108270) at ../../gcc/gcc/c-decl.c:6441 #15 0x0000000000950f0e in cgraph_expand_function (node=0x2aaaab108750) at ../../gcc/gcc/cgraphunit.c:831 #16 0x0000000000951088 in cgraph_assemble_pending_functions () at ../../gcc/gcc/cgraphunit.c:305 #17 0x00000000009518ca in cgraph_finalize_function (decl=0x2aaaab108270, nested=0 '\0') at ../../gcc/gcc/cgraphunit.c:397 #18 0x0000000000414f62 in finish_function () at ../../gcc/gcc/c-decl.c:6410 #19 0x00000000004598fc in c_parser_declaration_or_fndef ( parser=0x2aaaaaf4e870, fndef_ok=1 '\001', empty_ok=Variable "empty_ok" is not available. ) at ../../gcc/gcc/c-parser.c:1310 #20 0x000000000045a8c7 in c_parse_file () at ../../gcc/gcc/c-parser.c:980 #21 0x00000000004478ea in c_common_parse_file (set_yydebug=Variable "set_yydebug" is not available. ) at ../../gcc/gcc/c-opts.c:1097 #22 0x00000000008f0653 in toplev_main (argc=5, argv=Variable "argv" is not available. ) at ../../gcc/gcc/toplev.c:996 ------------------------------------------------------------------------------- -- Summary: ICE in gen_lowpart_general, at rtlhooks.c:58 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, ice-checking Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: belyshev at depni dot sinp dot msu dot ru CC: gcc-bugs at gcc dot gnu dot org,roger at eyesopen dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20419