aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-02-19 19:58:13 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-02-19 19:58:13 +0100
commit73829f90459f40d7362fc3ac2d883ac98f1670a9 (patch)
tree57a3629123c1953dd74da40ee538a52f6b991b47 /gcc/tree-vect-patterns.c
parentbb08d1cac15e7a60e5750a9f388a88e70ac75b98 (diff)
downloadgcc-73829f90459f40d7362fc3ac2d883ac98f1670a9.zip
gcc-73829f90459f40d7362fc3ac2d883ac98f1670a9.tar.gz
gcc-73829f90459f40d7362fc3ac2d883ac98f1670a9.tar.bz2
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
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 25a2efb..34f69e9 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -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)