diff options
author | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-22 13:55:05 +0000 |
---|---|---|
committer | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-22 13:55:05 +0000 |
commit | c53ab72ea238ad35d10d0bff76b9bd42b83b6a0e (patch) | |
tree | f0a4fe27b2ccebe5c598579e4d246b982b234f08 /gcc/testsuite | |
parent | 283427371858add907e524c5da99846050f98a2e (diff) | |
download | gcc-c53ab72ea238ad35d10d0bff76b9bd42b83b6a0e.tar.gz |
PR tree-opt/18536
* tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
creating iv instead of integer_type.
(vect_build_loop_niters): Remove redundant code.
(vect_transform_loop_bound): Removed (duplicates functionality of
make_loop_iterate_ntimes.
(vect_gen_niters_for_prolog_loop): Add documentation. Call
lang_hooks.types.type_for_size to create a type of the required size.
Use that type instead of integer_type. Remove redundant code.
(vect_update_niters_after_peeling): Use type of niters instead of
integer_type.
(vect_transform_loop): Unify handling of known and unknown loop bound
cases. Call make_loop_iterate_ntimes instead of
vect_transform_loop_bound.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91014 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr18536.c | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 36017409631..3d9d53a4498 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-11-19 Dorit Naishlos <dorit@il.ibm.com> + + PR tree-opt/18536 + * gcc.dg/vect/pr18536.c: New test. + 2004-11-22 Giovanni Bajo <giovannibajo@gcc.gnu.org> PR c++/18354 diff --git a/gcc/testsuite/gcc.dg/vect/pr18536.c b/gcc/testsuite/gcc.dg/vect/pr18536.c new file mode 100644 index 00000000000..cd9d7bb1a4f --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr18536.c @@ -0,0 +1,34 @@ +/* { dg-require-effective-target vect_int } */ + +#include <stdarg.h> +#include "tree-vect.h" + +#define N 16 + +int main1 (short a, short *b) +{ + while (++a < 4) *b++ = 2; + + return 0; +} + +int main (void) +{ + int i = 0; + short x[N]; + + check_vect (); + + main1 (0, x); + + /* check results: */ + while (++i < 4) + { + if (x[i-1] != 2) + abort (); + } + + return 0; +} + +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ |