diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-09-12 10:51:33 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-09-12 10:51:33 +0000 |
commit | ad0cb9421397c149511be48464997e47fc0d2219 (patch) | |
tree | aaffe0d37b0bebe507e0ed90c22672ae5dd8f699 | |
parent | d2e6e7d387266257131549b45309772ee2538ca4 (diff) | |
download | gcc-ad0cb9421397c149511be48464997e47fc0d2219.tar.gz |
2017-09-12 Richard Biener <rguenther@suse.de>
* tree-vect-generic.c (expand_vector_operations_1): Do nothing
for operations we cannot scalarize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252002 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-vect-generic.c | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68a4b3ebec6..c150b01abd2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-09-12 Richard Biener <rguenther@suse.de> + + * tree-vect-generic.c (expand_vector_operations_1): Do nothing + for operations we cannot scalarize. + 2017-09-12 Aldy Hernandez <aldyh@redhat.com> * tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index e88a58fd0b2..dc8b2ed38ad 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -1638,7 +1638,11 @@ expand_vector_operations_1 (gimple_stmt_iterator *gsi) /* The signedness is determined from input argument. */ if (code == VEC_UNPACK_FLOAT_HI_EXPR || code == VEC_UNPACK_FLOAT_LO_EXPR) - type = TREE_TYPE (rhs1); + { + type = TREE_TYPE (rhs1); + /* We do not know how to scalarize those. */ + return; + } /* For widening/narrowing vector operations, the relevant type is of the arguments, not the widened result. VEC_UNPACK_FLOAT_*_EXPR is @@ -1655,7 +1659,11 @@ expand_vector_operations_1 (gimple_stmt_iterator *gsi) || code == VEC_PACK_FIX_TRUNC_EXPR || code == VEC_WIDEN_LSHIFT_HI_EXPR || code == VEC_WIDEN_LSHIFT_LO_EXPR) - type = TREE_TYPE (rhs1); + { + type = TREE_TYPE (rhs1); + /* We do not know how to scalarize those. */ + return; + } /* Choose between vector shift/rotate by vector and vector shift/rotate by scalar */ |