From ad0cb9421397c149511be48464997e47fc0d2219 Mon Sep 17 00:00:00 2001 From: rguenth Date: Tue, 12 Sep 2017 10:51:33 +0000 Subject: 2017-09-12 Richard Biener * 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 --- gcc/ChangeLog | 5 +++++ 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 + + * tree-vect-generic.c (expand_vector_operations_1): Do nothing + for operations we cannot scalarize. + 2017-09-12 Aldy Hernandez * 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 */ -- cgit v1.2.1