http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31249
--- Comment #23 from rguenther at suse dot de <rguenther at suse dot de> 2011-06-01 19:02:03 UTC --- On Wed, 1 Jun 2011, wschmidt at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31249 > > William J. Schmidt <wschmidt at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |wschmidt at gcc dot gnu.org > > --- Comment #22 from William J. Schmidt <wschmidt at gcc dot gnu.org> > 2011-06-01 16:59:15 UTC --- > It seems we should give targets like darwin a permanent workaround for this > issue. Since config can't correctly determine in all cases whether an > implementation has a "fast enough" sincos/cexp, the few targets where the > current flags don't work should be able to disable the transformation. > > I can create a cse-sincos option flag, set on by default for most platforms. > The darwin platform maintainer (and others, if necessary) could add > -fno-cse-sincos to the platform defaults. > > Any concerns with this approach? The concern is that we might want to vectorize sincos and that might have a fast implementation. I think rather than a flag disabling sincos a target with slow sincos should expand that to calling sin and cos (they can define an optab for sincos for example). That would also make user code that uses sincos fast.