20011218-1.c   [plain text]


/* This testcase failed on Alpha at -O2 because $27 hard register
   for the indirect call was exposed too early and reload couldn't
   allocate it for multiplication and division.  */

struct S {
  int a, b;
  void (*f) (long, int);
};

void foo (struct S *x)
{
  long c = x->a * 50;
  c /= (long) x->b;
  c *= (long) x->b;
  x->f (c, 0);
}