2016-12-21 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / 980709-1.c
blobdcc873fbca6c2dae8bb4b7d71804594445bc1eee
1 /* { dg-do compile } */
2 /* { dg-options -O2 } */
4 extern __inline__ int test_and_set_bit(int nr, volatile void * addr)
6 int oldbit;
7 __asm__ __volatile__( ""
8 "btsl %2,%1\n\tsbbl %0,%0"
9 :"=r" (oldbit),"=m" (addr)
10 :"ir" (nr));
11 return oldbit;
13 struct buffer_head {
14 unsigned long b_state;
16 void __wait_on_buffer (struct buffer_head *);
17 extern void lock_buffer(struct buffer_head * bh)
19 while (test_and_set_bit(2 , &bh->b_state))
20 __wait_on_buffer(bh);