This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [SVE] PR88839


Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> writes:
> Hi,
> The attached patch is a fix for PR88839 ported from sve-acle-branch.
> OK to commit to trunk ?
>
> Thanks,
> Prathamesh
>
> 2019-08-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
> 	    Richard Sandiford  <richard.sandiford@arm.com>
>
> 	PR target/88839
> 	* config/aarch64/aarch64.c (aarch64_evpc_sel): New function.
> 	(aarch64_expand_vec_perm_const_1): Call aarch64_evpc_sel.
>
> testsuite/
> 	* gcc.target/aarch64/sve/sel_1.c: New test.
> 	* gcc.target/aarch64/sve/sel_2.c: Likewise.
> 	* gcc.target/aarch64/sve/sel_3.c: Likewise.
> 	* gcc.target/aarch64/sve/sel_4.c: Likewise.
> 	* gcc.target/aarch64/sve/sel_5.c: Likewise.
> 	* gcc.target/aarch64/sve/sel_6.c: Likewise.
>
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index ec60e972f5f..f8d5270b982 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -16632,6 +16632,50 @@ aarch64_evpc_sve_tbl (struct expand_vec_perm_d *d)
>    return true;
>  }
>  
> +/* Try to implement D using SVE SEL instruction.  */
> +
> +static bool
> +aarch64_evpc_sel (struct expand_vec_perm_d *d)
> +{
> +  machine_mode vmode = d->vmode;
> +  int nunits = GET_MODE_UNIT_SIZE (vmode);

Sorry for not noticing last time, but this should be "unit_size"
rather than "nunit".

OK with that change, thanks.

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]