aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/vrp-float-6.c
blob: 145d1861804e188b5a13addbeed3802991f43cc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do compile }
// { dg-options "-O2 -fdisable-tree-ethread -fdump-tree-evrp" }

void bar ();

void
foo (double x, double y)
{
      if (x > y)
	;
      else if (!__builtin_isnan (x) && !__builtin_isnan (y))
	{
	  // If x and y are not NAN, the x <= y relationship holds, and the
	  // following conditional can be folded away.
	  if (x <= y)
	    bar ();
	}
}

// { dg-final { scan-tree-dump-times "Folding predicate x_.* <= y_.* to 1" 1 "evrp" } }