https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109219

            Bug ID: 109219
           Summary: csmith: ice in vect_slp_analyze_node_operations_1, at
                    tree-vect-slp.cc:5954
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C code:

safe_lshift_func_int32_t_s_s_left, safe_lshift_func_int32_t_s_s_right,
    safe_sub_func_uint64_t_u_u_ui2, safe_mul_func_uint64_t_u_u_ui2, g_79_2,
    g_97_l_439;
g_97() {
  unsigned short __trans_tmp_16;
  long __trans_tmp_15;
  int __trans_tmp_14, __trans_tmp_7;
  int *l_437 = g_97;
  for (; g_97_l_439; g_97_l_439 += 1) {
    char l_502 = 0;
    for (; l_502 < 4; l_502++) {
      __trans_tmp_14 = safe_lshift_func_int32_t_s_s_right >= 2 ||
                               safe_lshift_func_int32_t_s_s_left
                           ?: safe_lshift_func_int32_t_s_s_right;
      __trans_tmp_15 = __trans_tmp_14 * safe_mul_func_uint64_t_u_u_ui2;
      __trans_tmp_16 = -__trans_tmp_15;
      __trans_tmp_7 =
          (__trans_tmp_16 ^ 65535UL) - safe_sub_func_uint64_t_u_u_ui2;
      *l_437 ^= (short)(__trans_tmp_7 ^ g_79_2);
    }
  }
}
main() {}

when compiled by recent gcc trunk and compiler flag -O3, does this:

$ ~/gcc/results/bin/gcc -c -w -O3 bug900.c
during GIMPLE pass: vect
bug900.c: In function ‘g_97’:
bug900.c:4:1: internal compiler error: in vect_slp_analyze_node_operations_1,
at tree-vect-slp.cc:5954
    4 | g_97() {
      | ^~~~
0x7d6a29 vect_slp_analyze_node_operations_1
        ../../trunk.year/gcc/tree-vect-slp.cc:5954
0x7d6a29 vect_slp_analyze_node_operations
        ../../trunk.year/gcc/tree-vect-slp.cc:6147
0x119b14f vect_slp_analyze_node_operations
        ../../trunk.year/gcc/tree-vect-slp.cc:6126
0x119b14f vect_slp_analyze_node_operations
        ../../trunk.year/gcc/tree-vect-slp.cc:6126

It is fine at -O2:

$ ~/gcc/results/bin/gcc -c -w -O2 bug900.c
$ 

The bug has existed since sometime before 20220403.

Reply via email to