1
1

* Updates to make non-inline assembly behave properly on AIX.

This commit was SVN r4364.
Этот коммит содержится в:
Brian Barrett 2005-02-10 00:06:54 +00:00
родитель 123e15857f
Коммит e51bb59b54
6 изменённых файлов: 34 добавлений и 30 удалений

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

@ -27,6 +27,6 @@ IA32 default-.text-.globl-:--.L-@-1-0-1-0 ia32-linux
POWERPC32 default-.text-.globl-:-_-L--0-1-1-0 powerpc32-osx
POWERPC32 default-.text-.globl-:-_-L--0-1-1-1 powerpc32-64-osx
POWERPC32 default-.text-.globl-:--.L-@-1-1-0-0 powerpc32-linux
POWERPC32 aix-.csect .text[PR]-.globl-:-.-L--0-0-0-0 powerpc32-aix
POWERPC32 aix-.csect .text[PR]-.globl-:-.-L--0-1-0-0 powerpc32-aix
POWERPC64 default-.text-.globl-:-_-L--0-1-1-1 powerpc64-osx
POWERPC64 aix-.csect .text[PR]-.globl-:-.-L--0-1-0-1 powerpc64-aix

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

@ -1,3 +1,4 @@
START_FILE
TEXT
START_FUNC(ompi_atomic_mb)

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

@ -1,3 +1,4 @@
START_FILE
TEXT
START_FUNC(ompi_atomic_mb)

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

@ -1,3 +1,4 @@
START_FILE
TEXT
ALIGN(4)
@ -20,13 +21,13 @@ END_FUNC(ompi_atomic_wmb)
START_FUNC(ompi_atomic_cmpset_32)
1: lwarx r0, 0, r3
LSYM(1) lwarx r0, 0, r3
cmpw 0, r0, r4
bne- 2f
bne- REFLSYM(2)
stwcx. r5, 0, r3
bne- 1b
bne- REFLSYM(1)
sync
2:
LSYM(2)
xor r3,r0,r4
subfic r2,r3,0
adde r3,r2,r3
@ -35,13 +36,13 @@ END_FUNC(ompi_atomic_cmpset_32)
START_FUNC(ompi_atomic_cmpset_acq_32)
1: lwarx r0, 0, r3
LSYM(3) lwarx r0, 0, r3
cmpw 0, r0, r4
bne- 2f
bne- REFLSYM(4)
stwcx. r5, 0, r3
bne- 1b
bne- REFLSYM(3)
sync
2:
LSYM(4)
xor r3,r0,r4
subfic r2,r3,0
adde r3,r2,r3
@ -52,13 +53,13 @@ END_FUNC(ompi_atomic_cmpset_acq_32)
START_FUNC(ompi_atomic_cmpset_rel_32)
eieio
1: lwarx r0, 0, r3
LSYM(5) lwarx r0, 0, r3
cmpw 0, r0, r4
bne- 2f
bne- REFLSYM(6)
stwcx. r5, 0, r3
bne- 1b
bne- REFLSYM(5)
sync
2:
LSYM(6)
xor r3,r0,r4
subfic r2,r3,0
adde r3,r2,r3
@ -73,12 +74,12 @@ START_FUNC(ompi_atomic_cmpset_64)
stw r7,-20(r1)
ld r5,-32(r1)
ld r7,-24(r1)
1: ldarx r9, 0, r3
LSYM(7) ldarx r9, 0, r3
cmpd 0, r9, r5
bne- 2f
bne- REFLSYM(8)
stdcx. r7, 0, r3
bne- 1b
2:
bne- REFLSYM(7)
LSYM(8)
xor r3,r5,r9
subfic r2,r3,0
adde r3,r2,r3
@ -94,12 +95,12 @@ START_FUNC(ompi_atomic_cmpset_acq_64)
ld r5,-32(r1)
ld r7,-24(r1)
1: ldarx r9, 0, r3
LSYM(9) ldarx r9, 0, r3
cmpd 0, r9, r5
bne- 2f
bne- REFLSYM(10)
stdcx. r7, 0, r3
bne- 1b
2:
bne- REFLSYM(9)
LSYM(10)
xor r3,r5,r9
subfic r2,r3,0
adde r3,r2,r3
@ -118,12 +119,12 @@ START_FUNC(ompi_atomic_cmpset_rel_64)
ld r7,-24(r1)
eieio
1: ldarx r9, 0, r3
LSYM(11) ldarx r9, 0, r3
cmpd 0, r9, r5
bne- 2f
bne- REFLSYM(12)
stdcx. r7, 0, r3
bne- 1b
2:
bne- REFLSYM(11)
LSYM(12)
xor r3,r5,r9
subfic r2,r3,0
adde r3,r2,r3
@ -135,10 +136,10 @@ END_FUNC(ompi_atomic_cmpset_rel_64)
START_FUNC(ompi_atomic_add_32)
1: lwarx r0, 0, r3
LSYM(13) lwarx r0, 0, r3
add r0, r4, r0
stwcx. r0, 0, r3
bne- 1b
bne- REFLSYM(13)
lwz r3,0(r3)
blr
@ -146,10 +147,10 @@ END_FUNC(ompi_atomic_add_32)
START_FUNC(ompi_atomic_sub_32)
1: lwarx r0,0,r3
LSYM(14) lwarx r0,0,r3
subf r0,r4,r0
stwcx. r0,0,r3
bne- 1b
bne- REFLSYM(14)
lwz r3,0(r3)
blr

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

@ -1,5 +1,4 @@
START_FILE
TEXT
ALIGN(4)

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

@ -3,6 +3,8 @@ sub start_file()
my $ret = "";
if ($IS64BIT == 1) {
$ret .= "\t.machine \"ppc64\"\n";
} else {
$ret .= "\t.machine \"ppc\"\n";
}
$ret .= "\t.toc\n";
return $ret;