summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
blob: 68c4b7ef2392103540d44b28a93c7ca5866eb263 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-options "-O2 -mr10k-cache-barrier=store -mips4 -mbranch-likely -mno-abicalls" } */
int bar (int);

/* Test that code after a branch-likely does not get an unnecessary
   cache barrier.  */

NOMIPS16 void
foo (int n, int *x)
{
  do
    n = bar (n * 4 + 1);
  while (n);
  /* The preceding branch should be a branch likely, with the shift as
     its delay slot.  We therefore don't need a cache barrier here.  */
  x[0] = 0;
}

/* { dg-final { scan-assembler-not "\tcache\t" } } */