PR tree-optimization/84452
* tree-vect-patterns.c (vect_recog_pow_pattern): Don't call
expand_simd_clones if targetm.simd_clone.compute_vecsize_and_simdlen
is NULL.
* gcc.dg/pr84452.c: New test.
From-SVN: r257819
+2018-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/84452
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Don't call
+ expand_simd_clones if targetm.simd_clone.compute_vecsize_and_simdlen
+ is NULL.
+
2018-02-19 Martin Liska <mliska@suse.cz>
PR sanitizer/82183
2018-02-19 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/84452
+ * gcc.dg/pr84452.c: New test.
+
PR c++/79064
* g++.dg/template/overload15.C (f): Use 0u - 1ll instead of 0u - 1l.
--- /dev/null
+/* PR tree-optimization/84452 */
+/* { dg-do compile } */
+/* { dg-options "-Ofast" } */
+
+double pow (double, double) __attribute__((simd));
+double exp (double) __attribute__((simd));
+extern double a[1024], b[1024];
+
+void
+foo (void)
+{
+ for (int i = 0; i < 1024; ++i)
+ a[i] = pow (2.0, b[i]);
+}
cgraph_node *node = cgraph_node::get_create (exp_decl);
if (node->simd_clones == NULL)
{
- if (node->definition)
+ if (targetm.simd_clone.compute_vecsize_and_simdlen == NULL
+ || node->definition)
return NULL;
expand_simd_clones (node);
if (node->simd_clones == NULL)