diff options
Diffstat (limited to 'gcc/tree-vect-generic.c')
-rw-r--r-- | gcc/tree-vect-generic.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index 3dcbdeb..2ade60b 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -1612,6 +1612,12 @@ expand_vector_operations_1 (gimple_stmt_iterator *gsi) if (!VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (rhs1))) return; + + /* A scalar operation pretending to be a vector one. */ + if (VECTOR_BOOLEAN_TYPE_P (type) + && !VECTOR_MODE_P (TYPE_MODE (type)) + && TYPE_MODE (type) != BLKmode) + return; /* If the vector operation is operating on all same vector elements implement it with a scalar operation and a splat if the target @@ -1638,12 +1644,6 @@ expand_vector_operations_1 (gimple_stmt_iterator *gsi) return; } } - - /* A scalar operation pretending to be a vector one. */ - if (VECTOR_BOOLEAN_TYPE_P (type) - && !VECTOR_MODE_P (TYPE_MODE (type)) - && TYPE_MODE (type) != BLKmode) - return; if (CONVERT_EXPR_CODE_P (code) || code == FLOAT_EXPR |