From: Greta Yorsh Date: Wed, 17 Apr 2013 15:17:10 +0000 (+0100) Subject: 2013-04-17 Greta Yorsh X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=367075fe242c10042024b5866dc2934f5f9b9c37;p=gcc.git 2013-04-17 Greta Yorsh * config/arm/arm.c (use_return_insn): Return 0 for targets that can benefit from using a sequence of LDRD instructions in epilogue instead of a single LDM instruction. From-SVN: r198029 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e6f3f134d2..41c9a33c21e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-04-17 Greta Yorsh + + * config/arm/arm.c (use_return_insn): Return 0 for targets that + can benefit from using a sequence of LDRD instructions in epilogue + instead of a single LDM instruction. + 2013-04-17 Manuel López-Ibáñez PR 45688 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index bac709f1fa3..9088d1a64ab 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2412,6 +2412,10 @@ use_return_insn (int iscond, rtx sibling) if (IS_INTERRUPT (func_type) && (frame_pointer_needed || TARGET_THUMB)) return 0; + if (TARGET_LDRD && current_tune->prefer_ldrd_strd + && !optimize_function_for_size_p (cfun)) + return 0; + offsets = arm_get_frame_offsets (); stack_adjust = offsets->outgoing_args - offsets->saved_regs;