1/* PR target/22362 */
2/* { dg-do compile } */
3/* { dg-options "-O2" } */
4/* { dg-require-effective-target ilp32 } */
5
6register unsigned int reg0 __asm__ ("esi");
7register unsigned int reg1 __asm__ ("edi");
8register unsigned int reg2 __asm__ ("ebx");
9
10static unsigned int
11__attribute__((noinline))
12foo (unsigned long *x, void *y, void *z)
13{
14  int i;
15
16  for (i = 5; i > 0; i--)
17    x[i] = (unsigned long) foo ((unsigned long *) x[i], y, z);
18  return 0;
19}
20
21unsigned int
22bar (void)
23{
24  return foo (0, 0, 0);
25}
26