md.texi (define_subst): Document how multiple occurrences of the same argument in...
authorPaul Koning <ni1d@arrl.net>
Wed, 11 Jul 2018 19:08:16 +0000 (15:08 -0400)
committerPaul Koning <pkoning@gcc.gnu.org>
Wed, 11 Jul 2018 19:08:16 +0000 (15:08 -0400)
* doc/md.texi (define_subst): Document how multiple occurrences of
the same argument in the replacement pattern are handled.

From-SVN: r262562

gcc/ChangeLog
gcc/doc/md.texi

index cebe2bc6478e60f7eab8c20a887e41e5e3a8b560..1d27acad8b736e7aaa5361c7b6498fe924fbf22c 100644 (file)
@@ -1,3 +1,8 @@
+2018-07-08  Paul Koning  <ni1d@arrl.net>
+
+       * doc/md.texi (define_subst): Document how multiple occurrences of
+       the same argument in the replacement pattern are handled.
+
 2018-07-11  Paul Koning  <ni1d@arrl.net>
 
        * doc/extend.texi (Common Variable Attributes): Move "mode" into
index 6d15d9931326a472b91aa08958c57834499e9184..c6bf77ef1a817eb9ed1cf82105d8bc8dde47ae40 100644 (file)
@@ -10263,7 +10263,11 @@ the expression from the original pattern, which matched
 @code{match_operand N} from the input pattern.  As a consequence,
 @code{match_dup} cannot be used to point to @code{match_operand}s from
 the output pattern, it should always refer to a @code{match_operand}
-from the input pattern.
+from the input pattern.  If a @code{match_dup N} occurs more than once
+in the output template, its first occurrence is replaced with the
+expression from the original pattern, and the subsequent expressions
+are replaced with @code{match_dup N}, i.e., a reference to the first
+expression.
 
 In the output template one can refer to the expressions from the
 original pattern and create new ones.  For instance, some operands could