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

Reply via email to