/* { dg-do compile } */
/* { dg-options "-O2" } */

extern int a;
extern int b;
extern int c;

int foo(int choose_a)
{
  int *p;
  if (choose_a)
    p = &a;
  else
    p = &b;
  return p != &c;
}

int bar ()
{
  return &a != &c;
}

/* We should not optimize away either comparison.  */
/* { dg-final { scan-assembler-times "cmp" 2 } } */
