1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
bar(char * p)4 void bar(char *p)
5 {
6 }
7 
foo(unsigned long base,unsigned char val)8 static inline void foo (unsigned long base, unsigned char val)
9 {
10   val ^= (1<<2);
11   bar (val & (1<<5) ? "1" : "2");
12   bar (val & (1<<4) ? "1" : "2");
13   bar (val & (1<<3) ? "1" : "2");
14   bar (val & (1<<2) ? "1" : "2");
15   bar (val & (1<<1) ? "1" : "2");
16   bar (val & (1<<0) ? "1" : "2");
17   asm volatile ("": :"a" (val), "d" (base));
18 }
19 
main(void)20 int main (void)
21 {
22   foo (23, 1);
23   return 0;
24 }
25