https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105409
Bug ID: 105409 Summary: ICE in simplify_subreg, at simplify-rtx.cc:7351 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: gaius at gcc dot gnu.org Target Milestone: --- Target: sparcv9-sun-solaris2.11 As (incorrectly) reported in PR modula2/105408, for a 64-bit-default Solaris/SPARC build of the devel/modula-2 branch, 2000+ 32-bit testcases FAIL like this: FAIL: gm2/calling-c/datatypes/unbounded/run/pass/m.mod compilation, -O (internal compiler error: ^[[m^[[Kin simplify_subreg, at simplify-rtx.cc:7351) However, it turns out that this has nothing to do with gm2, because the same ICE occurs on trunk as well (but only for a 64-bit-default g++, 32-bit-default compiles the testcase just fine): $ cc1plus -m32 -quiet m.x0-m_m2.cpp m.x0-m_m2.cpp:111:1: internal compiler error: in simplify_subreg, at simplify-rtx.cc:7351 111 | } | ^ 0x101360647 simplify_context::simplify_subreg(machine_mode, rtx_def*, machine_mode, poly_int<1u, unsigned long>) /vol/gcc/src/hg/master/local/gcc/simplify-rtx.cc:7351 0x1017e071b simplify_subreg(machine_mode, rtx_def*, machine_mode, poly_int<1u, unsigned long>) /vol/gcc/src/hg/master/local/gcc/rtl.h:3498 0x1017e071b assemble_integer(rtx_def*, unsigned int, unsigned int, int) /vol/gcc/src/hg/master/local/gcc/varasm.cc:2922 0x100db88eb dw2_asm_output_encoded_addr_rtx(int, rtx_def*, bool, char const*, ...) /vol/gcc/src/hg/master/local/gcc/dwarf2asm.cc:1122 0x100dc919f output_call_frame_info /vol/gcc/src/hg/master/local/gcc/dwarf2out.cc:929