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

Reply via email to