rtl.texi (COMPARE): Clarify documentation and reference section on comparisons.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Wed, 21 Mar 2001 01:14:20 +0000 (01:14 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 21 Mar 2001 01:14:20 +0000 (20:14 -0500)
* rtl.texi (COMPARE): Clarify documentation and reference section
on comparisons.

From-SVN: r40681

gcc/ChangeLog
gcc/rtl.texi

index 18ff1bb402b12094c30a20fceef8f3ce28f7c464..3bfd0a6c5d22a11ac9ab7418aad82796f657a1fc 100644 (file)
@@ -1,3 +1,8 @@
+Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * rtl.texi (COMPARE): Clarify documentation and reference section
+       on comparisons.
+
 2001-03-20  Stan Shebs  <shebs@apple.com>
 
        * objc/objc-act.c (get_static_reference): Use NULL_TREE.
index f75ffcf1e72bcafc508700cbe9b6aee08fd4736e..cfae3a9b98734f717f1b736a003da85668314306 100644 (file)
@@ -1412,15 +1412,21 @@ of comparison.  The result is computed without overflow, as if with
 infinite precision.
 
 Of course, machines can't really subtract with infinite precision.
-However, they can pretend to do so when only the sign of the
-result will be used, which is the case when the result is stored
-in the condition code.   And that is the only way this kind of expression
-may validly be used: as a value to be stored in the condition codes.
-
-The mode @var{m} is not related to the modes of @var{x} and @var{y},
-but instead is the mode of the condition code value.  If @code{(cc0)}
-is used, it is @code{VOIDmode}.  Otherwise it is some mode in class
-@code{MODE_CC}, often @code{CCmode}.  @xref{Condition Code}.
+However, they can pretend to do so when only the sign of the result will
+be used, which is the case when the result is stored in the condition
+code.  And that is the @emph{only} way this kind of expression may
+validly be used: as a value to be stored in the condition codes, either
+@code{(cc0)} or a register. @xref{Comparisons}.
+
+The mode @var{m} is not related to the modes of @var{x} and @var{y}, but
+instead is the mode of the condition code value.  If @code{(cc0)} is
+used, it is @code{VOIDmode}.  Otherwise it is some mode in class
+@code{MODE_CC}, often @code{CCmode}.  @xref{Condition Code}.  If @var{m}
+is @code{VOIDmode} or @code{CCmode}, the operation returns sufficient
+information (in an unspecified format) so that any comparison operator
+can be applied to the result of the @code{COMPARE} operation.  For other
+modes in class @code{MODE_CC}, the operation only returns a subset of
+this information.
 
 Normally, @var{x} and @var{y} must have the same mode.  Otherwise,
 @code{compare} is valid only if the mode of @var{x} is in class