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

            Bug ID: 125553
           Summary: [16/17 Regression] ICE at -O1 during GIMPLE pass: fre
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Reproducer: https://godbolt.org/z/jvfYofanE
Testcase:
#include <stdint.h>
typedef int64_t v8i64 __attribute__((vector_size(64)));
int64_t g2, g17;
void *g24;
static v8i64 g25;
void hash()
{
    v8i64 vec6;
lbl_b3:
    *(v8i64 *)g24 = g25;
    uint64_t __ov_tmp_g17 = __builtin_sub_overflow(g2, g2, &__ov_tmp_g17);
    g17 = __ov_tmp_g17;
    g25 = vec6;
    vec6 = *(v8i64 *)g24;
    g2 = vec6[0];
    goto lbl_b3;
    g25[7];
}

Dump at -O1:
during GIMPLE pass: fre
<source>: In function 'hash':
<source>:6:6: internal compiler error: in vn_nary_op_insert_into, at
tree-ssa-sccvn.cc:4859
    6 | void hash()
      |      ^~~~
0x265f3c8 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
        ???:0
0x265400b internal_error(char const*, ...)
        ???:0
0xa2d548 fancy_abort(char const*, int, char const*)
        ???:0

Reply via email to