Is there an error in GCC Internals Manual, chapter 16.4?
Chapter 16.4, "RTL Template" in GCC Internals Manual, found at https://gcc.gnu.org/onlinedocs/gccint/RTL-Template.html#RTL-Template has this to say about match_scratch: " (match_scratch:m n constraint) This expression is also a placeholder for operand number n and indicates that operand must be a scratch or reg expression. When matching patterns, this is equivalent to (match_operand:m n "scratch_operand" pred) " I'm wondering what is "pred" in this context? I'm thinking that "scratch_operand" might be the predicate, so should there read "constraint" in place of "pred" in the last clause? I'm sorry if this is an idiotic question, I'm just trying to digest all the information, so I might be overly pedantic about the matter. I just want to be sure I understand what I read. I'm sure it'll all make sense when I actually need to use this expression. Sorry to have taken your time. -Panu
Re: Is there an error in GCC Internals Manual, chapter 16.4?
Panu-Kristian Poiksalo writes: > Chapter 16.4, "RTL Template" in GCC Internals Manual, found at > https://gcc.gnu.org/onlinedocs/gccint/RTL-Template.html#RTL-Template > has this to say about match_scratch: > > " > (match_scratch:m n constraint) > This expression is also a placeholder for operand number n and > indicates that operand must be a scratch or reg expression. > > When matching patterns, this is equivalent to > > (match_operand:m n "scratch_operand" pred) > " > I'm wondering what is "pred" in this context? I think it is supposed to be "constraint". This error is already present in the first revision of the file. I have installed this patch in trunk as obvious. Thanks for the report. Andreas. * doc/md.texi (RTL Template) [match_scratch]: Correct equivalent match_operand expression. Index: doc/md.texi === --- doc/md.texi (revision 216440) +++ doc/md.texi (working copy) @@ -297,7 +297,7 @@ When matching patterns, this is equivalent to @smallexample -(match_operand:@var{m} @var{n} "scratch_operand" @var{pred}) +(match_operand:@var{m} @var{n} "scratch_operand" @var{constraint}) @end smallexample but, when generating RTL, it produces a (@code{scratch}:@var{m}) -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
gcc-5-20141019 is now available
Snapshot gcc-5-20141019 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/5-20141019/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 5 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 216444 You'll find: gcc-5-20141019.tar.bz2 Complete GCC MD5=f22b72a00554559049e86628e2cb9b42 SHA1=6da09cf91770b5b4c49d0b64cf526b465034705e Diffs from 5-20141012 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-5 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.