Browse Source

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

git-svn-id: trunk@22105 -
florian 13 years ago
parent
commit
e353222a8a
1 changed files with 10 additions and 0 deletions
  1. 10 0
      rtl/arm/arm.inc

+ 10 - 0
rtl/arm/arm.inc

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