From patchwork Fri Mar 16 18:37:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 26344 Received: (qmail 37075 invoked by alias); 16 Mar 2018 18:37:37 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 36619 invoked by uid 89); 16 Mar 2018 18:37:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Date: Fri, 16 Mar 2018 18:37:29 +0000 From: Joseph Myers To: Subject: Remove sysdeps/x86/fpu/bits/mathinline.h __finite inline [committed] Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) Continuing the removals of inline functions from the x86 bits/mathinline.h, this patch removes an inline of __finite (which was not actually architecture-specific at all beyond its endianness-dependence). This inline is not normally used with GCC 4.4 or later, because isfinite now uses __builtin_isfinite except for -fsignaling-nans. Allowing __builtin_isfinite etc. to work properly even for -fsignaling-nans, by implementing versions of those built-in functions that use integer arithmetic in GCC, is (a patch was committed but had to be reverted because it caused problems, and that patch didn't address all formats for all architectures, only some, so by itself would not have been sufficient to allow glibc to use __builtin_isfinite unconditionally for new-enough GCC). Tested for x86_64 and x86. Committed. 2018-03-16 Joseph Myers * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite): Remove inline function. diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h index d7fa384..91ece8d 100644 --- a/sysdeps/x86/fpu/bits/mathinline.h +++ b/sysdeps/x86/fpu/bits/mathinline.h @@ -306,19 +306,6 @@ __inline_mathcodeNP2 (hypot, __x, __y, # endif -# ifdef __USE_MISC - -/* This function is used in the `isfinite' macro. */ -__MATH_INLINE int -__NTH (__finite (double __x)) -{ - return (__extension__ - (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] - | 0x800fffffu) + 1) >> 31)); -} - -# endif /* __USE_MISC */ - /* Undefine some of the large macros which are not used anymore. */ # ifdef __FAST_MATH__ # undef __expm1_code