This is the mail archive of the
`gcc-patches@gcc.gnu.org`
mailing list for the GCC project.

Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|

Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |

Other format: | [Raw text] |

*From*: Richard Guenther <richard dot guenther at gmail dot com>*To*: Ian Lance Taylor <iant at google dot com>*Cc*: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com*Date*: Fri, 10 Feb 2012 10:55:42 +0100*Subject*: Re: Go patch committed: Build math library with -funsafe-math-optimizations*References*: <mcraa4tt8sx.fsf@dhcp-172-18-216-180.mtv.corp.google.com> <CAFiYyc0NpcqDvc20BmduUS-sur4ksxXV3_SSiEO3o5jwpqVg+g@mail.gmail.com> <mcr1uq3rjyb.fsf@dhcp-172-18-216-180.mtv.corp.google.com>

On Thu, Feb 9, 2012 at 6:32 PM, Ian Lance Taylor <iant@google.com> wrote: > Richard Guenther <richard.guenther@gmail.com> writes: > >> On Wed, Feb 8, 2012 at 8:38 PM, Ian Lance Taylor <iant@google.com> wrote: >>> The master Go math library uses assembler code on 386 processors to take >>> advantage of 387 instructions. ?This patch lets gccgo do the same thing, >>> by compiling the math library with -funsafe-math-optimizations. ?I also >>> pass -mfancy-math-387, although that is the default. ?It would not be >>> appropriate to compile all Go code with -funsafe-math-optimizations, of >>> course, but the math library is designed to handle it. >> >> Huh ... I'd rather not do that if I were you. ?Instead I'd say we lack a >> machine specific flag to enable the fancy-x87-math patterns which >> then -funsafe-math-optimizations should enable. ?The x87 math >> routines are the only thing you are after, right? ?No math-library >> can be _safe_ against -funsafe-math-optimizations I believe. > > Yes, that approach would make sense, but this doesn't seem like the > right time to do it. > > The -funsafe-math-optimizations option does not permit arbitrary > behaviour. ?It merely permits a set of optimizations which violate > strict IEEE conformance. ?I believe the Go math library can be safe in > the presence of those optimizations, because the library does explicit > checks for NaN and infinity, where necessary, before it does the actual > operation. ?The math library has a fairly extensive set of tests, > including tests of exceptional conditions, and it passes the tests when > using -funsafe-math-optimizations. ?Note that I'm only using > -funsafe-math-optimizations on x86. I see. -funsafe-math-optimizations affects precision though (it doesn't assume NaNs or Infinities do not happen), see the docs - it enables -fno-signed-zeros, -fno-trapping-math, -fassociative-math and -freciprocal-math. Richard. > Ian

**Follow-Ups**:**Re: Go patch committed: Build math library with -funsafe-math-optimizations***From:*Ian Lance Taylor

**References**:**Go patch committed: Build math library with -funsafe-math-optimizations***From:*Ian Lance Taylor

**Re: Go patch committed: Build math library with -funsafe-math-optimizations***From:*Richard Guenther

**Re: Go patch committed: Build math library with -funsafe-math-optimizations***From:*Ian Lance Taylor

Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|

Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |