mirror of git://gcc.gnu.org/git/gcc.git
28 lines
509 B
C
28 lines
509 B
C
/* { dg-mips-options "-O2 -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 } } */
|