From patchwork Thu Jan 7 06:48:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sujoy Saraswati X-Patchwork-Id: 59260 Delivered-To: patch@linaro.org Received: by 10.112.130.2 with SMTP id oa2csp373325lbb; Wed, 6 Jan 2016 22:49:16 -0800 (PST) X-Received: by 10.66.149.7 with SMTP id tw7mr22747375pab.72.1452149356284; Wed, 06 Jan 2016 22:49:16 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id ln6si7002081pab.182.2016.01.06.22.49.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Jan 2016 22:49:16 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-418356-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-return-418356-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-418356-patch=linaro.org@gcc.gnu.org; dkim=pass header.i=@gcc.gnu.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:references:in-reply-to :content-type:content-transfer-encoding:mime-version; q=dns; s= default; b=SigrT+uvnZ9QNKz5p0uY3i7kyVmL8IfrRP9s4jPBdStVfCnVYvoGQ aMxngShAMomcp0GHoM1lkGD/vzM9yeGpS1d30DADcUh2NfAHoz6izpZ3+ouGC008 Ecgh8OwbdrOY61jIKVQd+rJVpAQxbOVYbwXzkVGqKI0FIzlQ1D5X0g= 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:from :to:cc:subject:date:message-id:references:in-reply-to :content-type:content-transfer-encoding:mime-version; s=default; bh=ATaHaV9zXhWMhuVXs5jIPpoInco=; b=XuY0ArQE1PrgwlLkJjv4s55DLhN2 YA9MQqep3V0SvPqdRd9z3EqT7ly81TUYNu5SFWtjtjU3vtojpTfjpgq3UvgX6bL7 rMQSXaOES6kKNA72TK7JmW0zicIcE1RT4jylpaDPdXOimtncGS+Nai5BToWVLCZL K/SeKd80q/5+z0k= Received: (qmail 69843 invoked by alias); 7 Jan 2016 06:49:02 -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 69824 invoked by uid 89); 7 Jan 2016 06:49:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.0 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=gcc-testresults, gcctestresults, Abs X-HELO: g9t5009.houston.hp.com Received: from g9t5009.houston.hp.com (HELO g9t5009.houston.hp.com) (15.240.92.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 07 Jan 2016 06:48:59 +0000 Received: from G4W9119.americas.hpqcorp.net (g4w9119.houston.hp.com [16.210.20.214]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by g9t5009.houston.hp.com (Postfix) with ESMTPS id C51FA57; Thu, 7 Jan 2016 06:48:57 +0000 (UTC) Received: from G4W9119.americas.hpqcorp.net (2002:10d2:14d6::10d2:14d6) by G4W9119.americas.hpqcorp.net (2002:10d2:14d6::10d2:14d6) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Thu, 7 Jan 2016 06:48:26 +0000 Received: from G4W6303.americas.hpqcorp.net (16.210.26.228) by G4W9119.americas.hpqcorp.net (16.210.20.214) with Microsoft SMTP Server (TLS) id 15.0.1076.9 via Frontend Transport; Thu, 7 Jan 2016 06:48:26 +0000 Received: from G9W0750.americas.hpqcorp.net ([169.254.9.246]) by G4W6303.americas.hpqcorp.net ([16.210.26.228]) with mapi id 14.03.0169.001; Thu, 7 Jan 2016 06:48:25 +0000 From: "Saraswati, Sujoy (OSTL)" To: Jakub Jelinek CC: Joseph Myers , Sujoy Saraswati , GCC Patches , Richard Biener Subject: RE: Fix 61441 [5/5] Disable various transformations for signaling NaN operands Date: Thu, 7 Jan 2016 06:48:25 +0000 Message-ID: <5379BA8D7E9D7E4D87BF6749A92854C248FEBF74@G9W0750.americas.hpqcorp.net> References: <5379BA8D7E9D7E4D87BF6749A92854C248FC90F6@G4W3297.americas.hpqcorp.net> <20151231093556.GZ18720@tucnak.redhat.com> In-Reply-To: <20151231093556.GZ18720@tucnak.redhat.com> MIME-Version: 1.0 Hi, > On Thu, Nov 26, 2015 at 08:38:55AM +0000, Saraswati, Sujoy (OSTL) wrote: > > PR tree-optimization/61441 > > * gcc.dg/pr61441.c: New testcase. > > Note the testcase fails on i686-linux, and even -fexcess-precision=standard > doesn't help (-ffloat-store works, but that is a big hammer and we really > don't want it for targets without excess precision). > At least with -fexcess-precision=standard, the problem is in the fabs case, > with -fexcess-precision=standard the value is then rounded from long > double to double and that rounding affects the signalling bit. > So, either the testcase should be compiled with -fexcess-precision=standard > and the operation(Abs) case be guarded with #if __FLT_EVAL_METHOD__ > == 0, or something similar. I modified the test case as below - However, I do not have access to a i686-linux box to test it out. Let me know if this looks fine. I did a search on the https://gcc.gnu.org/ml/gcc-testresults/2015-12/ but couldn't see a failure report for this - is there place where I could look up to see the test results for various architectures ? There was another issue reported on https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61441, where the test fails on arm-none-eabi with unresolved symbol for issignaling(). Apparently, the newlib's math.h doesn't have the issignaling macro - let me know if I need to modify the test case to take care of this. Regards, Sujoy Index: testsuite/gcc.dg/pr61441.c =================================================================== --- testsuite/gcc.dg/pr61441.c (revision 232121) +++ testsuite/gcc.dg/pr61441.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O1 -lm" } */ +/* { dg-options "-O1 -lm -fexcess-precision=standard" } */ #define _GNU_SOURCE #include @@ -56,6 +56,8 @@ int main (void) operation(Add); operation(Mult); operation(Div); +#if __FLT_EVAL_METHOD__ == 0 operation(Abs); +#endif return 0; }