https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87745
Bug ID: 87745 Summary: [9 regression] ICE in get_later_stmt, at tree-vectorizer.h:1109 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: rguenth at gcc dot gnu.org Target Milestone: --- Target: aarch64, arm, i?86, x86_64 Between 20181023 (r265430) and 20181024 (r265465), two testsuite regressions appeared on Solaris 11/x86, both 32 and 64-bit: +FAIL: gfortran.fortran-torture/execute/where_1.f90, -O3 -g (internal compiler error) +FAIL: gfortran.fortran-torture/execute/where_6.f90, -O3 -g (internal compiler error) According to gcc-testresults, they also occur on aarch64 and arm. The log shows during GIMPLE pass: vect /vol/gcc/src/hg/trunk/local/gcc/testsuite/gfortran.fortran-torture/execute/where_6.f90:23:0: internal compiler error: in get_later_stmt, at tree-vectorizer.h:1109 0x9a590a7 get_later_stmt /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.h:1109 0x9a59274 get_later_stmt /vol/gcc/src/hg/trunk/local/gcc/tree-vect-data-refs.c:220 0x9a59274 vect_preserves_scalar_order_p /vol/gcc/src/hg/trunk/local/gcc/tree-vect-data-refs.c:221 0x9a49cb8 vect_analyze_data_ref_dependence /vol/gcc/src/hg/trunk/local/gcc/tree-vect-data-refs.c:453 0x9a49cb8 vect_analyze_data_ref_dependences(_loop_vec_info*, unsigned int*) /vol/gcc/src/hg/trunk/local/gcc/tree-vect-data-refs.c:559 0x9339749 vect_analyze_loop_2 /vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:1849 0x9339749 vect_analyze_loop(loop*, _loop_vec_info*, vec_info_shared*) /vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:2268 0x9359b05 try_vectorize_loop_1 /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:873 0x935a368 try_vectorize_loop /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:1015 0x935a87a vectorize_loops() /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:1097 which suggests this might have been caused by 2018-10-24 Richard Biener <rguent...@suse.de> PR tree-optimization/87665 * tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust to reflect reality. * gcc.dg/torture/pr87665.c: New testcase.