1/* PR tree-optimization/46309 */
2
3extern void abort (void);
4
5unsigned int *q;
6
7__attribute__((noinline, noclone)) void
8bar (unsigned int *p)
9{
10  if (*p != 2 && *p != 3)
11    (!(!(*q & 263) || *p != 1)) ? abort () : 0;
12}
13
14int
15main ()
16{
17  unsigned int x, y;
18  asm volatile ("" : : : "memory");
19  x = 2;
20  bar (&x);
21  x = 3;
22  bar (&x);
23  y = 1;
24  x = 0;
25  q = &y;
26  bar (&x);
27  y = 0;
28  x = 1;
29  bar (&x);
30  return 0;
31}
32