https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110869
Bug ID: 110869 Summary: [14 regression] ICE in decompose, at rtl.h:2297 Product: gcc Version: 14.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: stefansf at linux dot ibm.com Target Milestone: --- Host: sparc-sun-solaris2.11 Target: sparc-sun-solaris2.11 Build: sparc-sun-solaris2.11 Between 20230731 (bf67bf4880ce5be0b6e48c7c35828528b7be12ed) and 20230801 (a5451b8b9f3a6ab0cb1a60bc8b0b76cca46b080f), Solaris/SPARC bootstrap broke e.g. compiling cp/lex.cc in stage 2: during RTL pass: combine /vol/gcc/src/hg/master/local/gcc/cp/lex.cc: In function ‘void cxx_dup_lang_specific_decl(tree)’: /vol/gcc/src/hg/master/local/gcc/cp/lex.cc:1026:1: internal compiler error: in decompose, at rtl.h:2297 1026 | } | ^ 0x197362f wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) /vol/gcc/src/hg/master/local/gcc/rtl.h:2297 0x1a034ef wide_int_ref_storage<false, true>::wide_int_ref_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) /vol/gcc/src/hg/master/local/gcc/wide-int.h:1030 0x1a02513 generic_wide_int<wide_int_ref_storage<false, true> >::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) /vol/gcc/src/hg/master/local/gcc/wide-int.h:788 0x2151017 simplify_const_unary_operation(rtx_code, machine_mode, rtx_def*, machine_mode) /vol/gcc/src/hg/master/local/gcc/simplify-rtx.cc:2131 0x214a35f simplify_context::simplify_unary_operation(rtx_code, machine_mode, rtx_def*, machine_mode) /vol/gcc/src/hg/master/local/gcc/simplify-rtx.cc:889 0x2147e0f simplify_context::simplify_gen_unary(rtx_code, machine_mode, rtx_def*, machine_mode) /vol/gcc/src/hg/master/local/gcc/simplify-rtx.cc:360 0x17e5317 simplify_gen_unary(rtx_code, machine_mode, rtx_def*, machine_mode) /vol/gcc/src/hg/master/local/gcc/rtl.h:3520 0x300c3f3 simplify_comparison /vol/gcc/src/hg/master/local/gcc/combine.cc:13125 0x2ff04cf simplify_set /vol/gcc/src/hg/master/local/gcc/combine.cc:6848 0x2fed9b3 combine_simplify_rtx /vol/gcc/src/hg/master/local/gcc/combine.cc:6353 0x2fea537 subst /vol/gcc/src/hg/master/local/gcc/combine.cc:5609 0x2fe0b3b try_combine /vol/gcc/src/hg/master/local/gcc/combine.cc:3339 0x2fd8a57 combine_instructions /vol/gcc/src/hg/master/local/gcc/combine.cc:1285 0x30130a3 rest_of_handle_combine /vol/gcc/src/hg/master/local/gcc/combine.cc:15059 0x30131c7 execute /vol/gcc/src/hg/master/local/gcc/combine.cc:15103 I've not yet identified the culprit patch, but this one seems plausible: commit 7cdd0860949c6c3232e6cff1d7ca37bb5234074c Author: Stefan Schulze Frielinghaus <stefa...@linux.ibm.com> Date: Mon Jul 31 16:35:33 2023 +0200 combine: Narrow comparison of memory and constant