/* PR optimization/11304 */
/* Originator: <manuel.serrano@sophia.inria.fr> */
/* { dg-do run { target i?86-*-* } } */
/* { dg-options "-O -fomit-frame-pointer" } */

/* Verify that %eax is always restored after a call.  */

extern void abort(void);

volatile int r;

void set_eax(int val)
{
  __asm__ __volatile__ ("mov %0, %%eax" : : "m" (val));
}

void foo(int val)
{
  r = val;
}

int bar(int x)
{
  if (x)
  {
    set_eax(0);
    return x;
  }

  foo(x);
}

int main(void)
{
  if (bar(1) != 1)
    abort();

  return 0;
}
