1 /* { dg-do compile } */ 2 /* { dg-options "-O2 --save-temps" } */ 3 4 unsigned char byte = 0; 5 6 void set_bit(unsigned int bit,unsigned char value)7set_bit (unsigned int bit, unsigned char value) 8 { 9 unsigned char mask = (unsigned char) (1 << (bit & 7)); 10 11 if (! value) 12 byte &= (unsigned char)~mask; 13 else 14 byte |= mask; 15 /* { dg-final { scan-assembler "and\tw\[0-9\]+, w\[0-9\]+, 7" } } */ 16 } 17 18