mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-25 18:49:21 +02:00
Fix cycling of arm compiler starting with release ppcarm 3.0.4
git-svn-id: trunk@41140 -
This commit is contained in:
parent
2b6076a719
commit
beec828647
@ -23,9 +23,13 @@ function fpc_setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_S
|
|||||||
// fstmiad increases the address register always by 2n+1 words, so fix this
|
// fstmiad increases the address register always by 2n+1 words, so fix this
|
||||||
sub r0,r0,#4
|
sub r0,r0,#4
|
||||||
{$else}
|
{$else}
|
||||||
|
{$ifdef VER3_0}
|
||||||
|
fstmiad r0!, {d8-d15}
|
||||||
|
{$else}
|
||||||
vstmia r0!, {d8-d15}
|
vstmia r0!, {d8-d15}
|
||||||
{$endif}
|
{$endif}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$if defined(CPUTHUMB2)}
|
{$if defined(CPUTHUMB2)}
|
||||||
stmia r0!, {v1-v6, sl, fp}
|
stmia r0!, {v1-v6, sl, fp}
|
||||||
@ -70,8 +74,12 @@ procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias
|
|||||||
it eq
|
it eq
|
||||||
moveq r0, #1
|
moveq r0, #1
|
||||||
{$if defined(FPUVFPV2) or defined(FPUVFPV3) or defined(FPUVFPV4) or defined(FPUVFPV3_D16)}
|
{$if defined(FPUVFPV2) or defined(FPUVFPV3) or defined(FPUVFPV4) or defined(FPUVFPV3_D16)}
|
||||||
|
{$ifdef VER3_0}
|
||||||
|
fldmiad ip!, {d8-d15}
|
||||||
|
{$else}
|
||||||
vldmia ip!, {d8-d15}
|
vldmia ip!, {d8-d15}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
{$endif}
|
||||||
ldmia ip!, {v1-v6, sl, fp}
|
ldmia ip!, {v1-v6, sl, fp}
|
||||||
ldr sp, [ip]
|
ldr sp, [ip]
|
||||||
add ip, ip, #4
|
add ip, ip, #4
|
||||||
@ -108,9 +116,13 @@ procedure fpc_longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias
|
|||||||
// increases fldmiax the address register always by 2n+1 words, so fix this
|
// increases fldmiax the address register always by 2n+1 words, so fix this
|
||||||
sub ip,ip,#4
|
sub ip,ip,#4
|
||||||
{$else}
|
{$else}
|
||||||
|
{$ifdef VER3_0}
|
||||||
|
fldmiad ip!, {d8-d15}
|
||||||
|
{$else}
|
||||||
vldmia ip!, {d8-d15}
|
vldmia ip!, {d8-d15}
|
||||||
{$endif}
|
{$endif}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
{$endif}
|
||||||
ldmia ip,{v1-v6, sl, fp, sp, pc}
|
ldmia ip,{v1-v6, sl, fp, sp, pc}
|
||||||
{$endif}
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user