https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109491
Bug ID: 109491 Summary: Segfault in tree-ssa-sccvn.cc:expressions_equal_p() Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pthaugen at gcc dot gnu.org CC: bergner at gcc dot gnu.org, segher at kernel dot crashing.org Target Milestone: --- Host: powerpc64 Target: powerpc64 Build: powerpc64 Created attachment 54845 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54845&action=edit Reduced testcase Hitting the following segfault on the attached testcase (sorry for size, but it is about 1% of original size). Appears to only happen with GCC 13, compiles fine with GCC 12. ~/install/gcc/trunk/bin/g++ -mcpu=power8 -std=c++14 -S -O2 partial.ii (...misc warnings...) during GIMPLE pass: fre partial.ii: In function ‘void gemm_complex(const DataMapper&, const complex<float>*, const complex<float>*, long int, long int, long int, complex<float>, long int, long int, long int, long int) [with <template-parameter-1-1> = complex<float>; <template-parameter-1-2> = complex<float>; <template-parameter-1-3> = complex<float>; <template-parameter-1-4> = float; Packet = __vector(4) float; Packetc = Packet2cf; <template-parameter-1-7> = __vector(4) float; DataMapper = blas_data_mapper; int accRows = 4; int accCols = 4; int ConjugateLhs = 0; int ConjugateRhs = 0; int LhsIsReal = 0; int RhsIsReal = 0]’: partial.ii:1096:6: internal compiler error: Segmentation fault 1096 | void gemm_complex(const DataMapper &res, const complex<float> *blockAc, | ^~~~~~~~~~~~ 0x10f6fadb crash_signal /home/pthaugen/src/gcc/trunk/gcc/gcc/toplev.cc:314 0x11222818 expressions_equal_p(tree_node*, tree_node*, bool) /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:6411 0x112229a7 vn_reference_op_eq /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:216 0x11222bfb vn_reference_eq(vn_reference_s const*, vn_reference_s const*) /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:858 0x11243837 vn_reference_hasher::equal(vn_reference_s const*, vn_reference_s const*) /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:250 0x11243837 hash_table<vn_reference_hasher, false, xcallocator>::find_slot_with_hash(vn_reference_s* const&, unsigned int, insert_option) /home/pthaugen/src/gcc/trunk/gcc/gcc/hash-table.h:1059 0x1122f43b vn_reference_lookup_2 /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:2336 0x11101b8f walk_non_aliased_vuses(ao_ref*, tree_node*, bool, void* (*)(ao_ref*, tree_node*, void*), void* (*)(ao_ref*, tree_node*, void*, translate_flags*), tree_node* (*)(tree_node*), unsigned int&, void*) /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-alias.cc:3847 0x11233447 vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind, vn_reference_s**, bool, tree_node**, tree_node*, bool) /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:3967 0x11238cc7 visit_reference_op_load /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:5683 0x11238cc7 visit_stmt /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:6187 0x1123986f process_bb /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:7918 0x1123bcdb do_rpo_vn_1 /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:8518 0x1123db83 execute /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:8676 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.