blob: 48ea4b4940f5b7d1d14c4ac4b7be97fb25ddd93b [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -mcpu=5475" } */
/* This tickles a problem with reload on the m68k. There's a reasonable
chance it will get stale over time. */
int frob;
typedef double SplashCoord;
void transform (SplashCoord xi, SplashCoord yi);
void
arf (SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1,
SplashCoord x2, SplashCoord y2, SplashCoord x3, SplashCoord y3,
SplashCoord * matrix, SplashCoord flatness2)
{
SplashCoord cx[(1 << 10) + 1][3];
SplashCoord cy[(1 << 10) + 1][3];
SplashCoord xl0, xl1, xl2, xr0, xr1, xr2, xr3, xx1, xx2, xh;
SplashCoord yl0, yl1, yl2, yr0, yr1, yr2, yr3, yy1, yy2, yh;
int p1, p2, p3;
while (p1 < (1 << 10))
{
xl0 = cx[p1][0];
xx2 = cx[p1][2];
yy2 = cy[p1][2];
transform (xx2, yy2);
if (frob)
{
xl1 = (xl0 + xx1);
xh = (xx1 + xx2);
yl2 = (yl1 + yh);
xr2 = (xx2 + xr3);
yr2 = (yy2 + yr3) * 0.5;
xr1 = (xh + xr2);
yr1 = (yh + yr2);
xr0 = (xl2 + xr1);
yr0 = (yl2 + yr1);
cx[p1][1] = xl1;
cy[p1][1] = yl1;
cx[p1][2] = xl2;
cx[p3][0] = xr0;
cy[p3][0] = yr0;
}
}
}