mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
vect: Add check for BUILT_IN_NORMAL to ifcvt [PR122103]
It was reported that some AVX10 test like gcc.target/i386/avx10_2-vcvtbf162ibs-2.c ICEd with my changes. It turns out it's due to associated_internal_fn only supporting BUILT_IN_NORMAL calls. This adds a check for this before calling associated_internal_fn. Manually tested the files since they have an effective target tests for hardware I don't have. gcc/ChangeLog: PR tree-optimization/122103 * tree-if-conv.cc (ifcvt_can_predicate): Add check for normal builtins.
This commit is contained in:
@@ -1006,8 +1006,10 @@ ifcvt_can_predicate (gimple *stmt)
|
||||
if (gimple_assign_single_p (stmt))
|
||||
return ifcvt_can_use_mask_load_store (stmt);
|
||||
|
||||
tree callee;
|
||||
if (gimple_call_builtin_p (stmt))
|
||||
if (tree callee = gimple_call_fndecl (stmt))
|
||||
if ((callee = gimple_call_fndecl (stmt))
|
||||
&& fndecl_built_in_p (callee, BUILT_IN_NORMAL))
|
||||
{
|
||||
auto ifn = associated_internal_fn (callee);
|
||||
auto cond_ifn = get_conditional_internal_fn (ifn);
|
||||
|
||||
Reference in New Issue
Block a user