mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-24 11:24:05 +08:00
sysv.S (ffi_call_SYSV): Doubles are not saved to memory correctly.
2000-05-11 Scott Bambrough <scottb@netwinder.org> * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to memory correctly. Use conditional instructions, not branches where possible. From-SVN: r33852
This commit is contained in:
parent
0f00654bf8
commit
7f8c11d571
@ -1,3 +1,9 @@
|
||||
2000-05-11 Scott Bambrough <scottb@netwinder.org>
|
||||
|
||||
* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
|
||||
memory correctly. Use conditional instructions, not branches where
|
||||
possible.
|
||||
|
||||
2000-05-04 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* configure: Rebuilt.
|
||||
|
@ -97,19 +97,13 @@ ENTRY(ffi_call_SYSV)
|
||||
beq epilogue
|
||||
|
||||
# return FLOAT
|
||||
cmp a4, #FFI_TYPE_FLOAT
|
||||
bne retdouble
|
||||
stfs f0, [a3]
|
||||
b epilogue
|
||||
cmp a4, #FFI_TYPE_FLOAT
|
||||
stfeqs f0, [a3]
|
||||
beq epilogue
|
||||
|
||||
# return DOUBLE or LONGDOUBLE
|
||||
retdouble:
|
||||
cmp a4, #FFI_TYPE_DOUBLE
|
||||
bne epilogue
|
||||
|
||||
stfs f0, [a3, #0]
|
||||
stfs f1, [a3, #4]
|
||||
b epilogue
|
||||
cmp a4, #FFI_TYPE_DOUBLE
|
||||
stfeqd f0, [a3]
|
||||
|
||||
epilogue:
|
||||
ldmfd sp!, {a1-a4, fp, pc}
|
||||
|
Loading…
Reference in New Issue
Block a user