From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 5B028385042A; Thu, 30 Jun 2022 18:34:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B028385042A Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/work093)] Revert patch. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work093 X-Git-Oldrev: 15d214b9b398b045883a4a1b461ef2f16f804d7f X-Git-Newrev: 632526bbf7a53f8e2286d5a7da91068aed05b8c3 Message-Id: <20220630183424.5B028385042A@sourceware.org> Date: Thu, 30 Jun 2022 18:34:24 +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: Thu, 30 Jun 2022 18:34:24 -0000 https://gcc.gnu.org/g:632526bbf7a53f8e2286d5a7da91068aed05b8c3 commit 632526bbf7a53f8e2286d5a7da91068aed05b8c3 Author: Michael Meissner Date: Thu Jun 30 14:33:11 2022 -0400 Revert patch. Overload IEEE 128-bit scalar eq, gt, lt, and unordered built-ins. 2022-06-30 Michael Meissner gcc/ Revert patch. * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Remove converting KFmode comparison built-in functions to TFmode comparison built-in functions when long double is IEEE 128-bit. * config/rs6000/rs6000-builtins.def (__builtin_vsx_scalar_cmp_exp_qp_eq_kf): Rename KFmode comparison built-in functions to have a KF suffix to allow overloading. (__builtin_vsx_scalar_cmp_exp_qp_gt_kf): Likewise. (__builtin_vsx_scalar_cmp_exp_qp_lt_kf): Likewise. (__builtin_vsx_scalar_cmp_exp_qp_unordered_kf): Likewise. (__builtin_vsx_scalar_cmp_exp_qp_eq_tf): Add TFmode comparison built-in functions. (__builtin_vsx_scalar_cmp_exp_qp_gt_tf): Likewise. (__builtin_vsx_scalar_cmp_exp_qp_lt_tf): Likewise. (__builtin_vsx_scalar_cmp_exp_qp_unordered_tf): Likewise. * config/rs6000/rs6000-overload.def (__builtin_vec_scalar_cmp_exp_eq): Add TFmode overloaded functions. (__builtin_vec_scalar_cmp_exp_gt): Likewise. (__builtin_vec_scalar_cmp_exp_lt): Likewise. (__builtin_vec_scalar_cmp_exp_unordered): Likewise. Diff: --- gcc/config/rs6000/rs6000-builtin.cc | 12 ++++++++++++ gcc/config/rs6000/rs6000-builtins.def | 32 ++++++++------------------------ gcc/config/rs6000/rs6000-overload.def | 16 ++++------------ 3 files changed, 24 insertions(+), 36 deletions(-) diff --git a/gcc/config/rs6000/rs6000-builtin.cc b/gcc/config/rs6000/rs6000-builtin.cc index 3c30b3290a5..2e346d24db6 100644 --- a/gcc/config/rs6000/rs6000-builtin.cc +++ b/gcc/config/rs6000/rs6000-builtin.cc @@ -3336,6 +3336,18 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */, case CODE_FOR_xststdcqp_kf: icode = CODE_FOR_xststdcqp_tf; break; + case CODE_FOR_xscmpexpqp_eq_kf: + icode = CODE_FOR_xscmpexpqp_eq_tf; + break; + case CODE_FOR_xscmpexpqp_lt_kf: + icode = CODE_FOR_xscmpexpqp_lt_tf; + break; + case CODE_FOR_xscmpexpqp_gt_kf: + icode = CODE_FOR_xscmpexpqp_gt_tf; + break; + case CODE_FOR_xscmpexpqp_unordered_kf: + icode = CODE_FOR_xscmpexpqp_unordered_tf; + break; default: break; } diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def index e96b89c449b..d72ff8cb7fe 100644 --- a/gcc/config/rs6000/rs6000-builtins.def +++ b/gcc/config/rs6000/rs6000-builtins.def @@ -2880,18 +2880,18 @@ fpmath _Float128 __builtin_mulf128_round_to_odd_kf (_Float128, _Float128); MULF128_ODD_KF mulkf3_odd {} - const signed int __builtin_vsx_scalar_cmp_exp_qp_eq_kf (_Float128, _Float128); - VSCEQPEQ_KF xscmpexpqp_eq_kf {} + const signed int __builtin_vsx_scalar_cmp_exp_qp_eq (_Float128, _Float128); + VSCEQPEQ xscmpexpqp_eq_kf {} - const signed int __builtin_vsx_scalar_cmp_exp_qp_gt_kf (_Float128, _Float128); - VSCEQPGT_KF xscmpexpqp_gt_kf {} + const signed int __builtin_vsx_scalar_cmp_exp_qp_gt (_Float128, _Float128); + VSCEQPGT xscmpexpqp_gt_kf {} - const signed int __builtin_vsx_scalar_cmp_exp_qp_lt_kf (_Float128, _Float128); - VSCEQPLT_KF xscmpexpqp_lt_kf {} + const signed int __builtin_vsx_scalar_cmp_exp_qp_lt (_Float128, _Float128); + VSCEQPLT xscmpexpqp_lt_kf {} const signed int \ - __builtin_vsx_scalar_cmp_exp_qp_unordered_kf (_Float128, _Float128); - VSCEQPUO_KF xscmpexpqp_unordered_kf {} + __builtin_vsx_scalar_cmp_exp_qp_unordered (_Float128, _Float128); + VSCEQPUO xscmpexpqp_unordered_kf {} fpmath _Float128 __builtin_sqrtf128_round_to_odd_kf (_Float128); SQRTF128_ODD_KF sqrtkf2_odd {} @@ -2942,22 +2942,6 @@ long double); MULF128_ODD_TF multf3_odd {ieeeld} - const signed int __builtin_vsx_scalar_cmp_exp_qp_eq_tf (long double, \ - long double); - VSCEQPEQ_TF xscmpexpqp_eq_tf {ieeeld} - - const signed int __builtin_vsx_scalar_cmp_exp_qp_gt_tf (long double, \ - long double); - VSCEQPGT_TF xscmpexpqp_gt_kf {ieeeld} - - const signed int __builtin_vsx_scalar_cmp_exp_qp_lt_tf (long double, \ - long double); - VSCEQPLT_TF xscmpexpqp_lt_tf {ieeeld} - - const signed int \ - __builtin_vsx_scalar_cmp_exp_qp_unordered_tf (_Float128, _Float128); - VSCEQPUO_TF xscmpexpqp_unordered_tf {ieeeld} - fpmath long double __builtin_sqrtf128_round_to_odd_tf (long double); SQRTF128_ODD_TF sqrttf2_odd {ieeeld} diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def index 511a3821d5b..f406a16a882 100644 --- a/gcc/config/rs6000/rs6000-overload.def +++ b/gcc/config/rs6000/rs6000-overload.def @@ -4474,33 +4474,25 @@ signed int __builtin_vec_scalar_cmp_exp_eq (double, double); VSCEDPEQ signed int __builtin_vec_scalar_cmp_exp_eq (_Float128, _Float128); - VSCEQPEQ_KF - signed int __builtin_vec_scalar_cmp_exp_eq (long double, long double); - VSCEQPEQ_TF + VSCEQPEQ [VEC_VSCEGT, scalar_cmp_exp_gt, __builtin_vec_scalar_cmp_exp_gt] signed int __builtin_vec_scalar_cmp_exp_gt (double, double); VSCEDPGT signed int __builtin_vec_scalar_cmp_exp_gt (_Float128, _Float128); - VSCEQPGT_KF - signed int __builtin_vec_scalar_cmp_exp_gt (long double, long double); - VSCEQPGT_TF + VSCEQPGT [VEC_VSCELT, scalar_cmp_exp_lt, __builtin_vec_scalar_cmp_exp_lt] signed int __builtin_vec_scalar_cmp_exp_lt (double, double); VSCEDPLT signed int __builtin_vec_scalar_cmp_exp_lt (_Float128, _Float128); - VSCEQPLT_KF - signed int __builtin_vec_scalar_cmp_exp_lt (long double, long double); - VSCEQPLT_TF + VSCEQPLT [VEC_VSCEUO, scalar_cmp_exp_unordered, __builtin_vec_scalar_cmp_exp_unordered] signed int __builtin_vec_scalar_cmp_exp_unordered (double, double); VSCEDPUO signed int __builtin_vec_scalar_cmp_exp_unordered (_Float128, _Float128); - VSCEQPUO_KF - signed int __builtin_vec_scalar_cmp_exp_unordered (long double, long double); - VSCEQPUO_TF + VSCEQPUO [VEC_VSEE, scalar_extract_exp, __builtin_vec_scalar_extract_exp] unsigned int __builtin_vec_scalar_extract_exp (double);