diff options
author | Richard Biener <rguenther@suse.de> | 2019-11-21 15:01:17 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-11-21 15:01:17 +0000 |
commit | 7c327e2d4d04966c8c5dc19cee9e242befdff6ef (patch) | |
tree | 39523bb6cd44de20b212da8a56a36bb20f29a345 | |
parent | 9c572192f0019c3dec3ef8c00c00c809e355820f (diff) | |
download | gcc-7c327e2d4d04966c8c5dc19cee9e242befdff6ef.zip gcc-7c327e2d4d04966c8c5dc19cee9e242befdff6ef.tar.gz gcc-7c327e2d4d04966c8c5dc19cee9e242befdff6ef.tar.bz2 |
re PR tree-optimization/92596 (ICE in exact_div, at poly-int.h:2162 since r278406)
2019-11-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/92596
* tree-vect-slp.c (vect_build_slp_tree): Fix pasto.
* gcc.dg/torture/pr92596-1.c: New testcase.
From-SVN: r278555
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr92596-1.c | 20 | ||||
-rw-r--r-- | gcc/tree-vect-slp.c | 3 |
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 063cc01..5ffe57d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-11-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/92596 + * tree-vect-slp.c (vect_build_slp_tree): Fix pasto. + 2019-11-21 Jan Hubicka <jh@suse.cz> * ipa-fnsummary.c (evaluate_conditions_for_known_args): Be diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5af1de3..8197698 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-11-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/92596 + * gcc.dg/torture/pr92596-1.c: New testcase. + 2019-11-21 Tamar Christina <tamar.christina@arm.com> * gcc.dg/torture/fp-int-convert-timode-1.c: Add check for FE_TONEAREST. diff --git a/gcc/testsuite/gcc.dg/torture/pr92596-1.c b/gcc/testsuite/gcc.dg/torture/pr92596-1.c new file mode 100644 index 0000000..9d2a223 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr92596-1.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-ftree-slp-vectorize" } */ + +typedef struct { + long n[5]; +} secp256k1_fe; + +void *a, *b; +int c; +static void +fn1(secp256k1_fe *p1, int p2) +{ + p1->n[2] = p1->n[3] = p1->n[4] = p2; +} +void +fn2() +{ + fn1(b, !c); + fn1(a, !c); +} diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index dfbde1a..a94d2d4 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -1247,7 +1247,8 @@ vect_build_slp_tree (vec_info *vinfo, return *leader; } poly_uint64 this_max_nunits = 1; - slp_tree res = vect_build_slp_tree_2 (vinfo, stmts, group_size, max_nunits, + slp_tree res = vect_build_slp_tree_2 (vinfo, stmts, group_size, + &this_max_nunits, matches, npermutes, tree_size, bst_map); if (res) { |