1
1
http://www.open-mpi.org/community/lists/devel/2011/08/9586.php

This commit was SVN r24979.
Этот коммит содержится в:
Jeff Squyres 2011-08-02 19:15:24 +00:00
родитель 45ea375531
Коммит f539b20a8f
2 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -73,6 +73,7 @@ START_FUNC(opal_atomic_cmpset_64)
LSYM(7) LSYM(7)
ldrexd r4, r5, [r0] ldrexd r4, r5, [r0]
cmp r4, r2 cmp r4, r2
it eq
cmpeq r5, r3 cmpeq r5, r3
bne REFLSYM(8) bne REFLSYM(8)
strexd r1, r6, r7, [r0] strexd r1, r6, r7, [r0]
@ -91,6 +92,7 @@ START_FUNC(opal_atomic_cmpset_acq_64)
LSYM(9) LSYM(9)
ldrexd r4, r5, [r0] ldrexd r4, r5, [r0]
cmp r4, r2 cmp r4, r2
it eq
cmpeq r5, r3 cmpeq r5, r3
bne REFLSYM(10) bne REFLSYM(10)
strexd r1, r6, r7, [r0] strexd r1, r6, r7, [r0]
@ -111,6 +113,7 @@ START_FUNC(opal_atomic_cmpset_rel_64)
LSYM(11) LSYM(11)
ldrexd r4, r5, [r0] ldrexd r4, r5, [r0]
cmp r4, r2 cmp r4, r2
it eq
cmpeq r5, r3 cmpeq r5, r3
bne REFLSYM(12) bne REFLSYM(12)
dmb dmb

Просмотреть файл

@ -142,6 +142,7 @@ static inline int opal_atomic_cmpset_64(volatile int64_t *addr,
__asm__ __volatile__ ( __asm__ __volatile__ (
"1: ldrexd %0, %H0, [%2] \n" "1: ldrexd %0, %H0, [%2] \n"
" cmp %0, %3 \n" " cmp %0, %3 \n"
" it eq \n"
" cmpeq %H0, %H3 \n" " cmpeq %H0, %H3 \n"
" bne 2f \n" " bne 2f \n"
" strexd %1, %4, %H4, [%2] \n" " strexd %1, %4, %H4, [%2] \n"