aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/md.texi
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-07-18 14:34:15 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-07-18 14:34:15 -0700
commitd989f648fa20fdb23338fe92c1e14c071fd36a6a (patch)
tree68a2c6b74e7745337eb652ff18ec1400a42fe871 /gcc/doc/md.texi
parent31831acf291f3146c15a7cf3568188527a1cf425 (diff)
downloadgcc-d989f648fa20fdb23338fe92c1e14c071fd36a6a.zip
gcc-d989f648fa20fdb23338fe92c1e14c071fd36a6a.tar.gz
gcc-d989f648fa20fdb23338fe92c1e14c071fd36a6a.tar.bz2
md.texi (reload_in/out): Document restrictions in predicates and constraints for these patterns.
* doc/md.texi (reload_in/out): Document restrictions in predicates and constraints for these patterns. Document empty string matching ALL_REGS. From-SVN: r44134
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r--gcc/doc/md.texi11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index f1073aa..0b680cd 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -2076,6 +2076,17 @@ move between operand 0 and operand 1. Operand 2 describes the scratch
register. See the discussion of the @code{SECONDARY_RELOAD_CLASS}
macro in @pxref{Register Classes}.
+There are special restrictions on the form of the @code{match_operand}s
+used in these patterns. First, only the predicate for the reload
+operand is examined, i.e. @code{reload_in} examines operand 1, but not
+the predicates for operand 0 or 2. Second, there may only be one
+alternative in the constraints. Third, only a single register class
+letter may be used for the constraint; subsequent constraint letters
+are ignored. As a special exception, an empty constraint string
+matches the @code{ALL_REGS} register class. This may relieve ports
+of the burden of defining an @code{ALL_REGS} constraint letter just
+for these patterns.
+
@cindex @code{movstrict@var{m}} instruction pattern
@item @samp{movstrict@var{m}}
Like @samp{mov@var{m}} except that if operand 0 is a @code{subreg}