* if the selected cpu type supports pld, provide and use only the pld variant

git-svn-id: trunk@22105 -
This commit is contained in:
florian 2012-08-17 10:37:36 +00:00
parent 354cac2bb6
commit e353222a8a

View File

@ -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;