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
jos...@codesourcery.com

Reply via email to