summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-generic.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-13 07:25:36 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-13 07:25:36 +0000
commitf72ca1194a8e87b5cc0a37326b2ef4cab38ce00b (patch)
tree5384a6491928ac5d95d62e04069c2d911f262a7c /gcc/tree-vect-generic.c
parentca632883aaea123589bc8f37e574a19aa2d452e2 (diff)
downloadgcc-f72ca1194a8e87b5cc0a37326b2ef4cab38ce00b.tar.gz
PR tree-optimization/55281
* tree-vect-generic.c (expand_vector_condition): Accept any is_gimple_val rather than just SSA_NAME if not COMPARISON_CLASS_P. * fold-const.c (fold_ternary_loc): Fold VEC_COND_EXPR if arg0 is either integer_all_onesp or integer_zerop. * tree-vect-stmts.c (vectorizable_condition): Build the condition using corresponding vector integer type instead of vectype. * gcc.dg/vect/fast-math-pr55281.c: New test. * g++.dg/opt/pr55281.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193471 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-generic.c')
-rw-r--r--gcc/tree-vect-generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index 2dec341fc82..611666f2c86 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -892,7 +892,7 @@ expand_vector_condition (gimple_stmt_iterator *gsi)
int i;
location_t loc = gimple_location (gsi_stmt (*gsi));
- if (TREE_CODE (a) != SSA_NAME)
+ if (!is_gimple_val (a))
{
gcc_assert (COMPARISON_CLASS_P (a));
a_is_comparison = true;