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

Reply via email to