git-svn-id: trunk@31560 -
@@ -13,7 +13,7 @@
**********************************************************************}
-{$ifndef CPUTHUMB}
+{$if (not defined(CPUTHUMB)) and defined(CPUARM_HAS_UMULL)}
{$define FPC_SYSTEM_HAS_MUL_QWORD}
function fpc_mul_qword(f1,f2 : qword;checkoverflow : longbool) : qword;assembler;nostackframe;[public,alias: 'FPC_MUL_QWORD']; compilerproc;
asm
@@ -62,5 +62,5 @@ asm
.Lexit:
ldmfd sp!,{r4,r5,r6,r15}
end;
-{$endif CPUTHUMB}
+{$endif (not defined(CPUTHUMB)) and defined(CPUARM_HAS_UMULL)}
@@ -132,7 +132,7 @@ procedure ClearExceptions(RaisePending: Boolean =true);
begin
-{$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
_VFP_ENABLE_IM = 1 shl 8; { invalid operation }
@@ -28,7 +28,7 @@ asm
{$if defined(cputhumb2)}
it eq
{$endif}
-{$if defined(cpuarmv3) or defined(cpuarmv4)}
+{$if not defined(CPUARM_HAS_BX)}
moveq pc, lr
{$else}
bxeq lr
@@ -58,7 +58,7 @@ asm