1 /* This testcase failed on Alpha at -O2 because $27 hard register
2    for the indirect call was exposed too early and reload couldn't
3    allocate it for multiplication and division.  */
4 
5 /* { dg-require-effective-target indirect_calls } */
6 
7 struct S {
8   int a, b;
9   void (*f) (long, int);
10 };
11 
foo(struct S * x)12 void foo (struct S *x)
13 {
14   long c = x->a * 50;
15   c /= (long) x->b;
16   c *= (long) x->b;
17   x->f (c, 0);
18 }
19