Require equal shift amounts for IFN_DIV_POW2
Jeff Law
law@redhat.com
Mon Jan 6 16:35:00 GMT 2020
On Thu, 2019-12-19 at 15:22 +0000, Richard Sandiford wrote:
> IFN_DIV_POW2 currently requires all elements to be shifted by the
> same amount, in a similar way as for WIDEN_LSHIFT_EXPR. This patch
> enforces that when building the SLP tree.
>
> If in future targets want to support IFN_DIV_POW2 without this
> restriction, we'll probably need the kind of vector-vector/
> vector-scalar split that we already have for normal shifts.
>
> Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
>
> Richard
>
>
> 2019-12-19 Richard Sandiford <richard.sandiford@arm.com>
>
> gcc/
> * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
> in an IFN_DIV_POW2 node to be equal.
>
> gcc/testsuite/
> * gcc.target/aarch64/sve/asrdiv_1.c: Remove trailing %s.
> * gcc.target/aarch64/sve/asrdiv_2.c: New test.
> * gcc.target/aarch64/sve/asrdiv_3.c: Likewise.
OK
jeff
>
More information about the Gcc-patches
mailing list