This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 8.0.0 Status Report (2018-01-15), Trunk in Regression and Documentation fixes only mode
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Vincent Lefevre <vincent+gcc at vinc17 dot org>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Tue, 6 Feb 2018 17:34:23 +0000
- Subject: Re: GCC 8.0.0 Status Report (2018-01-15), Trunk in Regression and Documentation fixes only mode
- Authentication-results: sourceware.org; auth=none
- References: <alpine.LSU.2.20.1801150920260.32271@zhemvz.fhfr.qr> <962d449e-3ab8-f9ad-7a2d-8793ae0188d6@sky.com> <CAFiYyc0gJqTSsJmLihLozH4_DtJ24OWLm4pRzF2TMnGpcyS2tg@mail.gmail.com> <8441a3a4-de80-cf19-f9fe-2251fb9064e2@ubuntu.com> <20180206161438.GA10578@zira.vinc17.org> <20180206162831.GB10578@zira.vinc17.org>
On Tue, 6 Feb 2018, Vincent Lefevre wrote:
> Well, if I add -std=c99 or -std=c11, the failure disappears. The
> reason is that GCC generates a FMA (indeed, this new machine has
> a FMA), but this occurs across different C statements. So, maybe
> not a bug, but a bad feature, IMHO.
Use -ffp-contract=off to disable all contraction, or -ffp-contract=on to
disable it between statements (which currently actually disables all
contraction, as the FMA generation doesn't know what was originally a
single source expression). The default in the absence of such -std
options is -ffp-contract=fast (allowing contraction including between
different statements).
--
Joseph S. Myers
joseph@codesourcery.com