(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
graphite/
id-pr45231.c
       1  void
       2  f (int n, int ppt, int 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  }