summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/pr32461-2.c
blob: 81ee6ae953ed41b6c703d3e2e60ea744b356f022 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* { dg-do compile } */
/* { dg-options "-O3" } */

typedef struct
{
  unsigned char exp[256];
}
expbap_t;

void
a52_bit_allocate (expbap_t * expbap)
{
  int i;
  unsigned char *exp = expbap->exp;
  int lowcomp;

  do
    {
      if (exp[i + 1] == exp[i] - 2)
        lowcomp = 384;
      else if (lowcomp && (exp[i + 1] > exp[i]))
        lowcomp -= 64;
      i++;
    }
  while ((i < 3) || ((i < 7) && (exp[i] > exp[i - 1])));
}