Disallow negative steps in vectorizer.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Oct 2010 05:39:32 +0000 (05:39 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Oct 2010 05:39:32 +0000 (05:39 +0000)
commit3055f3ce13571287e98cfaa37cacc6cb8ac76890
treefd1eea306f2f5ca977aaaa32728dc316b851f9d6
parent84dbdb74655cc9ebb0707226f53491cc3fb794ef
Disallow negative steps in vectorizer.

gcc/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

PR tree-optimization/45720
PR tree-optimization/45764
* tree-vect-data-refs.c (vect_analyze_data_ref_access):
Don't accept backwards consecutive accesses.
(vect_create_data_ref_ptr): Disallow negative steps.

* tree-vect-stmts.c (vectorizable_store): Allow negative steps.
(perm_mask_for_reverse): Removed.
(reverse_vec_elements): Likewise.
(vectorizable_load): Don't hanle negative steps.

gcc/testsuite/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

PR tree-optimization/45720
PR tree-optimization/45764
* g++.dg/torture/pr45764.C: New.

* gcc.dg/vect/pr43432.c: Xfail.
* gcc.dg/vect/vect-114.c: Likewise.
* gcc.dg/vect/vect-15.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164914 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr45764.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/pr43432.c
gcc/testsuite/gcc.dg/vect/vect-114.c
gcc/testsuite/gcc.dg/vect/vect-15.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-stmts.c