GCC fails with ICE with -march=skylake-avx512 -O3 options. Reproducer: int a, c; unsigned b, e; extern unsigned d[100]; void f() { for (int g = 0; g < 70; g++) { b += d[g] - c; e -= g ^ a; } } Error: >$ gcc -march=skylake-avx512 -O3 -c small.c during GIMPLE pass: vect small.c: In function ‘f’: small.c:5:6: internal compiler error: in vect_build_slp_tree_2, at tree-vect-slp.c:1143 5 | void f() { | ^ 0xf13128 vect_build_slp_tree_2 /gcc/tree-vect-slp.c:1143 0xf0ffac vect_build_slp_tree /gcc/tree-vect-slp.c:1073 0xf119a3 vect_build_slp_tree_2 /gcc/tree-vect-slp.c:1218 0xf0ffac vect_build_slp_tree /gcc/tree-vect-slp.c:1073 0xf16744 vect_analyze_slp_instance /gcc/tree-vect-slp.c:1985 0xf18158 vect_analyze_slp(vec_info*, unsigned int) /gcc/tree-vect-slp.c:2212 0xf000ce vect_analyze_loop_2 /gcc/tree-vect-loop.c:1985 0xf000ce vect_analyze_loop(loop*, _loop_vec_info*, vec_info_shared*) /gcc/tree-vect-loop.c:2379 0xf1d847 try_vectorize_loop_1 /gcc/tree-vectorizer.c:886 0xf1e5c9 vectorize_loops() /gcc/tree-vectorizer.c:1114 GCC version: gcc version 10.0.0 (Rev: 273261)
Mine.
Fixed on trunk sofar.
Author: rguenth Date: Fri Jul 12 14:36:50 2019 New Revision: 273445 URL: https://gcc.gnu.org/viewcvs?rev=273445&root=gcc&view=rev Log: 2019-07-12 Richard Biener <rguenther@suse.de> PR tree-optimization/91145 * tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction chain check. * gcc.dg/torture/pr91145.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr91145.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-slp.c
Author: rguenth Date: Wed Jul 31 15:40:36 2019 New Revision: 273939 URL: https://gcc.gnu.org/viewcvs?rev=273939&root=gcc&view=rev Log: 2019-07-31 Richard Biener <rguenther@suse.de> Backport from mainline 2019-07-19 Richard Biener <rguenther@suse.de> PR tree-optimization/91200 * tree-ssa-phiopt.c (cond_store_replacement): Check we have no PHI nodes in middle-bb. * gcc.dg/torture/pr91200.c: New testcase. 2019-07-15 Richard Biener <rguenther@suse.de> PR middle-end/91162 * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI node make sure to replace all uses with something valid. * gcc.dg/autopar/pr91162.c: New testcase. 2019-07-12 Richard Biener <rguenther@suse.de> PR tree-optimization/91145 * tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction chain check. * gcc.dg/torture/pr91145.c: New testcase. 2019-07-11 Richard Biener <rguenther@suse.de> PR middle-end/91131 * gimplify.c (gimplify_compound_literal_expr): Force a temporary when the object is volatile and we have not cleared it even though there are no nonzero elements. * gcc.target/i386/pr91131.c: New testcase. 2019-07-10 Richard Biener <rguenther@suse.de> PR tree-optimization/91126 * tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust native encoding offset for BYTES_BIG_ENDIAN. (vn_reference_lookup_3): Likewise. * gcc.dg/torture/pr91126.c: New testcase. Added: branches/gcc-9-branch/gcc/testsuite/gcc.dg/autopar/pr91162.c branches/gcc-9-branch/gcc/testsuite/gcc.dg/torture/pr91126.c branches/gcc-9-branch/gcc/testsuite/gcc.dg/torture/pr91145.c branches/gcc-9-branch/gcc/testsuite/gcc.dg/torture/pr91200.c branches/gcc-9-branch/gcc/testsuite/gcc.target/i386/pr91131.c Modified: branches/gcc-9-branch/gcc/ChangeLog branches/gcc-9-branch/gcc/gimplify.c branches/gcc-9-branch/gcc/testsuite/ChangeLog branches/gcc-9-branch/gcc/tree-cfg.c branches/gcc-9-branch/gcc/tree-ssa-phiopt.c branches/gcc-9-branch/gcc/tree-ssa-sccvn.c branches/gcc-9-branch/gcc/tree-vect-slp.c
Fixed.