https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105856
Bug ID: 105856 Summary: ice in emit_move_insn, at expr.cc:4011 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- This C code: #pragma pack(1) struct { unsigned f0; } static g_251 = {6}; void g_329_3() { func_19(g_251); } when compiled with -O2 on a arm-32 compiler natively or cross, does this: during RTL pass: expand bug819.c: In function ‘g_329_3’: bug819.c:5:18: internal compiler error: in emit_move_insn, at expr.cc:4011 5 | void g_329_3() { func_19(g_251); } | ^~~~~~~~~~~~~~ 0x67dcba emit_move_insn(rtx_def*, rtx_def*) /home/dcb/gcc/trunk.git/gcc/expr.cc:4011 0xa2940d load_register_parameters /home/dcb/gcc/trunk.git/gcc/calls.cc:2192 0xa2c59b expand_call(tree_node*, rtx_def*, int) /home/dcb/gcc/trunk.git/gcc/calls.cc:3593 0xba77d0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/dcb/gcc/trunk.git/gcc/expr.cc:11621 The bug appears sometime in the week before git hash aec868578d851576.