From 6d1f6affb2d7c14f6c74d4a15be7e39de601bb85 Mon Sep 17 00:00:00 2001 From: Oleg Endo Date: Tue, 5 Jun 2012 00:51:04 +0000 Subject: [PATCH] md.texi (Standard Pattern Names For Generation): Document sincos pattern. * doc/md.texi (Standard Pattern Names For Generation): Document sincos pattern. From-SVN: r188219 --- gcc/ChangeLog | 5 +++++ gcc/doc/md.texi | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b602d8aa9f8..2e1a9f812e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-06-04 Oleg Endo + + * doc/md.texi (Standard Pattern Names For Generation): Document + sincos pattern. + 2012-06-04 H.J. Lu PR bootstrap/53555 diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index ac642b4b43f..71b89c18b90 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -4795,6 +4795,22 @@ corresponds to the C data type @code{double} and the @code{sinf} built-in function uses the mode which corresponds to the C data type @code{float}. +@cindex @code{sincos@var{m}3} instruction pattern +@item @samp{sincos@var{m}3} +Store the sine of operand 2 into operand 0 and the cosine of +operand 2 into operand 1. + +The @code{sin} and @code{cos} built-in functions of C always use the +mode which corresponds to the C data type @code{double} and the +@code{sinf} and @code{cosf} built-in function use the mode which +corresponds to the C data type @code{float}. +Targets that can calculate the sine and cosine simultaneously can +implement this pattern as opposed to implementing individual +@code{sin@var{m}2} and @code{cos@var{m}2} patterns. The @code{sin} +and @code{cos} built-in functions will then be expanded to the +@code{sincos@var{m}3} pattern, with one of the output values +left unused. + @cindex @code{exp@var{m}2} instruction pattern @item @samp{exp@var{m}2} Store the exponential of operand 1 into operand 0.