modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/941014-2.c (about)

     1  void
     2  f (n, ppt, xrot)
     3  {
     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--)
    21      {
    22        if ((srcx = (ppt - xrot) % tileWidth) < 0)
    23  	if (needFirst)
    24  	  if (nlwSrc == 1)
    25  	    {
    26  	      tmp = b;
    27  	      if (tileEndPart)
    28  		b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
    29  	    }
    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;
    36      }
    37  }