https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82045
--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- Unfortunately, the patch breaks x86 bootstrap (e.g. for the 32-bit _multc3.o), both in i386-pc-solaris2.* and x86_64-pc-linux-gnu compilers: $ cc1 -fpreprocessed libgcc2.i -quiet -o libgcc2.s Thread 2 hit Breakpoint 1, fancy_abort ( file=0x98dbb80 "/vol/gcc/src/hg/trunk/local/gcc/calls.c", line=4571, function=0x98dc691 <emit_library_call_value(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*)::__FUNCTION__> "emit_library_call_value") at /vol/gcc/src/hg/trunk/local/gcc/diagnostic.c:1488 1488 internal_error ("in %s, at %s:%d", function, trim_filename (file), line); #0 fancy_abort (file=0x98dbb80 "/vol/gcc/src/hg/trunk/local/gcc/calls.c", line=4571, function=0x98dc691 <emit_library_call_value(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*)::__FUNCTION__> "emit_library_call_value") at /vol/gcc/src/hg/trunk/local/gcc/diagnostic.c:1488 #1 0x085fa6de in emit_library_call_value (retval=1, orgfun=0xfe7894a0, value=0x0, fn_type=LCT_CONST, outmode=E_TFmode, nargs=3, args=0x8046970) at /vol/gcc/src/hg/trunk/local/gcc/calls.c:4570 #2 0x085e8409 in emit_library_call_value (fun=0xfe7894a0, value=0x0, fn_type=LCT_CONST, outmode=E_TFmode, arg1=0xfe789460, arg1_mode=E_TFmode, arg2=0xfe789480, arg2_mode=E_TFmode) at /vol/gcc/src/hg/trunk/local/gcc/rtl.h:3873 #3 0x089ed51e in expand_binop (mode=E_TFmode, binoptab=smul_optab, op0=0xfe789460, op1=0xfe789480, target=0xfe789440, unsignedp=0, methods=OPTAB_LIB_WIDEN) at /vol/gcc/src/hg/trunk/local/gcc/optabs.c:1763 #4 0x08738653 in expand_mult (mode=E_TFmode, op0=0xfe789460, op1=0xfe789480, target=0xfe789440, unsignedp=0) at /vol/gcc/src/hg/trunk/local/gcc/expmed.c:3455 #5 0x0875ddb3 in expand_expr_real_2 (ops=0x8047190, target=0xfe789440, tmode=E_TFmode, modifier=EXPAND_NORMAL) at /vol/gcc/src/hg/trunk/local/gcc/expr.c:8827 #6 0x08611992 in expand_gimple_stmt_1 (stmt=0xfe610104) at /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:3691 #7 0x08611bbc in expand_gimple_stmt (stmt=0xfe610104) at /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:3751 #8 0x0861898c in expand_gimple_basic_block (bb=0xfe784080, disable_tail_calls=false) at /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:5750 #9 0x0861a160 in (anonymous namespace)::pass_expand::execute (this=0xa31ea30, fun=0xfe758068) at /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:6357 #10 0x08a21b8e in execute_one_pass (pass=0xa31ea30) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2495 #11 0x08a21ec9 in execute_pass_list_1 (pass=0xa31ea30) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2584 #12 0x08a21f43 in execute_pass_list (fn=0xfe758068, pass=0xa31c300) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2595 #13 0x0865bdec in cgraph_node::expand (this=0xfe777000) at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2054 #14 0x0865c7c6 in output_in_order () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2296 #15 0x0865cf5a in symbol_table::compile (this=0xfe6070c8) at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2537 #16 0x0865d1b2 in symbol_table::finalize_compilation_unit (this=0xfe6070c8) at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2631 #17 0x08b327b5 in compile_file () at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:496 #18 0x08b34b12 in do_compile () at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2037 #19 0x08b34dd8 in toplev::main (this=0x80475fe, argc=6, argv=0x804762c) at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2172 #20 0x0963505a in main (argc=6, argv=0x804762c) at /vol/gcc/src/hg/trunk/local/gcc/main.c:39 (gdb) p mode $12 = E_BLKmode (gdb) p val $13 = (rtx) 0x0