Hi Richards,
This patch adds support for the V8QI->V8HI case from widening vect patterns as
discussed to target PR98772.
Bootstrapped and regression tested on aarch64.
[aarch64][vect] Support V8QI->V8HI WIDEN_ patterns
In the case where 8 out of every 16 elements are widened using a
wi
t;
>
> [aarch64][vect] Support V8QI->V8HI WIDEN_ patterns
>
> In the case where 8 out of every 16 elements are widened using a
> widening pattern and the next 8 are skipped the patterns are not
> recognized. This is because they are normally used in a pair, such as
> VEC
Thanks for the quick review.
Updated patch attached. I've addressed your comments below.
Tests are still running, OK for trunk assuming tests come out clean?
[aarch64][vect] Support V8QI->V8HI WIDEN_ patterns
In the case where 8 out of every 16 elements are widened using a
widening pat
Joel Hutton writes:
> @@ -277,6 +277,81 @@ optab_for_tree_code (enum tree_code code, const_tree
> type,
> }
> }
>
> +/* Function supportable_half_widening_operation
> +
I realise existing (related) functions do have a “Function foo” line,
but it's not generally the GCC style, so I think
inary widening operation can only be supported directly by the
>> architecture. */
>> @@ -4981,10 +5052,16 @@ vectorizable_conversion (vec_info *vinfo,
>> c1 = codecvt1;
>> c2 = codecvt2;
>>}
>> - vect_create_vectori
One more formatting nit, sorry:
Joel Hutton writes:
> +bool
> +supportable_half_widening_operation (enum tree_code code,
> +tree vectype_out, tree vectype_in,
> +enum tree_code *code1)
The arguments need reindenting for the new function nam