aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/vect/pr55857-2.c
blob: 3bfff8247945e86719d8d2a4b8237888e1b65851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* { dg-do compile } */

void foo (int *data, unsigned len, const int qlp_coeff[],
	  unsigned order, int lp, int residual[])
{
  int i;
  int sum;
  if(order == 2)
    for(i = 0; i < (int)len; i++)
      {
	sum = 0;
	sum += qlp_coeff[1] * data[i-2]; 
	sum += qlp_coeff[0] * data[i-1];
	residual[i] = data[i] - (sum >> lp);
      }
  else
    for(i = 0; i < (int)len; i++)  
      residual[i] = data[i] - ((qlp_coeff[0] * data[i-1]) >> lp);
}

/* { dg-final { cleanup-tree-dump "vect" } } */