/* { dg-do compile } */ /* Match-and-simplify can handle now MAX<MAX<a,b>,a>->MAX<a,b>, disable all of the passes that uses that. */ /* { dg-options "-O1 -fdump-tree-reassoc1-details -fno-tree-ccp -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre" } */ int f(int a, int b) { /* MAX_EXPR <a, a> should cause it to be equivalent to a. */ int c = a>=b?a:b; int d = c>=a?c:a; return d; } /* { dg-final { scan-tree-dump-times "Equivalence:" 1 "reassoc1"} } */