On AIX the r2 is a protected register (stack/frame pointer). If we use it inside our
functions we destroy the frame pointer for the next call so very very weird things happened. Like seg fault on i = 50 !!! Both 32 and 64 bits versions have been modified but only the 32 version have been tested (by lack of ressources). This commit was SVN r5525. The following SVN revision numbers were found above: r2 --> open-mpi/ompi@58fdc18855
Этот коммит содержится в:
родитель
ebfee139e0
Коммит
e910a968ed
@ -28,8 +28,8 @@ START_FUNC(ompi_atomic_cmpset_32)
|
||||
bne- REFLSYM(1)
|
||||
LSYM(2)
|
||||
xor r3,r0,r4
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_32)
|
||||
|
||||
@ -43,8 +43,8 @@ START_FUNC(ompi_atomic_cmpset_acq_32)
|
||||
sync
|
||||
LSYM(4)
|
||||
xor r3,r0,r4
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
lwsync
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_acq_32)
|
||||
@ -60,8 +60,8 @@ START_FUNC(ompi_atomic_cmpset_rel_32)
|
||||
sync
|
||||
LSYM(6)
|
||||
xor r3,r0,r4
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_rel_32)
|
||||
|
||||
@ -80,8 +80,8 @@ START_FUNC(ompi_atomic_cmpset_64)
|
||||
bne- REFLSYM(7)
|
||||
LSYM(8)
|
||||
xor r3,r5,r9
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_64)
|
||||
|
||||
@ -101,8 +101,8 @@ START_FUNC(ompi_atomic_cmpset_acq_64)
|
||||
bne- REFLSYM(9)
|
||||
LSYM(10)
|
||||
xor r3,r5,r9
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
lwsync
|
||||
blr
|
||||
@ -125,8 +125,8 @@ START_FUNC(ompi_atomic_cmpset_rel_64)
|
||||
bne- REFLSYM(11)
|
||||
LSYM(12)
|
||||
xor r3,r5,r9
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
lwsync
|
||||
blr
|
||||
|
@ -84,8 +84,8 @@ START_FUNC(ompi_atomic_cmpset_64)
|
||||
bne- REFLSYM(3)
|
||||
LSYM(4)
|
||||
xor r3,r4,r0
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_64)
|
||||
|
||||
@ -99,8 +99,8 @@ START_FUNC(ompi_atomic_cmpset_acq_64)
|
||||
LSYM(8)
|
||||
lwsync
|
||||
xor r3,r4,r0
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_acq_64)
|
||||
|
||||
@ -114,8 +114,8 @@ START_FUNC(ompi_atomic_cmpset_rel_64)
|
||||
bne- REFLSYM(9)
|
||||
LSYM(10)
|
||||
xor r3,r4,r0
|
||||
subfic r2,r3,0
|
||||
adde r3,r2,r3
|
||||
subfic r5,r3,0
|
||||
adde r3,r5,r3
|
||||
blr
|
||||
END_FUNC(ompi_atomic_cmpset_rel_64)
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user