ck_pr: moving PPC32 to RMO.

Signed-off-by: Joao Fernandes <mail@joaofernandes.eu>
ck_pring
Joao Fernandes 12 years ago committed by Samy Al Bahra
parent 8c53de1e70
commit 086ebf7126

@ -80,7 +80,7 @@ ck_pr_stall(void)
#endif /* !CK_MD_RMO && !CK_MD_PSO */
CK_PR_FENCE(load_depends, "")
CK_PR_FENCE(store, "eieio")
CK_PR_FENCE(store, "lwsync")
CK_PR_FENCE(load, "lwsync")
CK_PR_FENCE(memory, "sync")
@ -152,15 +152,13 @@ CK_PR_STORE_S(char, char, "stb")
ck_pr_cas_##N##_value(T *target, T compare, T set, T *value) \
{ \
T previous; \
__asm__ __volatile__("isync;" \
"1:" \
__asm__ __volatile__("1:" \
"lwarx %0, 0, %1;" \
"cmpw 0, %0, %3;" \
"bne- 2f;" \
"stwcx. %2, 0, %1;" \
"bne- 1b;" \
"2:" \
"lwsync;" \
: "=&r" (previous) \
: "r" (target), \
"r" (set), \
@ -173,15 +171,13 @@ CK_PR_STORE_S(char, char, "stb")
ck_pr_cas_##N(T *target, T compare, T set) \
{ \
T previous; \
__asm__ __volatile__("isync;" \
"1:" \
__asm__ __volatile__("1:" \
"lwarx %0, 0, %1;" \
"cmpw 0, %0, %3;" \
"bne- 2f;" \
"stwcx. %2, 0, %1;" \
"bne- 1b;" \
"2:" \
"lwsync;" \
: "=&r" (previous) \
: "r" (target), \
"r" (set), \
@ -202,12 +198,10 @@ CK_PR_CAS(int, int)
ck_pr_fas_##N(M *target, T v) \
{ \
T previous; \
__asm__ __volatile__("isync;" \
"1:" \
__asm__ __volatile__("1:" \
"l" W "arx %0, 0, %1;" \
"st" W "cx. %2, 0, %1;" \
"bne- 1b;" \
"lwsync;" \
: "=&r" (previous) \
: "r" (target), \
"r" (v) \
@ -298,13 +292,11 @@ ck_pr_faa_ptr(void *target, uintptr_t delta)
{
uintptr_t previous, r;
__asm__ __volatile__("isync;"
"1:"
__asm__ __volatile__("1:"
"lwarx %0, 0, %2;"
"add %1, %3, %0;"
"stwcx. %1, 0, %2;"
"bne- 1b;"
"lwsync;"
: "=&r" (previous),
"=&r" (r)
: "r" (target),
@ -319,13 +311,11 @@ ck_pr_faa_ptr(void *target, uintptr_t delta)
ck_pr_faa_##S(T *target, T delta) \
{ \
T previous, r; \
__asm__ __volatile__("isync;" \
"1:" \
__asm__ __volatile__("1:" \
"l" W "arx %0, 0, %2;" \
"add %1, %3, %0;" \
"st" W "cx. %1, 0, %2;" \
"bne- 1b;" \
"lwsync;" \
: "=&r" (previous), \
"=&r" (r) \
: "r" (target), \

Loading…
Cancel
Save