* changed used scratchreg from r0 to r10

This commit is contained in:
olle 2003-08-24 20:50:11 +00:00
parent 66595617c4
commit b9e01adc15

View File

@ -24,11 +24,11 @@ function InterLockedDecrement (var Target: integer) : Integer; assembler;
{ side-effect: target := target-1 } { side-effect: target := target-1 }
asm asm
InterLockedDecLoop: InterLockedDecLoop:
lwarx r0,r0,r3 lwarx r10,r10,r3
subi r0,r0,1 subi r10,r10,1
stwcx. r0,r0,r3 stwcx. r10,r10,r3
bne InterLockedDecLoop bne InterLockedDecLoop
mr r3,r0 mr r3,r10
end; end;
@ -38,11 +38,11 @@ function InterLockedIncrement (var Target: integer) : Integer; assembler;
{ side-effect: target := target+1 } { side-effect: target := target+1 }
asm asm
InterLockedIncLoop: InterLockedIncLoop:
lwarx r0,r0,r3 lwarx r10,r10,r3
addi r0,r0,1 addi r10,r10,1
stwcx. r0,r0,r3 stwcx. r10,r10,r3
bne InterLockedIncLoop bne InterLockedIncLoop
mr r3,r0 mr r3,r10
end; end;
@ -52,10 +52,10 @@ function InterLockedExchange (var Target: integer;Source : integer) : Integer; a
{ side-effect: target := source } { side-effect: target := source }
asm asm
InterLockedXchgLoop: InterLockedXchgLoop:
lwarx r0,r0,r3 lwarx r10,r10,r3
stwcx. r4,r0,r3 stwcx. r4,r10,r3
bne InterLockedXchgLoop bne InterLockedXchgLoop
mr r3,r0 mr r3,r10
end; end;
@ -65,17 +65,20 @@ function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer
{ side-effect: target := target+source } { side-effect: target := target+source }
asm asm
InterLockedXchgAddLoop: InterLockedXchgAddLoop:
lwarx r0,r0,r3 lwarx r10,r10,r3
add r0,r0,r4 add r10,r10,r4
stwcx. r0,r0,r3 stwcx. r10,r10,r3
bne InterLockedXchgAddLoop bne InterLockedXchgAddLoop
sub r3,r0,r4 sub r3,r10,r4
end; end;
{ {
$Log$ $Log$
Revision 1.3 2003-04-24 12:13:23 florian Revision 1.4 2003-08-24 20:50:11 olle
* changed used scratchreg from r0 to r10
Revision 1.3 2003/04/24 12:13:23 florian
* fixed assembler errors * fixed assembler errors
Revision 1.2 2002/09/07 16:01:26 peter Revision 1.2 2002/09/07 16:01:26 peter