Commit 73829f90 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/84452 (ICE in expand_simd_clones at gcc/omp-simd-clone.c:1612)

	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
parent bb08d1ca
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.
......
/* 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]);
}
......@@ -1113,7 +1113,8 @@ vect_recog_pow_pattern (vec<gimple *> *stmts, tree *type_in,
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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment