فهرست منبع

Fix some minor UMULL, and FPv4_S16 define problems

git-svn-id: trunk@31560 -
Jeppe Johansen 10 سال پیش
والد
کامیت
44ad5af04d
3فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 2 2
      rtl/arm/int64p.inc
  2. 1 1
      rtl/arm/mathu.inc
  3. 2 2
      rtl/arm/strings.inc

+ 2 - 2
rtl/arm/int64p.inc

@@ -13,7 +13,7 @@
 
 
  **********************************************************************}
  **********************************************************************}
 
 
-{$ifndef CPUTHUMB}
+{$if (not defined(CPUTHUMB)) and defined(CPUARM_HAS_UMULL)}
 {$define FPC_SYSTEM_HAS_MUL_QWORD}
 {$define FPC_SYSTEM_HAS_MUL_QWORD}
 function fpc_mul_qword(f1,f2 : qword;checkoverflow : longbool) : qword;assembler;nostackframe;[public,alias: 'FPC_MUL_QWORD']; compilerproc;
 function fpc_mul_qword(f1,f2 : qword;checkoverflow : longbool) : qword;assembler;nostackframe;[public,alias: 'FPC_MUL_QWORD']; compilerproc;
 asm
 asm
@@ -62,5 +62,5 @@ asm
 .Lexit:
 .Lexit:
   ldmfd sp!,{r4,r5,r6,r15}
   ldmfd sp!,{r4,r5,r6,r15}
 end;
 end;
-{$endif CPUTHUMB}
+{$endif (not defined(CPUTHUMB)) and defined(CPUARM_HAS_UMULL)}
 
 

+ 1 - 1
rtl/arm/mathu.inc

@@ -132,7 +132,7 @@ procedure ClearExceptions(RaisePending: Boolean =true);
 begin
 begin
 end;
 end;
 
 
-{$elseif defined(darwin) or defined(FPUVFPV2) or defined(FPUVFPV3) or defined(FPUVFPV3_d16)}
+{$elseif defined(darwin) or defined(FPUVFPV2) or defined(FPUVFPV3) or defined(FPUVFPV3_d16) or defined(FPUFPV4_s16)}
 
 
 const
 const
   _VFP_ENABLE_IM  =  1 shl 8;         { invalid operation      }
   _VFP_ENABLE_IM  =  1 shl 8;         { invalid operation      }

+ 2 - 2
rtl/arm/strings.inc

@@ -28,7 +28,7 @@ asm
 {$if defined(cputhumb2)}
 {$if defined(cputhumb2)}
         it eq
         it eq
 {$endif}
 {$endif}
-{$if defined(cpuarmv3) or defined(cpuarmv4)}
+{$if not defined(CPUARM_HAS_BX)}
         moveq   pc, lr
         moveq   pc, lr
 {$else}
 {$else}
         bxeq    lr
         bxeq    lr
@@ -58,7 +58,7 @@ asm
 {$if defined(cputhumb2)}
 {$if defined(cputhumb2)}
         it eq
         it eq
 {$endif}
 {$endif}
-{$if defined(cpuarmv3) or defined(cpuarmv4)}
+{$if not defined(CPUARM_HAS_BX)}
         moveq   pc, lr
         moveq   pc, lr
 {$else}
 {$else}
         bxeq    lr
         bxeq    lr