inhibit the sincos optimization when the target has sin and cos instructions

Cesar Philippidis cesar@codesourcery.com
Fri May 13 19:19:00 GMT 2016


The cse_sincos pass tries to optimize sequences such as

  sin (x);
  cos (x);

into a single call to sincos, or cexpi, when available. However, the
nvptx target has sin and cos instructions, albeit with some loss of
precision (so it's only enabled with -ffast-math). This patch teaches
cse_sincos pass to ignore sin, cos and cexpi instructions when the
target can expand those calls. This yields a 6x speedup in 314.omriq
from spec accel when running on Nvidia accelerators.

Is this OK for trunk?

Cesar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: inhibit-sincos.diff
Type: text/x-patch
Size: 1473 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20160513/c6d5d1d1/attachment.bin>


More information about the Gcc-patches mailing list