Hi Carl,
on 2024/6/14 03:40, Carl Love wrote:
> GCC maintainers:
>
> Per the comments on patch 0004 from version 3, the removal of
> The built-in __builtin_vsx_xvcvdpuxds_uns and __builtin_vsx_xvcvspuxws was
> moved to this patch. The rest of the patch is unchanged from version 3.
> There were no comments on this patch for version 3.
>
> Please let me know if this patch is acceptable. Thanks.
>
> Carl
>
>
> -----------------------------------------------------
>
> rs6000, Remove __builtin_vsx_xvcvspsxws,
> __builtin_vsx_xvcvdpuxds_uns, __builtin_vsx_xvcvspuxws built-ins.
Nit: Maybe make it shorter like: Remove built-ins
__builtin_vsx_xvcv{sp{sx,u}ws,dpuxds_uns}
>
> The built-in __builtin_vsx_xvcvspsxws is a duplicate of the vec_signed
Nit: Strictly speaking, not a duplicate of vec_signed but covered by it.
> built-in that is documented in the PVIPR. The __builtin_vsx_xvcvspsxws
> built-in is not documented and there are no test cases for it.
>
> The built-in __builtin_vsx_xvcvdpuxds_uns is redundant as it is covered by
> vec_unsigned, remove.
>
> The __builtin_vsx_xvcvspuxws is redundant as it is covered by
> vec_unsigned, remove.
As mentioned in the previous review, I'd expect patch 4/13 only focuses on
extending vec_{un,}signed{e,o} for vector float (aka. __builtin_vsx_xvcvspsxds
and __builtin_vsx_xvcvspuxds related), and this patch focuses on some built-in
removals which have been covered by the existing vec_{un,}signed{,e,o}, so
it can also drop the built-ins:
"The built-in __builtin_vsx_xvcvdpsxws is redundant as it is covered by
vec_signed{e,o}, remove.
The built-in __builtin_vsx_xvcvdpuxws is redundant as it is covered by
vec_unsigned{e,o}, remove."
// copied from 4/13.
BR,
Kewen
>
> This patch removes the redundant built-in.
>
> gcc/ChangeLog:
> * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspsxws,
> __builtin_vsx_xvcvdpuxds_uns, __builtin_vsx_xvcvspuxws):
> Remove built-in definitions.
> ---
> gcc/config/rs6000/rs6000-builtins.def | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/gcc/config/rs6000/rs6000-builtins.def
> b/gcc/config/rs6000/rs6000-builtins.def
> index 7c36976a089..8cf0b715898 100644
> --- a/gcc/config/rs6000/rs6000-builtins.def
> +++ b/gcc/config/rs6000/rs6000-builtins.def
> @@ -1697,9 +1697,6 @@
> const vsll __builtin_vsx_xvcvdpuxds_scale (vd, const int);
> XVCVDPUXDS_SCALE vsx_xvcvdpuxds_scale {}
>
> - const vull __builtin_vsx_xvcvdpuxds_uns (vd);
> - XVCVDPUXDS_UNS vsx_fixuns_truncv2dfv2di2 {}
> -
> const vsi __builtin_vsx_xvcvdpuxws (vd);
> XVCVDPUXWS vsx_xvcvdpuxws {}
>
> @@ -1709,15 +1706,9 @@
> const vsll __builtin_vsx_xvcvspsxds (vf);
> XVCVSPSXDS vsx_xvcvspsxds {}
>
> - const vsi __builtin_vsx_xvcvspsxws (vf);
> - XVCVSPSXWS vsx_fix_truncv4sfv4si2 {}
> -
> const vsll __builtin_vsx_xvcvspuxds (vf);
> XVCVSPUXDS vsx_xvcvspuxds {}
>
> - const vsi __builtin_vsx_xvcvspuxws (vf);
> - XVCVSPUXWS vsx_fixuns_truncv4sfv4si2 {}
> -
> const vd __builtin_vsx_xvcvsxddp (vsll);
> XVCVSXDDP vsx_floatv2div2df2 {}
>