diff options
author | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-25 13:33:54 +0000 |
---|---|---|
committer | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-25 13:33:54 +0000 |
commit | 2c02962cf935ac329a5069f6721839c3c1a3d331 (patch) | |
tree | 21065dda4814644807909923e74947363f96ca60 /gcc/tree-vect-stmts.c | |
parent | 588e1cc345332f6d464f2de3aa43692535094ab5 (diff) | |
download | gcc-2c02962cf935ac329a5069f6721839c3c1a3d331.tar.gz |
* expr.h (struct separate_ops, sepops): New type for passing
around an exploded simple expression.
* optabs.c (expand_widen_pattern_expr, expand_vec_shift_expr):
Use this structure instead of expression tree.
(get_vcond_icode, expand_vec_cond_expr_p): Don't take whole
expression, only its type.
(expand_vec_cond_expr): Take type and individual operands instead
of full expression.
* optabs.h (expand_widen_pattern_expr, expand_vec_cond_expr,
expand_vec_shift_expr): Change prototype accordingly.
* tree-vect-stmts.c (vectorizable_condition): Change call of
expand_vec_cond_expr_p to pass only type.
* expr.c (do_store_flags): Change prototype and implementation
to take an exploded expression.
(expand_expr_real_1): New local ops initialized with details
of the full expression. Use it instead of full
expression in calls to do_store_flags, expand_vec_cond_expr,
expand_widen_pattern_expr and expand_vec_shift_expr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151079 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index aacf768a4cf..0a2ab19a232 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -3889,7 +3889,7 @@ vectorizable_condition (gimple stmt, gimple_stmt_iterator *gsi, if (!vec_stmt) { STMT_VINFO_TYPE (stmt_info) = condition_vec_info_type; - return expand_vec_cond_expr_p (op, vec_mode); + return expand_vec_cond_expr_p (TREE_TYPE (op), vec_mode); } /* Transform */ |