Fix the Sparc and Sparcv9 atomics based on Nicolai Stange
patch. CMR:v1.5 CMR:v1.4 This commit was SVN r24150.
Этот коммит содержится в:
родитель
297630368a
Коммит
b4355408f5
@ -107,7 +107,7 @@ static inline int opal_atomic_trylock(opal_atomic_lock_t *lock)
|
||||
lock is now held. */
|
||||
__asm__ __volatile__ ("\t"
|
||||
"ldstub [%1], %0"
|
||||
: "=r"(result)
|
||||
: "+r"(result)
|
||||
: "r"(&(lock->u.sparc_lock))
|
||||
: "memory");
|
||||
return (result == 0);
|
||||
|
@ -159,7 +159,7 @@ static inline int opal_atomic_cmpset_64( volatile int64_t *addr,
|
||||
"ldx %2, %%g2 \n\t" /* g2 = oldval */
|
||||
"casxa [%1] " ASI_P ", %%g2, %%g1 \n\t"
|
||||
"stx %%g1, %0 \n"
|
||||
: "=m"(ret)
|
||||
: "+m"(ret)
|
||||
: "r"(addr), "m"(oldval)
|
||||
: "%g1", "%g2"
|
||||
);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user