long d0, d1, d2; long res;  if (!size) return 0; asm volatile( "  repe; scasq\n" "  je 1f\n" "  xorq -8(%%rdi),%%rax\n" "  subq $8,%%rdi\n" "  bsfq %%rax,%%rdx\n" "1:  subq %[addr],%%rdi\n" "  shlq $3,%%rdi\n" "  addq %%rdi,%%rdx" :"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2) :"0" (0ULL), "1" ((size + 63) >> 6), "2" (addr), "3" (-1ULL), [addr] "r" (addr) : "memory"); return res; 
return __find_first_zero_bit (addr, size); 
inline long find_first_zero_bit(const unsigned long * addr, unsigned long size){	long d0, d1, d2;	long res;	if (!size)		return 0;	asm volatile(		"  repe; scasq\n"		"  je 1f\n"		"  xorq -8(%%rdi),%%rax\n"		"  subq $8,%%rdi\n"		"  bsfq %%rax,%%rdx\n"		"1:  subq %[addr],%%rdi\n"		"  shlq $3,%%rdi\n"		"  addq %%rdi,%%rdx"		:"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2)		:"0" (0ULL), "1" ((size + 63) >> 6), "2" (addr), "3" (-1ULL),		 [addr] "r" (addr) : "memory");	return res;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/06024f217d607369f0ee0071034ebb03071d5fb2/bitops.c/buggy/arch/x86_64/lib/bitops.c