summaryrefslogtreecommitdiff
path: root/rtl/m68k
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-01-25 19:59:50 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-01-25 19:59:50 +0000
commitc5441c502c72727b138e3f0d9b630454db32566d (patch)
tree4c9a158287b27e41ad13bddb4566da355383e976 /rtl/m68k
parent1f34d82b82da3c9b8b141789c3e99941ccd81dd5 (diff)
downloadfpc-c5441c502c72727b138e3f0d9b630454db32566d.tar.gz
* Coldfire does not support EXG, so do it the old fashioned way (but before restoring the stored registers)
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@38043 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/m68k')
-rw-r--r--rtl/m68k/int64p.inc5
1 files changed, 4 insertions, 1 deletions
diff --git a/rtl/m68k/int64p.inc b/rtl/m68k/int64p.inc
index 03a26fcbf2..6fbf7fde5e 100644
--- a/rtl/m68k/int64p.inc
+++ b/rtl/m68k/int64p.inc
@@ -80,11 +80,14 @@ asm
@xit:
{$ifndef CPUCOLDFIRE}
movem.l (sp)+,d2-d5
+ exg.l d0,d1
{$else}
+ move.l d0,d2
+ move.l d1,d0
+ move.l d2,d1
movem.l (sp),d2-d5
tst.l (sp)+
{$endif}
- exg.l d0,d1
rts
@xit0: