diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-01-25 19:59:50 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-01-25 19:59:50 +0000 |
commit | c5441c502c72727b138e3f0d9b630454db32566d (patch) | |
tree | 4c9a158287b27e41ad13bddb4566da355383e976 /rtl/m68k | |
parent | 1f34d82b82da3c9b8b141789c3e99941ccd81dd5 (diff) | |
download | fpc-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.inc | 5 |
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: |