diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b602d8aa9f8d8a1709bfc52162ef72216b367ba0..2e1a9f812e58feea8cd4f66207bd712f74f61810 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 ac642b4b43f688eec373c1a295380c860aa05450..71b89c18b90c0ea8b39bb3bd62384622c89b6198 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.