diff options
-rw-r--r-- | lib/Target/README.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 54bd94811d..92fc8d036d 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -208,3 +208,15 @@ emit: movl %eax, _foo //===---------------------------------------------------------------------===// + +Combine: a = sin(x), b = cos(x) into a,b = sincos(x). + +Expand these to calls of sin/cos and stores: + double sincos(double x, double *sin, double *cos); + float sincosf(float x, float *sin, float *cos); + long double sincosl(long double x, long double *sin, long double *cos); + +Doing so could allow SROA of the destination pointers. See also: +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17687 + +//===---------------------------------------------------------------------===// |