2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / 941014-2.c
blob01e9a672e88008d4ac9082f6a9d3537469683263
1 void
2 f (n, ppt, xrot)
4 int tileWidth;
5 int nlwSrc;
6 int srcx;
7 int v3, v4;
8 register unsigned long ca1, cx1, ca2, cx2;
9 unsigned long *pSrcLine;
10 register unsigned long *pDst;
11 register unsigned long *pSrc;
12 register unsigned long b, tmp;
13 unsigned long tileEndMask;
14 int v1, v2;
15 int tileEndPart;
16 int needFirst;
17 tileEndPart = 0;
18 v1 = tileEndPart << 5;
19 v2 = 32 - v1;
20 while (n--)
22 if ((srcx = (ppt - xrot) % tileWidth) < 0)
23 if (needFirst)
24 if (nlwSrc == 1)
26 tmp = b;
27 if (tileEndPart)
28 b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
30 if (tileEndPart)
31 b = (tmp << v1) | (b >> v2);
32 if (v4 != 32)
33 *pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
34 ^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
35 *pDst = *pDst & tmp;