+2017-03-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/79894
+ * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
+ to NULL after folding it.
+
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79824
+2017-03-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/79894
+ * gcc.dg/vect/pr79887.c: New testcase.
+
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79824
--- /dev/null
+/* Test for pr79887. */
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_condition } */
+/* { dg-additional-options "-fno-trapping-math --param vect-epilogues-nomask=1" } */
+/* { dg-additional-options "-mavx512ifma" { target x86_64-*-* i?86-*-* } } */
+
+void
+foo (float a[32], float b[2][32])
+{
+ int i;
+ for (i = 0; i < 32; i++)
+ a[i] = (b[0][i] > b[1][i]) ? b[0][i] : b[1][i];
+}
+
"basic block vectorized\n");
fold_loop_vectorized_call (loop_vectorized_call,
boolean_true_node);
+ loop_vectorized_call = NULL;
ret |= TODO_cleanup_cfg;
}
}
if (loop_vectorized_call)
{
fold_loop_vectorized_call (loop_vectorized_call, boolean_true_node);
+ loop_vectorized_call = NULL;
ret |= TODO_cleanup_cfg;
}