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