46 lines
931 B
C
46 lines
931 B
C
/* { dg-options "-O2 -mabi=64 -mr10k-cache-barrier=store" } */
|
|
|
|
/* Test that stores to uncached addresses do not get unnecessary
|
|
cache barriers. */
|
|
|
|
#define TEST(ADDR) \
|
|
NOMIPS16 void \
|
|
test_##ADDR (int n) \
|
|
{ \
|
|
while (n--) \
|
|
{ \
|
|
*(volatile char *) (0x##ADDR##UL) = 1; \
|
|
*(volatile short *) (0x##ADDR##UL + 2) = 2; \
|
|
*(volatile int *) (0x##ADDR##UL + 4) = 0; \
|
|
} \
|
|
}
|
|
|
|
TEST (9000000000000000)
|
|
TEST (900000fffffffff8)
|
|
|
|
TEST (9200000000000000)
|
|
TEST (920000fffffffff8)
|
|
|
|
TEST (9400000000000000)
|
|
TEST (940000fffffffff8)
|
|
|
|
TEST (9600000000000000)
|
|
TEST (960000fffffffff8)
|
|
|
|
TEST (b800000000000000)
|
|
TEST (b80000fffffffff8)
|
|
|
|
TEST (ba00000000000000)
|
|
TEST (ba0000fffffffff8)
|
|
|
|
TEST (bc00000000000000)
|
|
TEST (bc0000fffffffff8)
|
|
|
|
TEST (be00000000000000)
|
|
TEST (be0000fffffffff8)
|
|
|
|
TEST (ffffffffa0000000)
|
|
TEST (ffffffffbffffff8)
|
|
|
|
/* { dg-final { scan-assembler-not "\tcache\t" } } */
|