diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-04-17 04:15:32 +0200 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2000-04-17 02:15:32 +0000 |
commit | 3791773c9395246e5fb860a20bb3dddd8e5edeb6 (patch) | |
tree | 5eee77be9c61a0f60260a8f47e6085ac5e0738a5 /libffi/src/sparc/v8.S | |
parent | 11033ba5226589d2e7a7055cda6ddf0379f7cad1 (diff) | |
download | gcc-3791773c9395246e5fb860a20bb3dddd8e5edeb6.zip gcc-3791773c9395246e5fb860a20bb3dddd8e5edeb6.tar.gz gcc-3791773c9395246e5fb860a20bb3dddd8e5edeb6.tar.bz2 |
Port to sparc 32 and 64 Linux.
From-SVN: r33196
Diffstat (limited to 'libffi/src/sparc/v8.S')
-rw-r--r-- | libffi/src/sparc/v8.S | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libffi/src/sparc/v8.S b/libffi/src/sparc/v8.S index da0dbe6..e4b2ba9 100644 --- a/libffi/src/sparc/v8.S +++ b/libffi/src/sparc/v8.S @@ -56,6 +56,7 @@ _ffi_call_V8: ld [%l0+ARGS+20], %o5 call %i5 mov %l0, %sp ! (delay) switch to frame + nop ! STRUCT returning functions skip 12 instead of 8 bytes ! If the return value pointer is NULL, assume no return value. tst %i4 @@ -70,6 +71,9 @@ _ffi_call_V8: be,a done st %f0, [%i4+0] ! (delay) + cmp %i3, FFI_TYPE_SINT64 + be longlong + cmp %i3, FFI_TYPE_DOUBLE bne done nop @@ -80,6 +84,12 @@ done: ret restore +longlong: + st %o0, [%i4+0] + st %o1, [%i4+4] + ret + restore + .ffi_call_V8_end: .size ffi_call_V8,.ffi_call_V8_end-ffi_call_V8 |