On Wed, 28 Sep 2016, Richard Biener wrote:
> Index: gcc/testsuite/gcc.dg/pr55152.c
> ===================================================================
> --- gcc/testsuite/gcc.dg/pr55152.c (revision 0)
> +++ gcc/testsuite/gcc.dg/pr55152.c (working copy)
> @@ -0,0 +1,13 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O -ffinite-math-only -fstrict-overflow
> -fdump-tree-optimized" } */
> +
> +double g (double a)
> +{
> + return (a>=-a)?a:-a;
You should need -fno-signed-zeros for this (that is, for the
transformation to MAX_EXPR), not -ffinite-math-only. For a == -0, that
function should return -0, but abs would produce +0.
--
Joseph S. Myers
[email protected]