mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-16 15:29:26 +02:00
* if the selected cpu type supports pld, provide and use only the pld variant
git-svn-id: trunk@22105 -
This commit is contained in:
parent
354cac2bb6
commit
e353222a8a
@ -213,7 +213,11 @@ end;
|
|||||||
|
|
||||||
{$ifndef FPC_SYSTEM_HAS_MOVE}
|
{$ifndef FPC_SYSTEM_HAS_MOVE}
|
||||||
{$define FPC_SYSTEM_HAS_MOVE}
|
{$define FPC_SYSTEM_HAS_MOVE}
|
||||||
|
{$ifdef CPUARM_HAS_EDSP}
|
||||||
|
procedure Move(const source;var dest;count:longint);[public, alias: 'FPC_MOVE'];assembler;nostackframe;
|
||||||
|
{$else CPUARM_HAS_EDSP}
|
||||||
procedure Move_pld(const source;var dest;count:longint);assembler;nostackframe;
|
procedure Move_pld(const source;var dest;count:longint);assembler;nostackframe;
|
||||||
|
{$endif CPUARM_HAS_EDSP}
|
||||||
asm
|
asm
|
||||||
pld [r0]
|
pld [r0]
|
||||||
// count <=0 ?
|
// count <=0 ?
|
||||||
@ -267,6 +271,7 @@ asm
|
|||||||
bne .Loverlapped
|
bne .Loverlapped
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$ifndef CPUARM_HAS_EDSP}
|
||||||
procedure Move_blended(const source;var dest;count:longint);assembler;nostackframe;
|
procedure Move_blended(const source;var dest;count:longint);assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
// count <=0 ?
|
// count <=0 ?
|
||||||
@ -327,6 +332,7 @@ asm
|
|||||||
.Lmoveproc:
|
.Lmoveproc:
|
||||||
.long moveproc
|
.long moveproc
|
||||||
end;
|
end;
|
||||||
|
{$endif CPUARM_HAS_EDSP}
|
||||||
|
|
||||||
{$endif FPC_SYSTEM_HAS_MOVE}
|
{$endif FPC_SYSTEM_HAS_MOVE}
|
||||||
|
|
||||||
@ -893,6 +899,7 @@ end;
|
|||||||
procedure fpc_cpucodeinit;
|
procedure fpc_cpucodeinit;
|
||||||
begin
|
begin
|
||||||
{$ifdef FPC_SYSTEM_FPC_MOVE}
|
{$ifdef FPC_SYSTEM_FPC_MOVE}
|
||||||
|
{$ifndef CPUARM_HAS_EDSP}
|
||||||
cpu_has_edsp:=true;
|
cpu_has_edsp:=true;
|
||||||
in_edsp_test:=true;
|
in_edsp_test:=true;
|
||||||
asm
|
asm
|
||||||
@ -904,6 +911,9 @@ begin
|
|||||||
moveproc:=@move_pld
|
moveproc:=@move_pld
|
||||||
else
|
else
|
||||||
moveproc:=@move_blended;
|
moveproc:=@move_blended;
|
||||||
|
{$else CPUARM_HAS_EDSP}
|
||||||
|
cpu_has_edsp:=true;
|
||||||
|
{$endif CPUARM_HAS_EDSP}
|
||||||
{$endif FPC_SYSTEM_FPC_MOVE}
|
{$endif FPC_SYSTEM_FPC_MOVE}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user