Prologue/epilogue using STRD/LDRD in ARM mode
authorgretay <gretay@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Apr 2013 17:04:22 +0000 (17:04 +0000)
committergretay <gretay@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Apr 2013 17:04:22 +0000 (17:04 +0000)
commit9e0accd97948b857e56c683288679bbdb52226ba
tree45bf347d1680794c5dcc41aee0dff88ab7c35ab2
parent69ac6d73ce5312e6b2b842d9ed0b6013fe09243d
Prologue/epilogue using STRD/LDRD in ARM mode

2013-04-16  Greta Yorsh  <Greta.Yorsh at arm.com>

* config/arm/arm.c (emit_multi_reg_push): New declaration
for an existing function.
(arm_emit_strd_push): New function.
(arm_expand_prologue): Used here.
(arm_emit_ldrd_pop): New function.
(arm_expand_epilogue): Used here.
(arm_get_frame_offsets): Update condition.
(arm_emit_multi_reg_pop): Add a special case for load of a single
register with writeback.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198004 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c