patch to fix rtl documentation for new floating point comparisons
Richard Henderson
rth@redhat.com
Mon Feb 9 23:26:00 GMT 2015
On 02/09/2015 11:10 AM, Kenneth Zadeck wrote:
> +@table @code
> +@findex ltgt
> +@cindex less than or greater than
> +@item (ltgt:@var{m} @var{x} @var{y})
> +@code{STORE_FLAG_VALUE} if the values represented by @var{x} and
> +@var{y} are less, or greater, otherwise 0. This is a quiet operation
> +that applies only to floating point operands and does not have a
> +corresponding IEC 60559 operation.
This is intended to match c99 7.12.14.5 islessgreater, which I believe is the
compareQuietNotEqual operation.
> +@table @code
> +@findex uneq
> +@cindex unordered or equal
> +@item (uneq:@var{m} @var{x} @var{y})
> +@code{STORE_FLAG_VALUE} if the values represented by @var{x} and
> +@var{y} are unordered or equal, otherwise 0. This is a quiet
> +operation that applies only to floating point operands and does not
> +have a corresponding IEC 60559 operation.
This is the strict inverse to LTGT, i.e. !compareQuietNotEqual, and you of
course note this is not the same as compareQuietEqual.
I believe that when the c99 math.h comparison builtins were added, treating
EQ+NE as quiet comparisons was common but not universal. It's possible this
could be simplified now.
r~
More information about the Gcc-patches
mailing list