diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-03-11 21:20:49 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-03-11 21:20:49 +0000 |
commit | 3c3ad644e2023f541f26dc006ac0ddba5d78f378 (patch) | |
tree | e3f665f56f07f6437d0f573f0d0cf81688ab3ffc /rtl/arm | |
parent | 70b4678f00853b99eae330909c9264a81bb1d053 (diff) | |
download | fpc-3c3ad644e2023f541f26dc006ac0ddba5d78f378.tar.gz |
* generate rfs/wfs for thumb2 only if an fpa fpu is used
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27100 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/arm')
-rw-r--r-- | rtl/arm/thumb2.inc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/rtl/arm/thumb2.inc b/rtl/arm/thumb2.inc index f75add7504..cd92f4b7bd 100644 --- a/rtl/arm/thumb2.inc +++ b/rtl/arm/thumb2.inc @@ -33,18 +33,19 @@ Procedure SysInitFPU;{$ifdef SYSTEMINLINE}inline;{$endif} begin { Enable FPU exceptions, but disable INEXACT, UNDERFLOW, DENORMAL } asm - {$IFDEF FPUFPV4_S16} +{$if defined(FPUFPA) or defined(FPUFPA10) or defined(FPUFPA11)} + + rfs r0 + and r0,r0,#0xffe0ffff + orr r0,r0,#0x00070000 + wfs r0 +{$else} movw r0, #(0xed88) movt r0, #(0xe000) ldr r1, [r0] orr r1, r1, #(0xF << 20) str r1, [r0] - {$ELSE FPUFPV4_S16} - rfs r0 - and r0,r0,#0xffe0ffff - orr r0,r0,#0x00070000 - wfs r0 - {$endif FPUFPV4_S16} +{$endif} end; end; {$endif} |