summaryrefslogtreecommitdiff
path: root/gcc/config/rx/rx.h
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-25 14:32:52 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-25 14:32:52 +0000
commit02f06d230fff4d40d93bf2da0d64a81aff4ce507 (patch)
treea091487c7e958fc9e23809ed845bf179e653467e /gcc/config/rx/rx.h
parentfad2bf3e5c2de29f5805897bece42bc395b32e53 (diff)
downloadgcc-02f06d230fff4d40d93bf2da0d64a81aff4ce507.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169232 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rx/rx.h')
-rw-r--r--gcc/config/rx/rx.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h
index e2c8641685d..7acd3cee798 100644
--- a/gcc/config/rx/rx.h
+++ b/gcc/config/rx/rx.h
@@ -251,6 +251,7 @@ enum reg_class
#define LIBCALL_VALUE(MODE) \
gen_rtx_REG (((GET_MODE_CLASS (MODE) != MODE_INT \
+ || COMPLEX_MODE_P (MODE) \
|| GET_MODE_SIZE (MODE) >= 4) \
? (MODE) \
: SImode), \