/* { dg-options "-mr10k-cache-barrier=store -mno-abicalls" } */ | |
void bar1 (void); | |
void bar2 (void); | |
void bar3 (void); | |
NOMIPS16 void | |
foo (int *x, int sel, int n) | |
{ | |
if (sel) | |
{ | |
bar1 (); | |
x[0] = 1; | |
} | |
else | |
{ | |
bar2 (); | |
x[1] = 0; | |
} | |
/* If there is one copy of this code, reached by two unconditional edges, | |
then it shouldn't need a third cache barrier. */ | |
x[2] = 2; | |
while (n--) | |
bar3 (); | |
} | |
/* { dg-final { scan-assembler-times "\tcache\t" 2 } } */ |