[PATCH] PR middle-end/103406: Check for Inf before simplifying x-x.

Richard Biener richard.guenther@gmail.com
Thu Nov 25 12:02:02 GMT 2021


On Thu, Nov 25, 2021 at 12:30 PM Roger Sayle <roger@nextmovesoftware.com> wrote:
>
>
> This is a simple one line fix to the regression PR middle-end/103406,
> where x - x is being folded to 0.0 even when x is +Inf or -Inf.
> In GCC 11 and previously, we'd check whether the type honored NaNs
> (which implicitly covered the case where the type honors infinities),
> but my patch to test whether the operand could potentially be NaN
> failed to also check whether the operand could potentially be Inf.
>
> This patch doesn't address the issue of NaN signedness from binary
> arithmetic operations, just the regression.
>
> This patch has been tested on x86_64-pc-linux-gnu with make bootstrap
> and make -k check with no new failures.  Ok for mainline?

OK.

Thanks,
Richard.

>
> 2021-11-25  Roger Sayle  <roger@nextmovesoftware.com>
>
> gcc/ChangeLog
>         PR middle-end/103406
>         * match.pd (minus @0 @0): Check tree_expr_maybe_infinite_p.
>
> gcc/testsuite/ChangeLog
>         PR middle-end/103406
>         * gcc.dg/pr103406.c: New test case.
>
> Thanks in advance (and sorry for the inconvenience),
> Roger
> --
>


More information about the Gcc-patches mailing list