1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -floop-interchange -fno-tree-dce" } */
       3  int abs (int);
       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  }