From d6ac8751dfdf3520f90b2ad8d09ebc452cc42831 Mon Sep 17 00:00:00 2001 From: Joel Hutton Date: Mon, 13 Dec 2021 14:49:55 +0000 Subject: [PATCH] vect-loop: fix build Previous commit broke build as it relied on directly_supported_p which is not in 11. This reworks to avoid using directly_supported_p. gcc/ChangeLog: * tree-vect-loop.c (vectorizable_induction): Rework to avoid directly_supported_p --- gcc/tree-vect-loop.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 54320681119d880ec2cbe641fe16ee73e552f57d..8f464e61780dbb2df5836022d77307c5c90a4b6f 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -7997,8 +7997,14 @@ vectorizable_induction (loop_vec_info loop_vinfo, tree step_vectype = get_same_sized_vectype (TREE_TYPE (step_expr), vectype); /* Check for backend support of PLUS/MINUS_EXPR. */ - if (!directly_supported_p (PLUS_EXPR, step_vectype) - || !directly_supported_p (MINUS_EXPR, step_vectype)) + direct_optab ot_plus = optab_for_tree_code (tree_code (PLUS_EXPR), + step_vectype, optab_default); + direct_optab ot_minus = optab_for_tree_code (tree_code (MINUS_EXPR), + step_vectype, optab_default); + if (ot_plus == unknown_optab + || ot_minus == unknown_optab + || optab_handler (ot_minus, TYPE_MODE (step_vectype)) == CODE_FOR_nothing + || optab_handler (ot_plus, TYPE_MODE (step_vectype)) == CODE_FOR_nothing); return false; if (!vec_stmt) /* transformation not required. */ -- 2.17.1