https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110496
Bug ID: 110496 Summary: ICE: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: sirl at gcc dot gnu.org Target Milestone: --- This testcase (reduced with cvise): long contents, f_num; int decide(); int f_MV0__x; void f() { unsigned char *rptr; unsigned char valbuf[6]; rptr = (unsigned char *)contents; if (decide()) do { __builtin_memcpy(valbuf, &f_MV0__x, sizeof(int)); (&valbuf[0])[4] = (&valbuf[0])[5] = 0; } while (0); else { int MV0__x = f_num; __builtin_memcpy(valbuf, &MV0__x, sizeof(int)); (&valbuf[0])[4] = (&valbuf[0])[5] = 0; } rptr[1] = valbuf[4]; rptr[2] = valbuf[5]; rptr[4] = valbuf[1]; rptr[5] = valbuf[2]; __builtin_memset(valbuf, 0, 8); } ICEs with gcc@r14-2190: during GIMPLE pass: store-merging testcase.c: In function 'f': testcase.c:4:6: internal compiler error: tree check: expected none of vector_type, have vector_type in find_bswap_or_nop_1, at gimple-ssa-store-merging.cc:654 4 | void f() { | ^ 0x921335 tree_not_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.cc:8936 0x11175d8 tree_not_check(tree_node*, char const*, int, char const*, tree_code) ../../gcc/tree.h:3581 0x11175d8 find_bswap_or_nop_1 ../../gcc/gimple-ssa-store-merging.cc:654 0x17c6758 process_store ../../gcc/gimple-ssa-store-merging.cc:5269 0x17c6758 execute ../../gcc/gimple-ssa-store-merging.cc:5557