OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [941014-2.c] - Blame information for rev 774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 688 jeremybenn
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
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.