This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r169128 - in /trunk/gcc: ChangeLog config/rx/rx...
- From: nickc at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sat, 22 Jan 2011 16:05:50 -0000
- Subject: r169128 - in /trunk/gcc: ChangeLog config/rx/rx...
Author: nickc
Date: Sat Jan 22 16:05:49 2011
New Revision: 169128
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169128
Log:
* config/rx/rx.md (UNSPEC_CONST): New.
(deallocate_and_return): Wrap the amount popped off the stack in
an UNSPEC_CONST in order to stop it being rejected by
-mmax-constant-size.
(pop_and_return): Add a "(return)" rtx.
(call): Drop the immediate operand.
(call_internal): Likewise.
(call_value): Likewise.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(sibcall): Likewise. Generate an explicit call using
sibcall_internal.
(sibcall_value): Likewise.
(mov<>): FAIL if a constant operand is not legitimate.
(addsi3_unpsec): New pattern.
* config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
CONSTs.
(ok_for_max_constant): New function.
(gen_safe_add): New function.
(rx_expand_prologue): Use gen_safe_add.
(rx_expand_epilogue): Likewise.
(rx_is_legitimate_constant): Use ok_for_max_constant. Handle
UNSPEC CONSTs.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rx/rx.c
trunk/gcc/config/rx/rx.md