/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-reassoc1" } */

int f (int a, int b)
{
  int x = -a;
  int y = b - x;
  return y;
}

/* We tested for reassociation to -(a + b) on the following which
   isn't a transform that makes things cheaper.  With reassoc
   no longer applying to types with undefined overflow we lost
   this transform.

int g (int a, int b)
{
  int x = -a;
  int y = x - b;
  return y;
}

*/

/* There should be an addition now.  */
/* { dg-final { scan-tree-dump-times "\\+" 1 "reassoc1"} } */
