1 /* { dg-do compile } */
2 /* { dg-options "-O2 -floop-interchange -fno-tree-dce" } */
3 int abs (int);
find_sad_16x16(int * intra_mode)4 int find_sad_16x16(int *intra_mode)
5 {
6   int current_intra_sad_2,best_intra_sad2;
7   int M1[16][16],M0[4][4][4][4],M3[4],M4[4][4];
8   int i,j,k;
9   int ii,jj;
10   int up_avail, left_avail, left_up_avail;
11   for (i=0;i<17;i++)
12     if (left_up_avail)
13       {
14 	for (jj=0;jj<4;jj++)
15 	  for (ii=0;ii<4;ii++)
16 	    for (j=0;j<4;j++)
17 	      for (i=0;i<4;i++)
18 		{
19 		  M0[i][ii][2][jj]=M3[0]-M3[1];
20 		  M0[i][ii][1][jj]=M3[2]+M3[3];
21 		  current_intra_sad_2 += abs(M0[i][ii][j][jj]);
22 		}
23 
24         if(current_intra_sad_2 < best_intra_sad2)
25           best_intra_sad2=current_intra_sad_2;
26       }
27   return 0;
28 }
29