20 lines
436 B
C
20 lines
436 B
C
/* { dg-options "-O2 -mr10k-cache-barrier=store -G8" } */
|
|
|
|
/* Test that out-of-range stores to components of static objects
|
|
are protected by a cache barrier. */
|
|
|
|
struct { struct { char i[4]; } a; struct { char j[4]; } b; } s;
|
|
|
|
NOMIPS16 void
|
|
foo (int sel1, int sel2, int sel3)
|
|
{
|
|
if (sel1)
|
|
s.a.i[8] = 1;
|
|
if (sel2)
|
|
s.b.j[4] = 100;
|
|
if (sel3)
|
|
s.a.i[-1] = 0;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times "\tcache\t" 3 } } */
|