From 8245edf3c1d4996d47974188332846a9c250b2de Mon Sep 17 00:00:00 2001 From: Paul Koning Date: Wed, 11 Jul 2018 15:08:16 -0400 Subject: [PATCH] md.texi (define_subst): Document how multiple occurrences of the same argument in the replacement... * doc/md.texi (define_subst): Document how multiple occurrences of the same argument in the replacement pattern are handled. From-SVN: r262562 --- gcc/ChangeLog | 5 +++++ gcc/doc/md.texi | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cebe2bc..1d27aca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-07-08 Paul Koning + + * doc/md.texi (define_subst): Document how multiple occurrences of + the same argument in the replacement pattern are handled. + 2018-07-11 Paul Koning * doc/extend.texi (Common Variable Attributes): Move "mode" into diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 6d15d99..c6bf77e 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -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 -- 2.7.4