1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */
       3  
       4  /* Commutative case.  */
       5  
       6  int f(int c, int b, int d)
       7  {
       8    int r, e;
       9  
      10    if (c)
      11      r = b + d;
      12    else
      13      {
      14        e = d + b;
      15        r = e;
      16      }
      17  
      18    return r;
      19  }
      20  
      21  /* { dg-final { scan-tree-dump-times "if " 0 "pre"} } */
      22  /* { dg-final { scan-tree-dump-times "(?n)_.*\\+.*_" 1 "pre"} } */
      23  /* { dg-final { scan-tree-dump-not "Invalid sum" "pre"} } */