From 6d1f6affb2d7c14f6c74d4a15be7e39de601bb85 Mon Sep 17 00:00:00 2001
From: Oleg Endo <olegendo@gcc.gnu.org>
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 b602d8aa9f8d..2e1a9f812e58 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-04  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	* doc/md.texi (Standard Pattern Names For Generation): Document
+	sincos pattern.
+
 2012-06-04  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR bootstrap/53555
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index ac642b4b43f6..71b89c18b90c 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.
-- 
GitLab