------- Comment #3 from bonzini at gnu dot org  2006-12-01 11:04 -------
We need multiple steps here to solve this bug and 17687:

1) change sincos (x, &s, &c) to

     sincos (x, &t1, &t2);
     s = t1;
     c = t2;

Don't know the best place to do this.

2) alternatively, change sincos (x, &s, &c) to

     v2df = vec_sincos (x)
     *s = v2df[0]
     *c = v2df[1]

This needs to be done at tree->rtl expansion time, because we don't have access
to v2df[N] at tree level.

3) perform strength reduction of sin+cos to sincos.  I believe it has to be
done in a special pass (like CSE reciprocals), and that's actually why the file
was named tree-ssa-_math-opts_.c rather than tree-ssa-recip.c.  This could be
the place to do (1) too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30038

Reply via email to