Commit 7f8c11d5 by Scott Bambrough Committed by Tom Tromey

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
parent 0f00654b
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}
......
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