https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105866
Bug ID: 105866 Summary: [13 Regression] ICE in emit_move_insn building glibc for MIPS Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: roger at nextmovesoftware dot com Target Milestone: --- Target: mips*-*-* Created attachment 53093 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53093&action=edit preprocessed source Commit ed6fd2aed58f2cca99f15331bf68999c0e6df370, "PR middle-end/95126: Expand small const structs as immediate constants.", introduces an ICE for the attached test case (from glibc) on mips64-linux-gnu. Compile with: -mabi=n32 -O2 during RTL pass: expand key_call.c: In function 'key_gendes': key_call.c:224:12: internal compiler error: in emit_move_insn, at expr.cc:4012 0x95754f emit_move_insn(rtx_def*, rtx_def*) /scratch/jmyers/glibc/many13/src/gcc/gcc/expr.cc:4011 0x7eb57e load_register_parameters /scratch/jmyers/glibc/many13/src/gcc/gcc/calls.cc:2192 0x7f31ad expand_call(tree_node*, rtx_def*, int) /scratch/jmyers/glibc/many13/src/gcc/gcc/calls.cc:3594 0x951d45 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /scratch/jmyers/glibc/many13/src/gcc/gcc/expr.cc:11621 0x95ee95 store_expr(tree_node*, rtx_def*, int, bool, bool) /scratch/jmyers/glibc/many13/src/gcc/gcc/expr.cc:6106 0x960a47 expand_assignment(tree_node*, tree_node*, bool) /scratch/jmyers/glibc/many13/src/gcc/gcc/expr.cc:5835 0x80e7ae expand_call_stmt /scratch/jmyers/glibc/many13/src/gcc/gcc/cfgexpand.cc:2829 0x80e7ae expand_gimple_stmt_1 /scratch/jmyers/glibc/many13/src/gcc/gcc/cfgexpand.cc:3869 0x80e7ae expand_gimple_stmt /scratch/jmyers/glibc/many13/src/gcc/gcc/cfgexpand.cc:4033 0x815a22 expand_gimple_basic_block /scratch/jmyers/glibc/many13/src/gcc/gcc/cfgexpand.cc:6085 0x8180d2 execute /scratch/jmyers/glibc/many13/src/gcc/gcc/cfgexpand.cc:6811 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.