1/* { dg-do run { target i?86-*-* } } */ 2/* { dg-options "-O2" } */ 3 4void bar(char *p) 5{ 6} 7 8static 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 20int main (void) 21{ 22 foo (23, 1); 23 return 0; 24} 25