From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29575 invoked by alias); 19 Apr 2013 10:01:51 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 29563 invoked by uid 89); 19 Apr 2013 10:01:51 -0000 X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,MSGID_MULTIPLE_AT,RCVD_IN_DNSWL_LOW,TW_BF autolearn=ham version=3.3.1 Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Fri, 19 Apr 2013 10:01:50 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Fri, 19 Apr 2013 11:01:47 +0100 Received: from e106375vm ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 19 Apr 2013 11:01:44 +0100 From: "James Greenhalgh" To: "James Greenhalgh" , Cc: "'Anthony Green'" References: <1365413805-5517-1-git-send-email-james.greenhalgh@arm.com> In-Reply-To: <1365413805-5517-1-git-send-email-james.greenhalgh@arm.com> Subject: RE: [libffi testsuite] Set -ffp-contract=off for libffi.call/many.c Date: Fri, 19 Apr 2013 10:01:00 -0000 Message-ID: <000001ce3ce4$e36a5610$aa3f0230$@greenhalgh@arm.com> MIME-Version: 1.0 X-MC-Unique: 113041911014705001 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2013/txt/msg00129.txt.bz2 *ping* > -----Original Message----- > From: James Greenhalgh > Sent: 08 April 2013 10:37 > To: libffi-discuss@sourceware.org > Subject: [libffi testsuite] Set -ffp-contract=3Doff for > libffi.call/many.c >=20 >=20 > Hi, >=20 > A recent patch fixed libffi.call/many.c to check that the absolute > value of the difference of its two test results was smaller than > FLT_EPSILON, > rather than just checking their difference. >=20 > Sadly, this exposes a problem with the testcase for targets with > a fused-multiply-add instruction. After inlining the non-ffi function > body, GCC will happily contract the final multiply with the subtract > for the comparison. Thus skipping the rounding step after the multiply > and causing an error large enough to cause the test to fail. >=20 > Fixed by adding -ffp-contract=3Doff to the list of dg-options thus > suppressing the introduction of fused-multiply-add. >=20 > Tested on aarch64-none-linux-gnu to ensure the failure becomes > a pass. >=20 > Thanks, > James Greenhalgh >=20 > --- >=20 > 2013-04-08 James Greenhalgh >=20 > * testsuite/libffi.call/many.c: Set -ffp-contract=3Doff.