rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their...
authorNick Clifton <nickc@redhat.com>
Tue, 20 Nov 2012 12:22:44 +0000 (12:22 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Tue, 20 Nov 2012 12:22:44 +0000 (12:22 +0000)
commit47c9ac72414bb26cf9ec67aa24e115b037205b56
tree4c4716324b5e1f34af2fbb3429638c733aacaca9
parent342be7f7369f86316d8dab8d5ac5c4d5480050e2
rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their natural alignment.

* config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
align stack arguments to their natural alignment.
(rx_narrow_volatile_bitfield): New function.  Allows narrow
volatile bitfields.
(rx_ok_to_inline): New function.  Do not inline functions with
local variables into a naked caller.
(TARGET_NARROW_VOLATILE_BITFIELD): Define.
(TARGET_CAN_INLINE_P): Define.
* config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
__RX_GC_ABI__.
(ASM_SPEC): Pass -mgcc-abi on to the assembler.
(STRICT_ALIGNMENT): Set to false.
(CTORS_SECTION_ASM_OP): Add executable attribute.
(DTORS_SECTION_ASM_OP): Add executable attribute.
(INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
(FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
* config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
as it causes too much reload pressure.
* config/rx/rx.opt (mgcc-abi): New option.
(mrx-abi): New option.
* config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI
multilib.
(MULTILIB_DIRNAMES): Likewise.

From-SVN: r193659
gcc/ChangeLog
gcc/config/rx/rx.c
gcc/config/rx/rx.h
gcc/config/rx/rx.md
gcc/config/rx/rx.opt
gcc/config/rx/t-rx