1 /* { dg-options "-mr10k-cache-barrier=store -G8 -w" } */
2 
3 /* Test that out-of-range stores to components of static objects
4    are protected by a cache barrier.  */
5 
6 struct { struct { char i[4]; } a; struct { char j[4]; } b; } s;
7 
8 NOMIPS16 void
foo(int sel1,int sel2,int sel3)9 foo (int sel1, int sel2, int sel3)
10 {
11   if (sel1)
12     s.a.i[8] = 1;
13   if (sel2)
14     s.b.j[4] = 100;
15   if (sel3)
16     s.a.i[-1] = 0;
17 }
18 
19 /* { dg-final { scan-assembler-times "\tcache\t" 3 } } */
20