Re: [PATCH 11/13] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in

2024-05-24 Thread Carl Love



On 5/13/24 22:26, Kewen.Lin wrote:
> Hi,
> 
> on 2024/4/20 05:18, Carl Love wrote:
>> rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in
>>
>> The built-in __builtin_vsx_xvcmpeqsp_p is a duplicate of the overloaded
>> __builtin_altivec_vcmpeqfp_p built-in.  The built-in is undocumented and
>> there are no test cases for it.  The patch removes built-in
>> __builtin_vsx_xvcmpeqsp_p.
> As the previous review comments in the v1 (this is actually v2):
> https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646728.html
> , both __builtin_vsx_xvcmpeqsp_p and __builtin_vsx_xvcmpeqsp can be
> dropped, so please consider __builtin_vsx_xvcmpeqsp as well.

Yes, as you noted, __builtin_vsx_xvcmpeqsp is removed in the next patch.
> 
>>
>> gcc/ChangeLog:
>>  * config/rs6000/rs6000-builtin.cc (case RS6000_BIF_RSQRT):
>>  Remove case statement.
> 
> It seems you mixed this with some other patch, this line doesn't
> belong to this patch, ...

Took that out of this patch.  Didn't get the changes separated cleanly.

> 
>> * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp_p):
>>  Remove built-in definition.
>> ---
>>  gcc/config/rs6000/rs6000-builtin.cc   | 6 --
>>  gcc/config/rs6000/rs6000-builtins.def | 6 --
>>  2 files changed, 12 deletions(-)
>>
>> diff --git a/gcc/config/rs6000/rs6000-builtin.cc 
>> b/gcc/config/rs6000/rs6000-builtin.cc
>> index f83d65b06ef..74ed8fc1805 100644
>> --- a/gcc/config/rs6000/rs6000-builtin.cc
>> +++ b/gcc/config/rs6000/rs6000-builtin.cc
>> @@ -269,12 +269,6 @@ rs6000_builtin_md_vectorized_function (tree fndecl, 
>> tree type_out,
>>  = (enum rs6000_gen_builtins) DECL_MD_FUNCTION_CODE (fndecl);
>>switch (fn)
>>  {
>> -case RS6000_BIF_RSQRTF:
>> -  if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
>> -  && out_mode == SFmode && out_n == 4
>> -  && in_mode == SFmode && in_n == 4)
>> -return rs6000_builtin_decls[RS6000_BIF_VRSQRTFP];
>> -  break;
> 
> ... and this ...

Ditto

> 
>>  case RS6000_BIF_RSQRT:
>>if (VECTOR_UNIT_VSX_P (V2DFmode)
>>&& out_mode == DFmode && out_n == 2
>> diff --git a/gcc/config/rs6000/rs6000-builtins.def 
>> b/gcc/config/rs6000/rs6000-builtins.def
>> index d65c858ac0c..2f6149edd5f 100644
>> --- a/gcc/config/rs6000/rs6000-builtins.def
>> +++ b/gcc/config/rs6000/rs6000-builtins.def
>> @@ -917,9 +917,6 @@
>>fpmath vf __builtin_altivec_vrsqrtefp (vf);
>>  VRSQRTEFP rsqrtev4sf2 {}
>>  
>> -  fpmath vf __builtin_altivec_vrsqrtfp (vf);
>> -VRSQRTFP rsqrtv4sf2 {}
>> -
> 
> ..., also this.

Ditto

> 
> BR,
> Kewen
> 
>>const vsc __builtin_altivec_vsel_16qi (vsc, vsc, vuc);
>>  VSEL_16QI vector_select_v16qi {}
>>  
>> @@ -1619,9 +1616,6 @@
>>const vf __builtin_vsx_xvcmpeqsp (vf, vf);
>>  XVCMPEQSP vector_eqv4sf {}
>>  
>> -  const signed int __builtin_vsx_xvcmpeqsp_p (signed int, vf, vf);
>> -XVCMPEQSP_P vector_eq_v4sf_p {pred}
>> -
>>const vd __builtin_vsx_xvcmpgedp (vd, vd);
>>  XVCMPGEDP vector_gev2df {}
>>  


Re: [PATCH 11/13] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in

2024-05-14 Thread Kewen.Lin
Hi,

on 2024/4/20 05:18, Carl Love wrote:
> rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in
> 
> The built-in __builtin_vsx_xvcmpeqsp_p is a duplicate of the overloaded
> __builtin_altivec_vcmpeqfp_p built-in.  The built-in is undocumented and
> there are no test cases for it.  The patch removes built-in
> __builtin_vsx_xvcmpeqsp_p.
As the previous review comments in the v1 (this is actually v2):
https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646728.html
, both __builtin_vsx_xvcmpeqsp_p and __builtin_vsx_xvcmpeqsp can be
dropped, so please consider __builtin_vsx_xvcmpeqsp as well.

> 
> gcc/ChangeLog:
>   * config/rs6000/rs6000-builtin.cc (case RS6000_BIF_RSQRT):
>   Remove case statement.

It seems you mixed this with some other patch, this line doesn't
belong to this patch, ...

> * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp_p):
>   Remove built-in definition.
> ---
>  gcc/config/rs6000/rs6000-builtin.cc   | 6 --
>  gcc/config/rs6000/rs6000-builtins.def | 6 --
>  2 files changed, 12 deletions(-)
> 
> diff --git a/gcc/config/rs6000/rs6000-builtin.cc 
> b/gcc/config/rs6000/rs6000-builtin.cc
> index f83d65b06ef..74ed8fc1805 100644
> --- a/gcc/config/rs6000/rs6000-builtin.cc
> +++ b/gcc/config/rs6000/rs6000-builtin.cc
> @@ -269,12 +269,6 @@ rs6000_builtin_md_vectorized_function (tree fndecl, tree 
> type_out,
>  = (enum rs6000_gen_builtins) DECL_MD_FUNCTION_CODE (fndecl);
>switch (fn)
>  {
> -case RS6000_BIF_RSQRTF:
> -  if (VECTOR_UNIT_ALTIVEC_OR_VSX_P (V4SFmode)
> -   && out_mode == SFmode && out_n == 4
> -   && in_mode == SFmode && in_n == 4)
> - return rs6000_builtin_decls[RS6000_BIF_VRSQRTFP];
> -  break;

... and this ...

>  case RS6000_BIF_RSQRT:
>if (VECTOR_UNIT_VSX_P (V2DFmode)
> && out_mode == DFmode && out_n == 2
> diff --git a/gcc/config/rs6000/rs6000-builtins.def 
> b/gcc/config/rs6000/rs6000-builtins.def
> index d65c858ac0c..2f6149edd5f 100644
> --- a/gcc/config/rs6000/rs6000-builtins.def
> +++ b/gcc/config/rs6000/rs6000-builtins.def
> @@ -917,9 +917,6 @@
>fpmath vf __builtin_altivec_vrsqrtefp (vf);
>  VRSQRTEFP rsqrtev4sf2 {}
>  
> -  fpmath vf __builtin_altivec_vrsqrtfp (vf);
> -VRSQRTFP rsqrtv4sf2 {}
> -

..., also this.

BR,
Kewen

>const vsc __builtin_altivec_vsel_16qi (vsc, vsc, vuc);
>  VSEL_16QI vector_select_v16qi {}
>  
> @@ -1619,9 +1616,6 @@
>const vf __builtin_vsx_xvcmpeqsp (vf, vf);
>  XVCMPEQSP vector_eqv4sf {}
>  
> -  const signed int __builtin_vsx_xvcmpeqsp_p (signed int, vf, vf);
> -XVCMPEQSP_P vector_eq_v4sf_p {pred}
> -
>const vd __builtin_vsx_xvcmpgedp (vd, vd);
>  XVCMPGEDP vector_gev2df {}
>