1 /* PR rtl-optimization/33673 */
2 /* { dg-do compile } */
3 /* { dg-options "-Os -fno-forward-propagate -fno-guess-branch-probability -fno-move-loop-invariants -fno-tree-dominator-opts -fno-tree-loop-optimize" } */
4 
5 extern int f1 (int);
6 extern int f2 (int);
7 
8 extern int *a;
9 
10 static void
find_reg(int n)11 find_reg (int n)
12 {
13   int i, pass;
14   unsigned int used[2], used1[2];
15 
16   int c = n ? f1 (a[1]) : f2 (a[1]);
17 
18   for (i = 64, pass = 0; pass <= 1 && i >= 64; pass++)
19     {
20       if (pass == 1)
21 	{
22 	  unsigned int *scan_tp_ = used;
23 	  unsigned int *scan_fp_ = used1;
24 	  int j;
25 	  for (j = 0; j < 2; j++)
26 	    *scan_tp_++ = *scan_fp_++;
27 	}
28       for (i = 0; i < 64; i++)
29 	{
30 	  int regno = i;
31 	  if (n == 0)
32 	    if (i == regno)
33 	      break;
34 	}
35     }
36 }
37 
38 void
global_alloc()39 global_alloc ()
40 {
41   find_reg (0);
42   find_reg (1);
43 }
44