#ifndef __s390x__ unsigned int reg1, reg2; __asm__ __volatile__("    bras  %0,1f\n" "0:  diag  0,0,68\n" "1:  slr   %1,%1\n" "    cs    %1,%0,0(%3)\n" "    jl    0b\n" : "=&d" (reg1), "=&d" (reg2), "=m" (lp->lock) : "a" (&lp->lock), "m" (lp->lock) : "cc", "memory" ); #else /* __s390x__ */ unsigned long reg1, reg2; __asm__ __volatile__("    bras  %1,1f\n" "0:  " __DIAG44_INSN " 0,%4\n" "1:  slr   %0,%0\n" "    cs    %0,%1,0(%3)\n" "    jl    0b\n" : "=&d" (reg1), "=&d" (reg2), "=m" (lp->lock) : "a" (&lp->lock), "i" (__DIAG44_OPERAND), "m" (lp->lock) : "cc", "memory" ); #endif /* __s390x__ */ 
unsigned long pc = (unsigned long) __builtin_return_address(0);  if (unlikely(_raw_compare_and_swap(&lp->lock, 0, pc) != 0)) _raw_spin_lock_wait(lp, pc); 
extern inline void _raw_spin_lock(spinlock_t *lp){#ifndef __s390x__	unsigned int reg1, reg2;        __asm__ __volatile__("    bras  %0,1f\n"                           "0:  diag  0,0,68\n"                           "1:  slr   %1,%1\n"                           "    cs    %1,%0,0(%3)\n"                           "    jl    0b\n"                           : "=&d" (reg1), "=&d" (reg2), "=m" (lp->lock)			   : "a" (&lp->lock), "m" (lp->lock)			   : "cc", "memory" );#else /* __s390x__ */	unsigned long reg1, reg2;        __asm__ __volatile__("    bras  %1,1f\n"                           "0:  " __DIAG44_INSN " 0,%4\n"                           "1:  slr   %0,%0\n"                           "    cs    %0,%1,0(%3)\n"                           "    jl    0b\n"                           : "=&d" (reg1), "=&d" (reg2), "=m" (lp->lock)			   : "a" (&lp->lock), "i" (__DIAG44_OPERAND),			     "m" (lp->lock) : "cc", "memory" );#endif /* __s390x__ */}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/951f22d5b1f0eaae35dafc669e3774a0c2084d10/spinlock.h/clean/include/asm-s390/spinlock.h