(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
m68k/
pr48551.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mcpu=5475" } */
       3  
       4  /* This tickles a problem with reload on the m68k.  There's a reasonable
       5     chance it will get stale over time.  */
       6  
       7  int frob;
       8  typedef double SplashCoord;
       9  void transform (SplashCoord xi, SplashCoord yi);
      10  void
      11  arf (SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1,
      12       SplashCoord x2, SplashCoord y2, SplashCoord x3, SplashCoord y3,
      13       SplashCoord * matrix, SplashCoord flatness2)
      14  {
      15    SplashCoord cx[(1 << 10) + 1][3];
      16    SplashCoord cy[(1 << 10) + 1][3];
      17    SplashCoord xl0, xl1, xl2, xr0, xr1, xr2, xr3, xx1, xx2, xh;
      18    SplashCoord yl0, yl1, yl2, yr0, yr1, yr2, yr3, yy1, yy2, yh;
      19    int p1, p2, p3;
      20    while (p1  < (1 << 10))
      21      {
      22        xl0 = cx[p1][0];
      23        xx2 = cx[p1][2];
      24        yy2 = cy[p1][2];
      25        transform (xx2, yy2);
      26        if (frob)
      27  	{
      28  	  xl1 = (xl0 + xx1);
      29  	  xh = (xx1 + xx2);
      30  	  yl2 = (yl1 + yh);
      31  	  xr2 = (xx2 + xr3);
      32  	  yr2 = (yy2 + yr3) * 0.5;
      33  	  xr1 = (xh + xr2);
      34  	  yr1 = (yh + yr2);
      35  	  xr0 = (xl2 + xr1);
      36  	  yr0 = (yl2 + yr1);
      37  	  cx[p1][1] = xl1;
      38  	  cy[p1][1] = yl1;
      39  	  cx[p1][2] = xl2;
      40  	  cx[p3][0] = xr0;
      41  	  cy[p3][0] = yr0;
      42  	}
      43      }
      44  }