unsigned long * p = ((unsigned long *) addr) + (offset >> 5); unsigned long bitvec, reg; int set, bit = offset & 31, res; 
const unsigned long *p; unsigned long bit, set; 
find_next_bit (const unsigned long * addr, int size, int offset){        unsigned long * p = ((unsigned long *) addr) + (offset >> 5);        unsigned long bitvec, reg;        int set, bit = offset & 31, res;        if (bit) {                /*                 * Look for set bit in first word                 */                bitvec = (*p) >> bit;                __asm__("   slr  %0,%0\n"                        "   lhi  %2,0xff\n"                        "   tml  %1,0xffff\n"                        "   jnz  0f\n"                        "   ahi  %0,16\n"                        "   srl  %1,16\n"                        "0: tml  %1,0x00ff\n"                        "   jnz  1f\n"                        "   ahi  %0,8\n"                        "   srl  %1,8\n"                        "1: nr   %1,%2\n"                        "   ic   %1,0(%1,%3)\n"                        "   alr  %0,%1"                        : "=&d" (set), "+a" (bitvec), "=&d" (reg)                        : "a" (&_sb_findmap) : "cc" );                if (set < (32 - bit))                        return set + offset;                offset += 32 - bit;                p++;        }        /*         * No set bit yet, search remaining full words for a bit         */        res = find_first_bit (p, size - 32 * (p - (unsigned long *) addr));        return (offset + res);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/afff7e2b3b13dbd26a2b9991d3d571df111d92e8/bitops.h/clean/include/asm-s390/bitops.h