From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1725) id 312393953424; Sun, 7 Feb 2021 18:18:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 312393953424 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: William Schmidt To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/wschmidt/heads/builtins4)] rs6000: More bug fixes X-Act-Checkin: gcc X-Git-Author: Bill Schmidt X-Git-Refname: refs/users/wschmidt/heads/builtins4 X-Git-Oldrev: 92a82cec66309dca22b888c31a52cca8b3978061 X-Git-Newrev: 1d603e60eac3b8aea4d246d7247093b9638c8fc4 Message-Id: <20210207181826.312393953424@sourceware.org> Date: Sun, 7 Feb 2021 18:18:26 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Feb 2021 18:18:26 -0000 https://gcc.gnu.org/g:1d603e60eac3b8aea4d246d7247093b9638c8fc4 commit 1d603e60eac3b8aea4d246d7247093b9638c8fc4 Author: Bill Schmidt Date: Wed Jan 27 17:00:50 2021 -0600 rs6000: More bug fixes 2021-01-27 Bill Schmidt gcc/ * config/rs6000/altivec.h (__builtin_vec_vaduh): Fix. (__builtin_vec_vaduw): Fix. * config/rs6000/rs6000-builtin-new.def: Miscellaneous fixes. * config/rs6000/rs6000-overload.def: Miscellaneous fixes. gcc/testsuite/ * gcc.target/powerpc/vadsdub-2.c: Remove deprecated interface. * gcc.target/powerpc/vadsduh-2.c: Likewise. * gcc.target/powerpc/vadsduw-2.c: Likewise. Diff: --- gcc/config/rs6000/altivec.h | 4 +-- gcc/config/rs6000/rs6000-builtin-new.def | 14 +++++----- gcc/config/rs6000/rs6000-overload.def | 38 ++++++++++++++-------------- gcc/testsuite/gcc.target/powerpc/vadsdub-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduh-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduw-2.c | 2 +- 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h index 1625670d24c..86464722d07 100644 --- a/gcc/config/rs6000/altivec.h +++ b/gcc/config/rs6000/altivec.h @@ -267,8 +267,8 @@ __altivec_scalar_pred(vec_any_nle, /* Deprecated interfaces. */ #ifdef _ARCH_PWR9 #define __builtin_vec_vadub __builtin_vec_vadu -#define __builtin_vec_vaduh __builtin_vec_vaduh -#define __builtin_vec_vaduw __builtin_vec_vaduw +#define __builtin_vec_vaduh __builtin_vec_vadu +#define __builtin_vec_vaduw __builtin_vec_vadu #endif #ifdef _ARCH_PWR10 diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-new.def index 061470d8198..417fd2a35dd 100644 --- a/gcc/config/rs6000/rs6000-builtin-new.def +++ b/gcc/config/rs6000/rs6000-builtin-new.def @@ -203,7 +203,7 @@ const __ibm128 __builtin_pack_ibm128 (double, double); PACK_IF packif {} - void __builtin_set_fpscr_rn (const int[0,7]); + void __builtin_set_fpscr_rn (const int[0,3]); SET_FPSCR_RN rs6000_set_fpscr_rn {} const double __builtin_unpack_ibm128 (__ibm128, const int<1>); @@ -3186,22 +3186,22 @@ const unsigned long long __builtin_altivec_vgnb (vuq, const int <2,7>); VGNB vgnb {} - const vuc __builtin_altivec_vinsgubvlx (unsigned char, vuc, unsigned int); + const vuc __builtin_altivec_vinsgubvlx (unsigned int, vuc, unsigned int); VINSERTGPRBL vinsertgl_v16qi {} - const vuc __builtin_altivec_vinsgubvrx (unsigned char, vuc, unsigned int); + const vuc __builtin_altivec_vinsgubvrx (unsigned int, vuc, unsigned int); VINSERTGPRBR vinsertgr_v16qi {} - const vull __builtin_altivec_vinsgudvlx (unsigned long long, vull, unsigned int); + const vull __builtin_altivec_vinsgudvlx (unsigned int, vull, unsigned int); VINSERTGPRDL vinsertgl_v2di {} - const vull __builtin_altivec_vinsgudvrx (unsigned long long, vull, unsigned int); + const vull __builtin_altivec_vinsgudvrx (unsigned int, vull, unsigned int); VINSERTGPRDR vinsertgr_v2di {} - const vus __builtin_altivec_vinsguhvlx (unsigned short, vus, unsigned int); + const vus __builtin_altivec_vinsguhvlx (unsigned int, vus, unsigned int); VINSERTGPRHL vinsertgl_v8hi {} - const vus __builtin_altivec_vinsguhvrx (unsigned short, vus, unsigned int); + const vus __builtin_altivec_vinsguhvrx (unsigned int, vus, unsigned int); VINSERTGPRHR vinsertgr_v8hi {} const vui __builtin_altivec_vinsguwvlx (unsigned int, vui, unsigned int); diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def index f9bf995de28..344c78b6a83 100644 --- a/gcc/config/rs6000/rs6000-overload.def +++ b/gcc/config/rs6000/rs6000-overload.def @@ -555,7 +555,7 @@ vuc __builtin_vec_clrl (vuc, unsigned int); VCLRLB VCLRLB_U -[VEC_CLRR, vec_clrr, __builtin_vec_clrr, ARCH_PWR10] +[VEC_CLRR, vec_clrr, __builtin_vec_clrr, _ARCH_PWR10] vsc __builtin_vec_clrr (vsc, unsigned int); VCLRRB VCLRRB_S vuc __builtin_vec_clrr (vuc, unsigned int); @@ -1054,7 +1054,7 @@ [VEC_CNTTZM, vec_cnttzm, __builtin_vec_vctzdm, _ARCH_PWR10] vull __builtin_vec_vctzdm (vull, vull); - CNTTZDM + VCTZDM [VEC_CNTLZ_LSBB, vec_cntlz_lsbb, __builtin_vec_vclzlsbb, _ARCH_PWR9] signed int __builtin_vec_vclzlsbb (vsc); @@ -1680,7 +1680,7 @@ XXGENPCVM_V2DI [VEC_GNB, vec_gnb, __builtin_vec_gnb, _ARCH_PWR10] - vull __builtin_vec_gnb (vuq, unsigned char); + unsigned long long __builtin_vec_gnb (vuq, const int); VGNB ; There are no actual builtins for vec_insert. There is special handling for @@ -2856,25 +2856,25 @@ [VEC_PERMX, vec_permx, __builtin_vec_xxpermx, _ARCH_PWR10] vsc __builtin_vec_xxpermx (vsc, vsc, vuc, const int); - XXPERMX_V16QI + XXPERMX_UV2DI XXPERMX_VSC vuc __builtin_vec_xxpermx (vuc, vuc, vuc, const int); - XXPERMX_UV16QI + XXPERMX_UV2DI XXPERMX_VUC vss __builtin_vec_xxpermx (vss, vss, vuc, const int); - XXPERMX_V8HI + XXPERMX_UV2DI XXPERMX_VSS vus __builtin_vec_xxpermx (vus, vus, vuc, const int); - XXPERMX_UV8HI + XXPERMX_UV2DI XXPERMX_VUS vsi __builtin_vec_xxpermx (vsi, vsi, vuc, const int); - XXPERMX_V4SI + XXPERMX_UV2DI XXPERMX_VSI vui __builtin_vec_xxpermx (vui, vui, vuc, const int); - XXPERMX_UV4SI + XXPERMX_UV2DI XXPERMX_VUI vsll __builtin_vec_xxpermx (vsll, vsll, vuc, const int); - XXPERMX_V2DI + XXPERMX_UV2DI XXPERMX_VSLL vull __builtin_vec_xxpermx (vull, vull, vuc, const int); - XXPERMX_UV2DI + XXPERMX_UV2DI XXPERMX_VULL vf __builtin_vec_xxpermx (vf, vf, vuc, const int); - XXPERMX_V4SF + XXPERMX_UV2DI XXPERMX_VF vd __builtin_vec_xxpermx (vd, vd, vuc, const int); - XXPERMX_V2DF + XXPERMX_UV2DI XXPERMX_VD [VEC_PERMXOR, vec_permxor, __builtin_vec_vpermxor] vsc __builtin_vec_vpermxor (vsc, vsc, vsc); @@ -2917,17 +2917,17 @@ VPOPCNTUD [VEC_PARITY_LSBB, vec_parity_lsbb, __builtin_vec_vparity_lsbb, _ARCH_PWR9] - vsi __builtin_vec_vparity_lsbb (vsi); + vui __builtin_vec_vparity_lsbb (vsi); VPRTYBW VPRTYBW_S - vsi __builtin_vec_vparity_lsbb (vui); + vui __builtin_vec_vparity_lsbb (vui); VPRTYBW VPRTYBW_U - vsll __builtin_vec_vparity_lsbb (vsll); + vull __builtin_vec_vparity_lsbb (vsll); VPRTYBD VPRTYBD_S - vsll __builtin_vec_vparity_lsbb (vull); + vull __builtin_vec_vparity_lsbb (vull); VPRTYBD VPRTYBD_U - vsq __builtin_vec_vparity_lsbb (vsq); + vuq __builtin_vec_vparity_lsbb (vsq); VPRTYBQ VPRTYBQ_S - vsq __builtin_vec_vparity_lsbb (vuq); + vuq __builtin_vec_vparity_lsbb (vuq); VPRTYBQ VPRTYBQ_U ; There are no actual builtins for vec_promote. There is special handling for diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c b/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c index c3d1bc84ade..53e2d895d46 100644 --- a/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c +++ b/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c @@ -15,7 +15,7 @@ doAbsoluteDifferenceUnsigned (__vector unsigned char *p, source_1 = *p; source_2 = *q; - uc_result = vec_absdb (source_1, source_2); + uc_result = vec_absd (source_1, source_2); return uc_result; } diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c b/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c index 7f17694cc09..6e28e62c043 100644 --- a/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c +++ b/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c @@ -14,7 +14,7 @@ doAbsoluteDifferenceUnsignedMacro (__vector unsigned short *p, source_1 = *p; source_2 = *q; - result = vec_absdh (source_1, source_2); + result = vec_absd (source_1, source_2); return result; } diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c b/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c index a330f526c51..0a22ccd9067 100644 --- a/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c +++ b/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c @@ -14,7 +14,7 @@ doAbsoluteDifferenceUnsignedMacro (__vector unsigned int *p, source_1 = *p; source_2 = *q; - result = vec_absdw (source_1, source_2); + result = vec_absd (source_1, source_2); return result; }