From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1461) id 822143858C60; Tue, 20 Jun 2023 09:51:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 822143858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1687254687; bh=SIZZMTCLPWfpfOS5qwewTd1yPN6z8IpGLS2I+6fBKrc=; h=From:To:Subject:Date:From; b=LxOm8gLdJeUKlldkdQzYP/tMP78jp76bTzERy1w4J4UUoG5wXFmuhnH/Sr4ExuwEa aSAco40Awlh5dTVQWSdTArG4kz1driUZ4lSow/Elx4VoX67w08pluAnwN5WiXZKdWM tv/v6zpL1ibfIh1uAApVC2C32fmXgv37L58wsT28= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Andrew Stubbs To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-13] amdgcn: Delete inactive libfuncs X-Act-Checkin: gcc X-Git-Author: Andrew Stubbs X-Git-Refname: refs/heads/devel/omp/gcc-13 X-Git-Oldrev: 273fadc1f3d3667b587c2facc8724df91de7ddb0 X-Git-Newrev: 78a5e2a2697075b5668b25069b7bedc7a11f6084 Message-Id: <20230620095127.822143858C60@sourceware.org> Date: Tue, 20 Jun 2023 09:51:27 +0000 (GMT) List-Id: https://gcc.gnu.org/g:78a5e2a2697075b5668b25069b7bedc7a11f6084 commit 78a5e2a2697075b5668b25069b7bedc7a11f6084 Author: Andrew Stubbs Date: Fri Jun 16 17:48:23 2023 +0100 amdgcn: Delete inactive libfuncs The HImode libfuncs weren't called and trying to enable them fails because TARGET_PROMOTE_FUNCTION_MODE wants to widen the arguments but the signedness isn't known. libgcc/ChangeLog: * config/gcn/lib2-gcn.h (QItype, UQItype, HItype, UHItype): Delete. (__divhi3, __modhi3, __udivhi3, __umodhi3): Delete. * config/gcn/t-amdgcn: Don't build lib2-divmod-hi.c. * config/gcn/lib2-divmod-hi.c: Removed. (cherry picked from commit 1ff8ba48a2958b5917653e1bc2ddd5ff22097fe7) Diff: --- libgcc/ChangeLog.omp | 10 ++++ libgcc/config/gcn/lib2-divmod-hi.c | 117 ------------------------------------- libgcc/config/gcn/lib2-gcn.h | 8 --- libgcc/config/gcn/t-amdgcn | 1 - 4 files changed, 10 insertions(+), 126 deletions(-) diff --git a/libgcc/ChangeLog.omp b/libgcc/ChangeLog.omp index fb563e03a32..866da56e547 100644 --- a/libgcc/ChangeLog.omp +++ b/libgcc/ChangeLog.omp @@ -1,3 +1,13 @@ +2023-06-20 Andrew Stubbs + + Backport from mainline: + 2023-06-19 Andrew Stubbs + + * config/gcn/lib2-gcn.h (QItype, UQItype, HItype, UHItype): Delete. + (__divhi3, __modhi3, __udivhi3, __umodhi3): Delete. + * config/gcn/t-amdgcn: Don't build lib2-divmod-hi.c. + * config/gcn/lib2-divmod-hi.c: Removed. + 2023-01-24 Thomas Schwinge * config/nvptx/crt0.c [!HAVE_STDLIB_H]: Don't '#include '. diff --git a/libgcc/config/gcn/lib2-divmod-hi.c b/libgcc/config/gcn/lib2-divmod-hi.c deleted file mode 100644 index f4584aabcd9..00000000000 --- a/libgcc/config/gcn/lib2-divmod-hi.c +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright (C) 2012-2023 Free Software Foundation, Inc. - Contributed by Altera and Mentor Graphics, Inc. - -This file is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3, or (at your option) any -later version. - -This file is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -#include "lib2-gcn.h" - -/* 16-bit HI divide and modulo as used in gcn. */ - -static UHItype -udivmodhi4 (UHItype num, UHItype den, word_type modwanted) -{ - UHItype bit = 1; - UHItype res = 0; - - while (den < num && bit && !(den & (1L<<15))) - { - den <<=1; - bit <<=1; - } - while (bit) - { - if (num >= den) - { - num -= den; - res |= bit; - } - bit >>=1; - den >>=1; - } - if (modwanted) - return num; - return res; -} - - -HItype -__divhi3 (HItype a, HItype b) -{ - word_type neg = 0; - HItype res; - - if (a < 0) - { - a = -a; - neg = !neg; - } - - if (b < 0) - { - b = -b; - neg = !neg; - } - - res = udivmodhi4 (a, b, 0); - - if (neg) - res = -res; - - return res; -} - - -HItype -__modhi3 (HItype a, HItype b) -{ - word_type neg = 0; - HItype res; - - if (a < 0) - { - a = -a; - neg = 1; - } - - if (b < 0) - b = -b; - - res = udivmodhi4 (a, b, 1); - - if (neg) - res = -res; - - return res; -} - - -UHItype -__udivhi3 (UHItype a, UHItype b) -{ - return udivmodhi4 (a, b, 0); -} - - -UHItype -__umodhi3 (UHItype a, UHItype b) -{ - return udivmodhi4 (a, b, 1); -} - diff --git a/libgcc/config/gcn/lib2-gcn.h b/libgcc/config/gcn/lib2-gcn.h index 645245b2128..67ad9bafc19 100644 --- a/libgcc/config/gcn/lib2-gcn.h +++ b/libgcc/config/gcn/lib2-gcn.h @@ -27,10 +27,6 @@ /* Types. */ -typedef char QItype __attribute__ ((mode (QI))); -typedef unsigned char UQItype __attribute__ ((mode (QI))); -typedef short HItype __attribute__ ((mode (HI))); -typedef unsigned short UHItype __attribute__ ((mode (HI))); typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); @@ -48,10 +44,6 @@ extern SItype __divsi3 (SItype, SItype); extern SItype __modsi3 (SItype, SItype); extern USItype __udivsi3 (USItype, USItype); extern USItype __umodsi3 (USItype, USItype); -extern HItype __divhi3 (HItype, HItype); -extern HItype __modhi3 (HItype, HItype); -extern UHItype __udivhi3 (UHItype, UHItype); -extern UHItype __umodhi3 (UHItype, UHItype); extern SItype __mulsi3 (SItype, SItype); #endif /* LIB2_GCN_H */ diff --git a/libgcc/config/gcn/t-amdgcn b/libgcc/config/gcn/t-amdgcn index 38bde54a096..e64953e6185 100644 --- a/libgcc/config/gcn/t-amdgcn +++ b/libgcc/config/gcn/t-amdgcn @@ -1,6 +1,5 @@ LIB2ADD += $(srcdir)/config/gcn/atomic.c \ $(srcdir)/config/gcn/lib2-divmod.c \ - $(srcdir)/config/gcn/lib2-divmod-hi.c \ $(srcdir)/config/gcn/lib2-divmod-di.c \ $(srcdir)/config/gcn/lib2-bswapti2.c \ $(srcdir)/config/gcn/unwind-gcn.c