/* 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. */ | |
/* { dg-require-effective-target indirect_calls } */ | |
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); | |
} |