Re: [PATCH 11/13] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in
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
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 {} >
[PATCH 11/13] rs6000, remove __builtin_vsx_xvcmpeqsp_p built-in
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. gcc/ChangeLog: * config/rs6000/rs6000-builtin.cc (case RS6000_BIF_RSQRT): Remove case statement. * 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; 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 {} - 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 {} -- 2.44.0