public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "James Greenhalgh" <james.greenhalgh@arm.com>
To: "James Greenhalgh" <James.Greenhalgh@arm.com>,
	<libffi-discuss@sourceware.org>
Cc: "'Anthony Green'" <green@moxielogic.com>
Subject: RE: [libffi testsuite] Set -ffp-contract=off for libffi.call/many.c
Date: Thu, 09 May 2013 12:59:00 -0000	[thread overview]
Message-ID: <000001ce4cb5$04d45960$0e7d0c20$@greenhalgh@arm.com> (raw)
In-Reply-To: <000001ce3ce4$e36a5610$aa3f0230$@greenhalgh@arm.com>

*ping^2*

(Can we still submit patches via this list, or does there need to
be a pull request?)

Thanks,
James

> -----Original Message-----
> From: James Greenhalgh
> Sent: 19 April 2013 11:02
> To: James Greenhalgh; libffi-discuss@sourceware.org
> Cc: 'Anthony Green'
> Subject: RE: [libffi testsuite] Set -ffp-contract=off for
> libffi.call/many.c
> 
> *ping*
> 
> > -----Original Message-----
> > From: James Greenhalgh
> > Sent: 08 April 2013 10:37
> > To: libffi-discuss@sourceware.org
> > Subject: [libffi testsuite] Set -ffp-contract=off for
> > libffi.call/many.c
> >
> >
> > Hi,
> >
> > 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.
> >
> > 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.
> >
> > Fixed by adding -ffp-contract=off to the list of dg-options thus
> > suppressing the introduction of fused-multiply-add.
> >
> > Tested on aarch64-none-linux-gnu to ensure the failure becomes
> > a pass.
> >
> > Thanks,
> > James Greenhalgh
> >
> > ---
> >
> > 2013-04-08  James Greenhalgh  <james.greenhalgh@arm.com>
> >
> > 	* testsuite/libffi.call/many.c: Set -ffp-contract=off.
> 
> 
>
> diff --git a/testsuite/libffi.call/many.c b/testsuite/libffi.call/many.c
> index 67a367f..afade91 100644
> --- a/testsuite/libffi.call/many.c
> +++ b/testsuite/libffi.call/many.c
> @@ -5,6 +5,8 @@
>     Originator:	From the original ffitest.c  */
>  
>  /* { dg-do run } */
> +/* { dg-options -ffp-contract=off } */
> +
> #include "ffitest.h"
> 
> #include <stdlib.h>



  reply	other threads:[~2013-05-09 12:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-08  9:37 James Greenhalgh
2013-04-19 10:01 ` James Greenhalgh
2013-05-09 12:59   ` James Greenhalgh [this message]
     [not found] ` <CACxje5_Tp0an2rRwyUWKsqdE9vMOwDxfkSgGYTiankAH0bQLFQ@mail.gmail.com>
2013-05-29  8:39   ` James Greenhalgh
2013-06-25 12:55     ` James Greenhalgh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000001ce4cb5$04d45960$0e7d0c20$@greenhalgh@arm.com' \
    --to=james.greenhalgh@arm.com \
    --cc=green@moxielogic.com \
    --cc=libffi-discuss@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).