mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 16:59:12 +02:00
* put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc
* strupper and strlower were missing a cld, so it was added to them as well. git-svn-id: trunk@25591 -
This commit is contained in:
parent
52fcc0a407
commit
e4b05477e1
@ -91,7 +91,9 @@ var
|
|||||||
asm
|
asm
|
||||||
movl %edi,saveedi
|
movl %edi,saveedi
|
||||||
movl %esi,saveesi
|
movl %esi,saveesi
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
movl dest,%esi
|
movl dest,%esi
|
||||||
movl source,%edi
|
movl source,%edi
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
@ -132,7 +134,9 @@ asm
|
|||||||
movl %edi,savedest
|
movl %edi,savedest
|
||||||
orl %ecx,%ecx
|
orl %ecx,%ecx
|
||||||
jz .LSTRLCOPY2
|
jz .LSTRLCOPY2
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
.LSTRLCOPY1:
|
.LSTRLCOPY1:
|
||||||
lodsb
|
lodsb
|
||||||
stosb
|
stosb
|
||||||
@ -159,7 +163,9 @@ var
|
|||||||
saveedi : longint;
|
saveedi : longint;
|
||||||
asm
|
asm
|
||||||
movl %edi,saveedi
|
movl %edi,saveedi
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
movl p,%edi
|
movl p,%edi
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
orl %edi,%edi
|
orl %edi,%edi
|
||||||
@ -189,7 +195,9 @@ asm
|
|||||||
movl %edx,saveedx
|
movl %edx,saveedx
|
||||||
movl str2,%edi
|
movl str2,%edi
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
repne
|
repne
|
||||||
scasb
|
scasb
|
||||||
@ -221,7 +229,9 @@ asm
|
|||||||
movl %ecx,saveecx
|
movl %ecx,saveecx
|
||||||
movl str2,%edi
|
movl str2,%edi
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
repne
|
repne
|
||||||
scasb
|
scasb
|
||||||
@ -256,7 +266,9 @@ asm
|
|||||||
movl %edx,saveedx
|
movl %edx,saveedx
|
||||||
movl str2,%edi
|
movl str2,%edi
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
repne
|
repne
|
||||||
scasb
|
scasb
|
||||||
@ -304,7 +316,9 @@ asm
|
|||||||
movl %ecx,saveecx
|
movl %ecx,saveecx
|
||||||
movl str2,%edi
|
movl str2,%edi
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
repne
|
repne
|
||||||
scasb
|
scasb
|
||||||
@ -483,7 +497,9 @@ asm
|
|||||||
orl %edi,%edi
|
orl %edi,%edi
|
||||||
jz .LSTRRSCAN
|
jz .LSTRRSCAN
|
||||||
movl $0xffffffff,%ecx
|
movl $0xffffffff,%ecx
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
xorb %al,%al
|
xorb %al,%al
|
||||||
repne
|
repne
|
||||||
scasb
|
scasb
|
||||||
@ -518,6 +534,9 @@ asm
|
|||||||
movl p,%esi
|
movl p,%esi
|
||||||
orl %esi,%esi
|
orl %esi,%esi
|
||||||
jz .LStrUpperNil
|
jz .LStrUpperNil
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
movl %esi,%edi
|
movl %esi,%edi
|
||||||
.LSTRUPPER1:
|
.LSTRUPPER1:
|
||||||
lodsb
|
lodsb
|
||||||
@ -550,6 +569,9 @@ asm
|
|||||||
movl p,%esi
|
movl p,%esi
|
||||||
orl %esi,%esi
|
orl %esi,%esi
|
||||||
jz .LStrLowerNil
|
jz .LStrLowerNil
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
movl %esi,%edi
|
movl %esi,%edi
|
||||||
.LSTRLOWER1:
|
.LSTRLOWER1:
|
||||||
lodsb
|
lodsb
|
||||||
|
@ -23,7 +23,9 @@ var
|
|||||||
asm
|
asm
|
||||||
movl %edi,saveedi
|
movl %edi,saveedi
|
||||||
movl %esi,saveesi
|
movl %esi,saveesi
|
||||||
|
{$ifdef FPC_ENABLED_CLD}
|
||||||
cld
|
cld
|
||||||
|
{$endif FPC_ENABLED_CLD}
|
||||||
|
|
||||||
movl %eax,%edi // load destination address
|
movl %eax,%edi // load destination address
|
||||||
movl %edx,%esi // Load Source adress
|
movl %edx,%esi // Load Source adress
|
||||||
|
Loading…
Reference in New Issue
Block a user