rx.h (LIBCALL_VALUE): Do not promote complex types.
authorNick Clifton <nickc@redhat.com>
Tue, 25 Jan 2011 14:32:52 +0000 (14:32 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Tue, 25 Jan 2011 14:32:52 +0000 (14:32 +0000)
commitbcddd3b99ca8aecbe9fe7afbf53548f9adc1498c
treea091487c7e958fc9e23809ed845bf179e653467e
parent7e6cb0221424399d27a07d3dadd09ad6967e41cd
rx.h (LIBCALL_VALUE): Do not promote complex types.

* config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
* config/rx/rx.c (rx_function_value): Likewise.
(rx_promote_function_mode): Likewise.
(gen_safe_add): Place an outsized immediate value inside an UNSPEC
in order to make it legitimate.
* config/rx/rx.md (adddi3_internal): If the second operand is a
MEM make sure that the first operand is the same as the result
register.
(addsi3_unspec): Delete.
(subdi3): Do not accept immediate operands.
(subdi3_internal): Likewise.

* gcc.target/rx/builtins.c: Allow -fipa-cp-clone.
(saturate_add): Delete.
(exchange): Delete.
(main): Do not run saturate_add.
(set_interrupts): Delete.

From-SVN: r169232
gcc/ChangeLog
gcc/config/rx/rx.c
gcc/config/rx/rx.h
gcc/config/rx/rx.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/rx/builtins.c