From patchwork Tue Oct 2 15:41:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 977939 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-486813-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="loDfuNvb"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Mxzn4pML"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42Pk1957btz9s55 for ; Wed, 3 Oct 2018 01:42:21 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:content-type; q= dns; s=default; b=KNPv84nafwLDOYyqRE+81C1dS7Y2zRhQwczTP5aQtIPaVf 39v2YifWdSB5anTEdJk+VMEXQgkJ+/VhTdYF4MfV2X84MBI2vZAyKVM0cNN7MYjk UzTBqNxBBMAqf5WKVl8ejf2CdTLyhSJUS9IONjR/BptArFyDKTdnaWoW5QVlM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:content-type; s= default; bh=/sUHb8MLHP1eHQhALkJf1NwJ+Sg=; b=loDfuNvb7ufbGZhYcwcL bZ1jEojux4GDARJMf6UmCwHJ7BwbHyE27n2I/wko+3Kmse3Byg0AhHzqDUEyHT8c hbc4ptxbGJyUZflsKOmopaJLaGW75npWCjUQEcDsFC34hiWiQlq/yjpE6XQgwG+/ 7xQJpmj6udCDlJv6IIRbjgg= Received: (qmail 11352 invoked by alias); 2 Oct 2018 15:42:10 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 11236 invoked by uid 89); 2 Oct 2018 15:42:09 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=Further, our X-HELO: mail-it1-f172.google.com Received: from mail-it1-f172.google.com (HELO mail-it1-f172.google.com) (209.85.166.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 02 Oct 2018 15:42:07 +0000 Received: by mail-it1-f172.google.com with SMTP id j81-v6so4050828ite.0 for ; Tue, 02 Oct 2018 08:42:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=TixITR+IBzgUE3mpml3AUzSHnc4BZYx0YCF1U9SM2Wo=; b=Mxzn4pMLp1Ku5TmSEhuSaf4mbLQ2A4E/eEnBqEgdIPPjl+Gb1EoklioDMHHEi9cWyj T2UdF/UgHOhZK626CC0lk4QZ5HpWJvHwJzko5KPzcA2pEcTU85U5mM0nub7ZoyRPGuMj 6zHkTokxaxTlyPMvmVb+crDSMkg88uvKDE2EAhmIFDiTBaMue1nw/E9k61qZMgyutxUL 5LUHLbllMX0cmLWKSIYRoojmuPQAPTTrjFg1q3kzTD+6cMKynwVH8Zki6koH0qaFWWCL 7NzYYQz6JXyvcuZTLa8YzWOX6rLgIg/Gs1Jc2ovIGMjiwNWPJZNKMlglLEkwmMib2BB6 NU8g== MIME-Version: 1.0 From: Uros Bizjak Date: Tue, 2 Oct 2018 17:41:53 +0200 Message-ID: Subject: [PATCH, libgcc]: Use type-generic fpclassify builtins in libgcc2.c To: "gcc-patches@gcc.gnu.org" Nowadays, we have these type-generic builtins always available. 2018-10-02 Uros Bizjak * libgcc2.c (isnan): Use __builtin_isnan. (isfinite): Use __builtin_isfinite. (isinf): Use __builtin_isinf. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. OK for mainline? Uros. diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index f418f3a354de..8ac2025f7af6 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -1939,15 +1939,9 @@ NAME (TYPE x, int m) #define CONCAT2(A,B) _CONCAT2(A,B) #define _CONCAT2(A,B) A##B -/* All of these would be present in a full C99 implementation of - and . Our problem is that only a few systems have such full - implementations. Further, libgcc_s.so isn't currently linked against - libm.so, and even for systems that do provide full C99, the extra overhead - of all programs using libgcc having to link against libm. So avoid it. */ - -#define isnan(x) __builtin_expect ((x) != (x), 0) -#define isfinite(x) __builtin_expect (!isnan((x) - (x)), 1) -#define isinf(x) __builtin_expect (!isnan(x) & !isfinite(x), 0) +#define isnan(x) __builtin_isnan (x) +#define isfinite(x) __builtin_isfinite (x) +#define isinf(x) __builtin_isinf (x) #define INFINITY CONCAT2(__builtin_huge_val, CEXT) () #define I 1i