https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111156

--- Comment #22 from rguenther at suse dot de <rguenther at suse dot de> ---
> Am 15.02.2024 um 19:53 schrieb tnfchris at gcc dot gnu.org 
> <gcc-bugzi...@gcc.gnu.org>:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111156
> 
> --- Comment #21 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
> (In reply to Richard Biener from comment #18)
>> diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
>> index 7cf9504398c..8deeecfd4aa 100644
>> --- a/gcc/tree-vect-slp.cc
>> +++ b/gcc/tree-vect-slp.cc
>> @@ -1280,8 +1280,11 @@ vect_build_slp_tree_1 (vec_info *vinfo, unsigned char
>> *swap,
>>                    && rhs_code.is_tree_code ()
>>                    && (TREE_CODE_CLASS (tree_code (first_stmt_code))
>>                        == tcc_comparison)
>> -                   && (swap_tree_comparison (tree_code (first_stmt_code))
>> -                       == tree_code (rhs_code)))
>> +                   && ((swap_tree_comparison (tree_code (first_stmt_code))
>> +                        == tree_code (rhs_code))
>> +                       || ((TREE_CODE_CLASS (tree_code (alt_stmt_code))
>> +                            == tcc_comparison)
>> +                           && rhs_code == alt_stmt_code)))
>>               && !(STMT_VINFO_GROUPED_ACCESS (stmt_info)
>>                    && (first_stmt_code == ARRAY_REF
>>                        || first_stmt_code == BIT_FIELD_REF
>> 
>> should get you SLP but:
>> 
>> t.c:8:26: note:   === vect_slp_analyze_operations ===
>> t.c:8:26: note:   ==> examining statement: pretmp_29 = *_28;
>> t.c:8:26: missed:   unsupported load permutation
>> t.c:10:30: missed:   not vectorized: relevant stmt not supported: pretmp_29
>> = *_28;
>> 
>> t.c:8:26: note:   op template: pretmp_29 = *_28;
>> t.c:8:26: note:         stmt 0 pretmp_29 = *_28;
>> t.c:8:26: note:         stmt 1 pretmp_29 = *_28;
>> t.c:8:26: note:         load permutation { 0 0 }
> 
> hmm with that applied I get:
> 
> sve-mis.c:8:26: note:   ==> examining statement: pretmp_29 = *_28;
> sve-mis.c:8:26: note:   Vectorizing an unaligned access.
> sve-mis.c:8:26: note:   vect_model_load_cost: unaligned supported by hardware.
> sve-mis.c:8:26: note:   vect_model_load_cost: inside_cost = 1, prologue_cost =
> 0 .
> 
> but it bails out at:
> 
> sve-mis.c:8:26: missed:   Not using elementwise accesses due to variable
> vectorization factor.
> sve-mis.c:10:25: missed:   not vectorized: relevant stmt not supported:
> .MASK_STORE (_5, 8B, _27, pretmp_29);
> sve-mis.c:8:26: missed:  bad operation or unsupported loop bound.
> 
> for me

I’ve used -fno-cost-model and looked at the SVE variant only.

> --
> You are receiving this mail because:
> You are the assignee for the bug.
> You are on the CC list for the bug.

Reply via email to