1 Index: uClibc/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
2 ===================================================================
3 --- uClibc/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h (revision 1807)
4 +++ uClibc/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h (working copy)
6 #define _PT_MACHINE_H 1
9 -# define PT_EI extern inline
10 +# define PT_EI extern inline __attribute__((always_inline))
13 extern long int testandset (int *spinlock);
14 @@ -41,11 +41,11 @@ testandset (int *spinlock)
18 - asm volatile ("R1 = 1; P0 = %2; CALL (%4); %0 = R0;"
19 - : "=d" (res), "=m" (*spinlock)
20 - : "da" (spinlock), "m" (*spinlock),
22 - :"R0", "R1", "P0", "RETS", "cc", "memory");
23 + __asm__ __volatile__ (
25 + : "=q0" (res), "=m" (*spinlock)
26 + : "qA" (spinlock), "m" (*spinlock), "a" (ATOMIC_XCHG32), "q1" (1)
27 + : "RETS", "cc", "memory");
31 @@ -55,18 +55,15 @@ PT_EI int
32 __compare_and_swap (long int *p, long int oldval, long int newval)
35 - asm volatile ("P0 = %2;\n\t"
40 - : "=da" (readval), "=m" (*p)
44 + __asm__ __volatile__ (
46 + : "=q0" (readval), "=m" (*p)
52 - : "P0", "R0", "R1", "R2", "RETS", "memory", "cc");
53 + : "RETS", "memory", "cc");
54 return readval == oldval;