Commit c1d5e723 by Andreas Schwab Committed by Andreas Schwab

sysv.S (ffi_call_SYSV): Properly test for plain mc68000.

* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.

From-SVN: r183451
parent 986ce92f
2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
2012-01-19 Jakub Jelinek <jakub@redhat.com> 2012-01-19 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/48496 PR rtl-optimization/48496
......
/* ----------------------------------------------------------------------- /* -----------------------------------------------------------------------
sysv.S - Copyright (c) 1998 Andreas Schwab sysv.S - Copyright (c) 1998, 2012 Andreas Schwab
Copyright (c) 2008 Red Hat, Inc. Copyright (c) 2008 Red Hat, Inc.
m68k Foreign Function Interface m68k Foreign Function Interface
...@@ -87,7 +87,7 @@ ffi_call_SYSV: ...@@ -87,7 +87,7 @@ ffi_call_SYSV:
| If the return value pointer is NULL, assume no return value. | If the return value pointer is NULL, assume no return value.
| NOTE: On the mc68000, tst on an address register is not supported. | NOTE: On the mc68000, tst on an address register is not supported.
#if defined(__mc68000__) && !defined(__mcoldfire__) #if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__)
cmp.w #0, %a1 cmp.w #0, %a1
#else #else
tst.l %a1 tst.l %a1
...@@ -109,7 +109,7 @@ retlongint: ...@@ -109,7 +109,7 @@ retlongint:
retfloat: retfloat:
btst #2,%d2 btst #2,%d2
jbeq retdouble jbeq retdouble
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.s %fp0,(%a1) fmove.s %fp0,(%a1)
#else #else
move.l %d0,(%a1) move.l %d0,(%a1)
...@@ -119,7 +119,7 @@ retfloat: ...@@ -119,7 +119,7 @@ retfloat:
retdouble: retdouble:
btst #3,%d2 btst #3,%d2
jbeq retlongdouble jbeq retlongdouble
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.d %fp0,(%a1) fmove.d %fp0,(%a1)
#else #else
move.l %d0,(%a1)+ move.l %d0,(%a1)+
...@@ -130,7 +130,7 @@ retdouble: ...@@ -130,7 +130,7 @@ retdouble:
retlongdouble: retlongdouble:
btst #4,%d2 btst #4,%d2
jbeq retpointer jbeq retpointer
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.x %fp0,(%a1) fmove.x %fp0,(%a1)
#else #else
move.l %d0,(%a1)+ move.l %d0,(%a1)+
...@@ -199,7 +199,7 @@ ffi_closure_SYSV: ...@@ -199,7 +199,7 @@ ffi_closure_SYSV:
move.l (%a0),%d1 move.l (%a0),%d1
jra .Lcls_epilogue jra .Lcls_epilogue
.Lcls_ret_float: .Lcls_ret_float:
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.s (%a0),%fp0 fmove.s (%a0),%fp0
#else #else
move.l (%a0),%d0 move.l (%a0),%d0
...@@ -209,7 +209,7 @@ ffi_closure_SYSV: ...@@ -209,7 +209,7 @@ ffi_closure_SYSV:
lsr.l #2,%d0 lsr.l #2,%d0
jne 1f jne 1f
jcs .Lcls_ret_ldouble jcs .Lcls_ret_ldouble
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.d (%a0),%fp0 fmove.d (%a0),%fp0
#else #else
move.l (%a0)+,%d0 move.l (%a0)+,%d0
...@@ -217,7 +217,7 @@ ffi_closure_SYSV: ...@@ -217,7 +217,7 @@ ffi_closure_SYSV:
#endif #endif
jra .Lcls_epilogue jra .Lcls_epilogue
.Lcls_ret_ldouble: .Lcls_ret_ldouble:
#if defined(__MC68881__) #if defined(__MC68881__) || defined(__HAVE_68881__)
fmove.x (%a0),%fp0 fmove.x (%a0),%fp0
#else #else
move.l (%a0)+,%d0 move.l (%a0)+,%d0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment