diff options
author | Richard Biener <rguenther@suse.de> | 2017-09-12 10:51:33 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-09-12 10:51:33 +0000 |
commit | dee6fc2b43d2fc004ffe65a0e030fc74facb7c64 (patch) | |
tree | aaffe0d37b0bebe507e0ed90c22672ae5dd8f699 /gcc/tree-vect-generic.c | |
parent | b70514811c6e42a34d54fe0b67600782538c1d57 (diff) |
tree-vect-generic.c (expand_vector_operations_1): Do nothing for operations we cannot scalarize.
2017-09-12 Richard Biener <rguenther@suse.de>
* tree-vect-generic.c (expand_vector_operations_1): Do nothing
for operations we cannot scalarize.
From-SVN: r252002
Diffstat (limited to 'gcc/tree-vect-generic.c')
-rw-r--r-- | gcc/tree-vect-generic.c | 12 |
1 files changed, 10 insertions, 2 deletions
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 */ |