From: Richard Henderson Date: Wed, 18 Jul 2001 21:34:15 +0000 (-0700) Subject: md.texi (reload_in/out): Document restrictions in predicates and constraints for... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d989f648fa20fdb23338fe92c1e14c071fd36a6a;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 216bba69fdb..dfe38acf835 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-07-18 Richard Henderson + + * doc/md.texi (reload_in/out): Document restrictions in predicates + and constraints for these patterns. Document empty string matching + ALL_REGS. + 2001-07-18 Rainer Orth * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL. diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index f1073aa5db3..0b680cdfc49 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}