* Mainline merge as of 2006-02-16 (@111136).
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / 20031125-1.c
blob735a20bc241cb323023f22602acea31d9f8eab95
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 short *_offsetTable;
4 /* This tests to make sure PRE splits the entry block ->block 0 edge
5 when there are multiple block 0 predecessors.
6 This is done so that we don't end up with an insertion on the
7 entry block -> block 0 edge which would require a split at insertion
8 time.
9 PR 13163. */
10 void proc4WithoutFDFE(char *dst, const char *src, int next_offs, int bw,
11 int bh, int pitch)
13 do {
14 int i = bw;
15 int code = *src++;
16 int x, l;
17 int length = *src++ + 1;
19 for (l = 0; l < length; l++) {
20 int x;
22 for (x = 0; x < 4; x++) ;
23 if (i == 0)
24 dst += pitch * 3;
26 char *dst2 = dst + _offsetTable[code] + next_offs;
28 for (x = 0; x < 4; x++) {
29 int j = 0;
30 (dst + pitch * x)[j] = (dst2 + pitch * x)[j];
32 dst += pitch * 3;
33 } while (--bh);