https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98264
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Summary|[11 Regression] ice during |[11 Regression] ice during |linear_loads_p |linear_loads_p since | |r11-5969-g3ed472af6bc9f83b Ever confirmed|0 |1 CC| |marxin at gcc dot gnu.org Status|UNCONFIRMED |NEW --- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> --- Started with r11-5969-g3ed472af6bc9f83b, it fails due to a Invalid read: $ valgrind --trace-children=yes gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/avx-vaddsubpd-1.c -c -c -march=bdver2 -O3 -c ... ==15595== Invalid read of size 4 ==15595== at 0x109B3DB: operator[] (vec.h:890) ==15595== by 0x109B3DB: operator[] (vec.h:1461) ==15595== by 0x109B3DB: linear_loads_p(hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, _slp_tree*) (tree-vect-slp-patterns.c:255) ==15595== by 0x109B63A: complex_add_pattern::matches(_complex_operation, hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, vec<_slp_tree*, va_heap, vl_ptr>*) (tree-vect-slp-patterns.c:678) ==15595== by 0x109B6C9: complex_add_pattern::recognize(hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, _slp_tree**) (tree-vect-slp-patterns.c:697) ==15595== by 0x108FEEC: vect_match_slp_patterns_2(_slp_tree**, vec_info*, hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >*) (tree-vect-slp.c:2257) ==15595== by 0x108FEB1: vect_match_slp_patterns_2(_slp_tree**, vec_info*, hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >*) (tree-vect-slp.c:2252) ==15595== by 0x108FEB1: vect_match_slp_patterns_2(_slp_tree**, vec_info*, hash_map<_slp_tree*, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> >, simple_hashmap_traits<default_hash_traits<_slp_tree*>, std::pair<_complex_perm_kinds, vec<unsigned int, va_heap, vl_ptr> > > >*, hash_set<_slp_tree*, false, default_hash_traits<_slp_tree*> >*) (tree-vect-slp.c:2252) ==15595== by 0x1090277: vect_match_slp_patterns (tree-vect-slp.c:2290) ==15595== by 0x1090277: vect_analyze_slp(vec_info*, unsigned int) (tree-vect-slp.c:2743) ==15595== by 0x10974B2: vect_slp_analyze_bb_1 (tree-vect-slp.c:4507) ==15595== by 0x10974B2: vect_slp_region (tree-vect-slp.c:4619) ==15595== by 0x10974B2: vect_slp_bbs(vec<basic_block_def*, va_heap, vl_ptr>) (tree-vect-slp.c:4767) ==15595== by 0x1098F54: vect_slp_function(function*) (tree-vect-slp.c:4853) ==15595== by 0x109C362: (anonymous namespace)::pass_slp_vectorize::execute(function*) (tree-vectorizer.c:1449) ==15595== by 0xD1F357: execute_one_pass(opt_pass*) (passes.c:2567) ==15595== by 0xD1FCFF: execute_pass_list_1(opt_pass*) (passes.c:2656) ==15595== Address 0x4 is not stack'd, malloc'd or (recently) free'd ==15595== during GIMPLE pass: slp In file included from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c:13, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/avx-vaddsubpd-1.c:8: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/avx-check.h: In function ‘do_test’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/avx-check.h:10:1: internal compiler error: Segmentation fault 10 | do_test (void) | ^~~~~~~ 0x4fff151 __libc_start_main ???:0