diff options
author | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-28 10:09:12 +0000 |
---|---|---|
committer | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-28 10:09:12 +0000 |
commit | 358dfcb4a1535bcdd89aced5b603802f40b597a6 (patch) | |
tree | 8b3774bdeb3d96f5bcd4b368705444165028c6e1 | |
parent | e87502d6302857879c38fd2f115809db9a402ba1 (diff) | |
download | gcc-358dfcb4a1535bcdd89aced5b603802f40b597a6.tar.gz |
gcc/
* tree-vect-stmts.c (vectorizable_comparison): Add
NULL check for vectype.
gcc/testsuite/
* gcc.dg/declare-simd.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232917 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/declare-simd.c | 14 | ||||
-rw-r--r-- | gcc/tree-vect-stmts.c | 2 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1dc8252f2bd..aa98585688a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com> + + * tree-vect-stmts.c (vectorizable_comparison): Add + NULL check for vectype. + 2016-01-28 Richard Biener <rguenther@suse.de> PR tree-optimization/69466 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 60c87fe9f9f..fb29f731b2a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com> + + * gcc.dg/declare-simd.c: New test. + 2016-01-28 Richard Biener <rguenther@suse.de> PR tree-optimization/69466 diff --git a/gcc/testsuite/gcc.dg/declare-simd.c b/gcc/testsuite/gcc.dg/declare-simd.c new file mode 100644 index 00000000000..1c71b60c974 --- /dev/null +++ b/gcc/testsuite/gcc.dg/declare-simd.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -fopenmp-simd" } */ + +#pragma omp declare simd linear (p2, p3) +extern void fn2 (float p1, float *p2, float *p3); + +float *a, *b; +void fn1 (float *p1) +{ + int i; +#pragma omp simd + for (i = 0; i < 1000; i++) + fn2 (p1[i], a + i, b + i); +} diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 1dcd1295930..fa4a364983a 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -7764,7 +7764,7 @@ vectorizable_comparison (gimple *stmt, gimple_stmt_iterator *gsi, if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo) return false; - if (!VECTOR_BOOLEAN_TYPE_P (vectype)) + if (!vectype || !VECTOR_BOOLEAN_TYPE_P (vectype)) return false; mask_type = vectype; |