From e26b89960c4af88cf3c1545827209a5bb5bca232 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 21 Mar 2001 01:14:20 +0000 Subject: [PATCH] rtl.texi (COMPARE): Clarify documentation and reference section on comparisons. * rtl.texi (COMPARE): Clarify documentation and reference section on comparisons. From-SVN: r40681 --- gcc/ChangeLog | 5 +++++ gcc/rtl.texi | 24 +++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18ff1bb402b..3bfd0a6c5d2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 20 20:15:06 2001 Richard Kenner + + * rtl.texi (COMPARE): Clarify documentation and reference section + on comparisons. + 2001-03-20 Stan Shebs * objc/objc-act.c (get_static_reference): Use NULL_TREE. diff --git a/gcc/rtl.texi b/gcc/rtl.texi index f75ffcf1e72..cfae3a9b987 100644 --- a/gcc/rtl.texi +++ b/gcc/rtl.texi @@ -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 -- 2.30.2