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