/* { dg-options "-mr10k-cache-barrier=store -G8 -w" } */ | |
/* 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 } } */ |