OSDN Git Service

Fix PR46928: handle "A[p] == A[p]" in data dep analysis with p a parameter of the...
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / ldist-17.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-loop-distribution -fdump-tree-ldist-details" } */
3
4 typedef int mad_fixed_t;
5 struct mad_pcm
6 {
7   unsigned int samplerate;
8   unsigned short channels;
9   unsigned short length;
10   mad_fixed_t samples[2][1152];
11 };
12 struct mad_synth
13 {
14   mad_fixed_t filter[2][2][2][16][8];
15   unsigned int phase;
16   struct mad_pcm pcm;
17 };
18 void mad_synth_mute (struct mad_synth *synth);
19 void
20 mad_synth_mute (struct mad_synth *synth)
21 {
22   unsigned int ch;
23   unsigned int s;
24   unsigned int v;
25
26   ch = 0U;
27   while (ch < 2U)
28     {
29       s = 0U;
30       while (s < 16U)
31         {
32           v = 0U;
33           while (v < 8U)
34             {
35               synth->filter[ch][1][1][s][v] = 0;
36               synth->filter[ch][1][0][s][v] = 0;
37               synth->filter[ch][0][1][s][v] = 0;
38               synth->filter[ch][0][0][s][v] = 0;
39               v++;
40             }
41           s++;
42         }
43       ch++;
44     }
45   return;
46 }
47
48 /* { dg-final { scan-tree-dump "distributed: split to 4" "ldist" } } */
49 /* { dg-final { scan-tree-dump-times "__builtin_memset" 8 "ldist" } } */
50 /* { dg-final { cleanup-tree-dump "ldist" } } */