diff options
author | Renlin Li <renlin.li@arm.com> | 2018-10-15 16:49:05 +0000 |
---|---|---|
committer | Renlin Li <renlin@gcc.gnu.org> | 2018-10-15 16:49:05 +0000 |
commit | 4124119974fd87380de607a6bc9bfdcffe1702d8 (patch) | |
tree | 47feff0e7142f9546cb0f5127556626781cb82d4 /gcc/internal-fn.h | |
parent | e60f68ec460bc5b33a6f75caac9667bf978f37d8 (diff) |
[PR87563][AARCH64-SVE]: Don't keep ifcvt loop when COND_<OP> ifn could not be vectorized.
ifcvt will created versioned loop and it will permissively generate
scalar COND_<OP> ifn.
If in the loop vectorize pass, COND_<OP> could not get vectoized,
the if-converted loop should be abandoned when the target doesn't support
such ifn.
gcc/
2018-10-12 Renlin Li <renlin.li@arm.com>
PR target/87563
* tree-vectorizer.c (try_vectorize_loop_1): Don't use
if-conversioned loop when it contains ifn with types not
supported by backend.
* internal-fn.c (expand_direct_optab_fn): Add an assert.
(direct_internal_fn_supported_p): New helper function.
* internal-fn.h (direct_internal_fn_supported_p): Declare.
gcc/testsuite/
2018-10-12 Renlin Li <renlin.li@arm.com>
PR target/87563
* gcc.target/aarch64/sve/pr87563.c: New.
From-SVN: r265172
Diffstat (limited to 'gcc/internal-fn.h')
-rw-r--r-- | gcc/internal-fn.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/internal-fn.h b/gcc/internal-fn.h index 99765cf407a..ff3bace1ce6 100644 --- a/gcc/internal-fn.h +++ b/gcc/internal-fn.h @@ -187,6 +187,7 @@ extern bool direct_internal_fn_supported_p (internal_fn, tree_pair, optimization_type); extern bool direct_internal_fn_supported_p (internal_fn, tree, optimization_type); +extern bool direct_internal_fn_supported_p (gcall *, optimization_type); /* Return true if FN is supported for types TYPE0 and TYPE1 when the optimization type is OPT_TYPE. The types are those associated with |