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)7 set_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