mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-19 11:31:47 +02:00
- removed fpc_strconcat_len for -dnewoptimizations since it's not
used anymore (because the strconcat optimizations have been disabled quite a while ago)
This commit is contained in:
parent
577075367d
commit
be0deb8185
@ -801,46 +801,6 @@ begin
|
|||||||
end ['EBX','ECX','EAX','ESI','EDI'];
|
end ['EBX','ECX','EAX','ESI','EDI'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$ifdef newoptimizations}
|
|
||||||
procedure int_strconcatlen(s1,s2:pointer;maxlen: longint);
|
|
||||||
[public,alias:'FPC_SHORTSTR_CONCAT_LEN'];
|
|
||||||
begin
|
|
||||||
asm
|
|
||||||
movl s2,%edi
|
|
||||||
movl s1,%esi
|
|
||||||
movl %edi,%ebx
|
|
||||||
movzbl (%edi),%ecx
|
|
||||||
xor %eax,%eax
|
|
||||||
lea 1(%edi,%ecx),%edi
|
|
||||||
negl %ecx
|
|
||||||
addl maxlen,%ecx
|
|
||||||
lodsb
|
|
||||||
cmpl %ecx,%eax
|
|
||||||
jbe .LStrConcat1
|
|
||||||
movl %ecx,%eax
|
|
||||||
.LStrConcat1:
|
|
||||||
addb %al,(%ebx)
|
|
||||||
cmpl $7,%eax
|
|
||||||
jl .LStrConcat2
|
|
||||||
movl %edi,%ecx { Align on 32bits }
|
|
||||||
negl %ecx
|
|
||||||
andl $3,%ecx
|
|
||||||
subl %ecx,%eax
|
|
||||||
rep
|
|
||||||
movsb
|
|
||||||
movl %eax,%ecx
|
|
||||||
andl $3,%eax
|
|
||||||
shrl $2,%ecx
|
|
||||||
rep
|
|
||||||
movsl
|
|
||||||
.LStrConcat2:
|
|
||||||
movl %eax,%ecx
|
|
||||||
rep
|
|
||||||
movsb
|
|
||||||
end ['EBX','ECX','EAX','ESI','EDI'];
|
|
||||||
end;
|
|
||||||
{$endif newoptimizations}
|
|
||||||
|
|
||||||
|
|
||||||
{$define FPC_SYSTEM_HAS_FPC_SHORTSTR_COMPARE}
|
{$define FPC_SYSTEM_HAS_FPC_SHORTSTR_COMPARE}
|
||||||
procedure int_strcmp(dstr,sstr:pointer);[public,alias:'FPC_SHORTSTR_COMPARE'];
|
procedure int_strcmp(dstr,sstr:pointer);[public,alias:'FPC_SHORTSTR_COMPARE'];
|
||||||
@ -1196,7 +1156,12 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.74 2000-07-07 18:23:41 marco
|
Revision 1.75 2000-07-08 09:09:35 jonas
|
||||||
|
- removed fpc_strconcat_len for -dnewoptimizations since it's not
|
||||||
|
used anymore (because the strconcat optimizations have been
|
||||||
|
disabled quite a while ago)
|
||||||
|
|
||||||
|
Revision 1.74 2000/07/07 18:23:41 marco
|
||||||
* Changed move (var source;var dest) to move (const source;var dest)
|
* Changed move (var source;var dest) to move (const source;var dest)
|
||||||
|
|
||||||
Revision 1.73 2000/05/09 06:21:58 pierre
|
Revision 1.73 2000/05/09 06:21:58 pierre
|
||||||
|
Loading…
Reference in New Issue
Block a user