1 /* { dg-options "-mr10k-cache-barrier=store -mno-abicalls" } */
2
3 void bar1 (void);
4 void bar2 (void);
5 void bar3 (void);
6
7 NOMIPS16 void
foo(int * x,int sel,int n)8 foo (int *x, int sel, int n)
9 {
10 if (sel)
11 {
12 bar1 ();
13 x[0] = 1;
14 }
15 else
16 {
17 bar2 ();
18 x[1] = 0;
19 }
20 /* If there is one copy of this code, reached by two unconditional edges,
21 then it shouldn't need a third cache barrier. */
22 x[2] = 2;
23 while (n--)
24 bar3 ();
25 }
26
27 /* { dg-final { scan-assembler-times "\tcache\t" 2 } } */
28