diff options
author | Alan Modra <amodra@bigpond.net.au> | 2006-03-23 23:15:46 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2006-03-24 09:45:46 +1030 |
commit | 75b8b1becb9b60cde357635e9eb66ece6f7d5148 (patch) | |
tree | 4ab557369299e8f713970f1befc75244eeb8c26a /libjava/testsuite/libjava.lang/PR26858.java | |
parent | 5b314bb3ef9460b06abf33d911e1e361c2e37197 (diff) | |
download | gcc-75b8b1becb9b60cde357635e9eb66ece6f7d5148.zip gcc-75b8b1becb9b60cde357635e9eb66ece6f7d5148.tar.gz gcc-75b8b1becb9b60cde357635e9eb66ece6f7d5148.tar.bz2 |
ffitarget.h (enum ffi_abi): Add FFI_LINUX.
* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
FFI_TYPE_LONGDOUBLE.
(ffi_prep_args64): Assert using IBM extended double.
(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
(ffi_call): Handle FFI_LINUX.
(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
gpr3 return pointer as for struct return. Handle FFI_LINUX
FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
unnecessarily.
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
Don't use r6 as pointer to results, instead use sp offset. Don't
make a special call to load lr with case table address, instead
use offset from previous call.
* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
return.
From-SVN: r112340
Diffstat (limited to 'libjava/testsuite/libjava.lang/PR26858.java')
0 files changed, 0 insertions, 0 deletions