1 /* { dg-options "-mabi=64 -mr10k-cache-barrier=store" } */
2 
3 /* Test that stores to constant cached addresses are protected
4    by cache barriers.  */
5 
6 #define TEST(ADDR)					\
7   NOMIPS16 void						\
8   test_##ADDR (int n)					\
9   {							\
10     *(volatile int *) (0x##ADDR##UL) = 1;		\
11   }
12 
13 TEST (8ffffffffffffffc)
14 TEST (9000010000000000)
15 
16 TEST (91fffffffffffffc)
17 TEST (9200010000000000)
18 
19 TEST (93fffffffffffffc)
20 TEST (9500010000000000)
21 
22 TEST (95fffffffffffffc)
23 TEST (9600010000000000)
24 
25 TEST (b7fffffffffffffc)
26 TEST (b800010000000000)
27 
28 TEST (b9fffffffffffffc)
29 TEST (ba00010000000000)
30 
31 TEST (bbfffffffffffffc)
32 TEST (bc00010000000000)
33 
34 TEST (bdfffffffffffffc)
35 TEST (be00010000000000)
36 
37 TEST (ffffffff9ffffffc)
38 TEST (ffffffffc0000000)
39 
40 /* { dg-final { scan-assembler-times "\tcache\t" 18 } } */
41