https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120587
Bug ID: 120587 Summary: [OpenRISC] ICE in ce1 due to emit_move_multi_word assert failure Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: shorne at gcc dot gnu.org Target Milestone: --- Created attachment 61599 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61599&action=edit libgcc file used to reproduce We are getting the following ERROR when building the current master of GCC. Version git@: 02a6f9a0df1 Stafford Horne or1k: Fix struct return test Fails on __muldi3 in libgcc. See attached __muldi3.i Run with: cc1 -O2 __muldi3.i Error: during RTL pass: ce1 dump file: libgcc2.c.286r.ce1 /home/shorne/work/gnu-toolchain/gcc/libgcc/libgcc2.c: In function '__muldi3': /home/shorne/work/gnu-toolchain/gcc/libgcc/libgcc2.c:538:1: internal compiler error: in emit_move_multi_word, at expr.cc:4492 538 | } | ^ 0x1b094df internal_error(char const*, ...) /home/shorne/work/gnu-toolchain/gcc/gcc/diagnostic-global-context.cc:517 0x6459c1 fancy_abort(char const*, int, char const*) /home/shorne/work/gnu-toolchain/gcc/gcc/diagnostic.cc:1815 0x473a2e emit_move_multi_word /home/shorne/work/gnu-toolchain/gcc/gcc/expr.cc:4492 0x93fd7d emit_move_insn(rtx_def*, rtx_def*) /home/shorne/work/gnu-toolchain/gcc/gcc/expr.cc:4746 0x9175f1 copy_to_reg(rtx_def*) /home/shorne/work/gnu-toolchain/gcc/gcc/explow.cc:630 0xd18977 gen_lowpart_general(machine_mode, rtx_def*) /home/shorne/work/gnu-toolchain/gcc/gcc/rtlhooks.cc:56 0x9414c7 convert_mode_scalar /home/shorne/work/gnu-toolchain/gcc/gcc/expr.cc:818 0x9421a1 convert_modes(machine_mode, machine_mode, rtx_def*, int) /home/shorne/work/gnu-toolchain/gcc/gcc/expr.cc:961 0xc0afa0 prepare_operand(insn_code, rtx_def*, int, machine_mode, machine_mode, int) /home/shorne/work/gnu-toolchain/gcc/gcc/optabs.cc:4637 0xc0b33a prepare_cmp_insn /home/shorne/work/gnu-toolchain/gcc/gcc/optabs.cc:4538 0xc0f0dd emit_conditional_move(rtx_def*, rtx_comparison, rtx_def*, rtx_def*, machine_mode, int) /home/shorne/work/gnu-toolchain/gcc/gcc/optabs.cc:5098 0x192cc7b noce_emit_cmove /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:1777 0x193365b try_emit_cmove_seq /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:3410 0x193365b noce_convert_multiple_sets_1 /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:3705 0x1933c71 noce_convert_multiple_sets /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:3496 0x1938687 noce_process_if_block /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:4045 0x1938687 noce_find_if_block /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:4726 0x1938687 find_if_header /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:4931 0x1938687 if_convert /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:6078 0x1938d01 rest_of_handle_if_conversion /home/shorne/work/gnu-toolchain/gcc/gcc/ifcvt.cc:6143