[PATCH] Fix half of PR92596

Richard Biener rguenther@suse.de
Thu Nov 21 15:13:00 GMT 2019


I managed to somehow commit sth bogus on trunk (the branch is correct).

Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.

Richard.

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.

Index: gcc/tree-vect-slp.c
===================================================================
--- gcc/tree-vect-slp.c	(revision 278550)
+++ gcc/tree-vect-slp.c	(working copy)
@@ -1247,7 +1248,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)
     {
Index: gcc/testsuite/gcc.dg/torture/pr92596-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr92596-1.c	(nonexistent)
+++ gcc/testsuite/gcc.dg/torture/pr92596-1.c	(working copy)
@@ -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);
+}



More information about the Gcc-patches mailing list