diff options
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index ac3f8437053..79a7461a1a9 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -2172,8 +2172,7 @@ supportable_widening_operation (enum tree_code code, tree stmt, tree vectype, } break; - case NOP_EXPR: - case CONVERT_EXPR: + CASE_CONVERT: if (BYTES_BIG_ENDIAN) { c1 = VEC_UNPACK_HI_EXPR; @@ -2212,13 +2211,13 @@ supportable_widening_operation (enum tree_code code, tree stmt, tree vectype, if (code == FIX_TRUNC_EXPR) { /* The signedness is determined from output operand. */ - optab1 = optab_for_tree_code (c1, type); - optab2 = optab_for_tree_code (c2, type); + optab1 = optab_for_tree_code (c1, type, optab_default); + optab2 = optab_for_tree_code (c2, type, optab_default); } else { - optab1 = optab_for_tree_code (c1, vectype); - optab2 = optab_for_tree_code (c2, vectype); + optab1 = optab_for_tree_code (c1, vectype, optab_default); + optab2 = optab_for_tree_code (c2, vectype, optab_default); } if (!optab1 || !optab2) @@ -2267,8 +2266,7 @@ supportable_narrowing_operation (enum tree_code code, switch (code) { - case NOP_EXPR: - case CONVERT_EXPR: + CASE_CONVERT: c1 = VEC_PACK_TRUNC_EXPR; break; @@ -2287,9 +2285,9 @@ supportable_narrowing_operation (enum tree_code code, if (code == FIX_TRUNC_EXPR) /* The signedness is determined from output operand. */ - optab1 = optab_for_tree_code (c1, type); + optab1 = optab_for_tree_code (c1, type, optab_default); else - optab1 = optab_for_tree_code (c1, vectype); + optab1 = optab_for_tree_code (c1, vectype, optab_default); if (!optab1) return false; |