aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/md.texi
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2002-12-05 01:05:13 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2002-12-05 01:05:13 +0000
commit16823694d5a03199161bfb60157a9a6e3a2ee697 (patch)
treea75fcb2170c99b7b343e9abad85d48152fdd43c2 /gcc/doc/md.texi
parent76508852a0241db33b2512c0b460cdf06f7e0ce5 (diff)
downloadgcc-16823694d5a03199161bfb60157a9a6e3a2ee697.zip
gcc-16823694d5a03199161bfb60157a9a6e3a2ee697.tar.gz
gcc-16823694d5a03199161bfb60157a9a6e3a2ee697.tar.bz2
Index: gcc/ChangeLog
2002-12-02 Geoffrey Keating <geoffk@apple.com> * combine.c (combine_simplify_rtx): Add new canonicalizations. * doc/md.texi (Insn Canonicalizations): Document new canonicalizations for multiply/add combinations. * config/rs6000/rs6000.md: Add and modify floating add/multiply patterns to ensure they're used whenever they can be. Index: gcc/testsuite/ChangeLog 2002-12-02 Geoffrey Keating <geoffk@apple.com> * gcc.dg/ppc-fmadd-1.c: New file. * gcc.dg/ppc-fmadd-2.c: New file. * gcc.dg/ppc-fmadd-3.c: New file. From-SVN: r59841
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r--gcc/doc/md.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index c4501ee..bc187c5 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -3670,6 +3670,14 @@ For these operators, if only one operand is a @code{neg}, @code{not},
@code{mult}, @code{plus}, or @code{minus} expression, it will be the
first operand.
+@item
+In combinations of @code{neg}, @code{mult}, @code{plus}, and
+@code{minus}, the @code{neg} operations (if any) will be moved inside
+the operations as far as possible. For instance,
+@code{(neg (mult A B))} is canonicalized as @code{(mult (neg A) B)}, but
+@code{(plus (mult (neg A) B) C)} is canonicalized as
+@code{(minus A (mult B C))}.
+
@cindex @code{compare}, canonicalization of
@item
For the @code{compare} operator, a constant is always the second operand