diff mbox series

[2/4] rs6000, remove built-ins __builtin_vsx_vperm_8hi and, __builtin_vsx_vperm_8hi_uns

Message ID f57af43e-b999-42c0-8a6a-e37572a3dfd0@linux.ibm.com
State New
Headers show
Series rs6000, remove redundant built-ins and add more test cases | expand

Commit Message

Carl Love Aug. 7, 2024, 5:15 p.m. UTC
GCC maintainers:

The following patch removes two redundant built-ins 
__builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins 
are covered by the overloaded vec_perm built-in.

The patch has been tested on Power 10 LE and BE with no regressions.

Please let me know if it is acceptable for mainline.  Thanks.

                       Carl

-------------------------------------------------------------
rs6000, remove built-ins __builtin_vsx_vperm_8hi and 
__builtin_vsx_vperm_8hi_uns

The two built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns
are redundant. The are covered by the overloaded vec_perm built-in.  The
built-ins are not documented and do not have test cases.

This patch removes the redundant built-ins.

gcc/ChangeLog:
     * config/rs6000/rs6000-builtins.def (__builtin_vsx_vperm_8hi,
     __builtin_vsx_vperm_8hi_uns): Remove built-in definitions.
---
  gcc/config/rs6000/rs6000-builtins.def | 6 ------
  1 file changed, 6 deletions(-)

Comments

Kewen.Lin Aug. 9, 2024, 10:11 a.m. UTC | #1
Hi Carl,

on 2024/8/8 01:15, Carl Love wrote:
> 
> GCC maintainers:
> 
> The following patch removes two redundant built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins are covered by the overloaded vec_perm built-in.
> 
> The patch has been tested on Power 10 LE and BE with no regressions.
> 
> Please let me know if it is acceptable for mainline.  Thanks.
> 
>                       Carl
> 
> -------------------------------------------------------------
> rs6000, remove built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns
> 
> The two built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns
> are redundant. The are covered by the overloaded vec_perm built-in.  The
> built-ins are not documented and do not have test cases.

OK for trunk, maybe also mention this is a follow up of r15-1923, thanks!

BR,
Kewen

> 
> This patch removes the redundant built-ins.
> 
> gcc/ChangeLog:
>     * config/rs6000/rs6000-builtins.def (__builtin_vsx_vperm_8hi,
>     __builtin_vsx_vperm_8hi_uns): Remove built-in definitions.
> ---
>  gcc/config/rs6000/rs6000-builtins.def | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def
> index 0c3c884c110..8bb7686bcc8 100644
> --- a/gcc/config/rs6000/rs6000-builtins.def
> +++ b/gcc/config/rs6000/rs6000-builtins.def
> @@ -1469,12 +1469,6 @@
>    const vf __builtin_vsx_uns_floato_v2di (vsll);
>      UNS_FLOATO_V2DI unsfloatov2di {}
> 
> -  const vss __builtin_vsx_vperm_8hi (vss, vss, vuc);
> -    VPERM_8HI_X altivec_vperm_v8hi {}
> -
> -  const vus __builtin_vsx_vperm_8hi_uns (vus, vus, vuc);
> -    VPERM_8HI_UNS_X altivec_vperm_v8hi_uns {}
> -
>    const vsll __builtin_vsx_vsigned_v2df (vd);
>      VEC_VSIGNED_V2DF vsx_xvcvdpsxds {}
>
Carl Love Sept. 30, 2024, 10:42 p.m. UTC | #2
GCC maintainers:

Here is my respnses to the review comments by Kewen.  Unfortunately, 
Kewen is no longer working on GCC power.

I will submit an updated version of the patch with Kewen's suggested 
changes.

                                      Carl


On 8/9/24 3:11 AM, Kewen.Lin wrote:
> Hi Carl,
>
> on 2024/8/8 01:15, Carl Love wrote:
>> GCC maintainers:
>>
>> The following patch removes two redundant built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns.  The built-ins are covered by the overloaded vec_perm built-in.
>>
>> The patch has been tested on Power 10 LE and BE with no regressions.
>>
>> Please let me know if it is acceptable for mainline.  Thanks.
>>
>>                        Carl
>>
>> -------------------------------------------------------------
>> rs6000, remove built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns
>>
>> The two built-ins __builtin_vsx_vperm_8hi and __builtin_vsx_vperm_8hi_uns
>> are redundant. The are covered by the overloaded vec_perm built-in.  The
>> built-ins are not documented and do not have test cases.
> OK for trunk, maybe also mention this is a follow up of r15-1923, thanks!

Yes, added:

   The removal of these built-ins was missed in commit gcc r15-1923 on 
7/9/2024.

to the patch description.

                                                  Carl
diff mbox series

Patch

diff --git a/gcc/config/rs6000/rs6000-builtins.def 
b/gcc/config/rs6000/rs6000-builtins.def
index 0c3c884c110..8bb7686bcc8 100644
--- a/gcc/config/rs6000/rs6000-builtins.def
+++ b/gcc/config/rs6000/rs6000-builtins.def
@@ -1469,12 +1469,6 @@ 
    const vf __builtin_vsx_uns_floato_v2di (vsll);
      UNS_FLOATO_V2DI unsfloatov2di {}

-  const vss __builtin_vsx_vperm_8hi (vss, vss, vuc);
-    VPERM_8HI_X altivec_vperm_v8hi {}
-
-  const vus __builtin_vsx_vperm_8hi_uns (vus, vus, vuc);
-    VPERM_8HI_UNS_X altivec_vperm_v8hi_uns {}
-
    const vsll __builtin_vsx_vsigned_v2df (vd);
      VEC_VSIGNED_V2DF vsx_xvcvdpsxds {}