arm.c (arm_get_frame_offsets): Validate architecture supports LDRD/STRD before accepting the tuning preference.
* arm.c (arm_get_frame_offsets): Validate architecture supports LDRD/STRD before accepting the tuning preference. (arm_expand_prologue): Likewise. (arm_expand_epilogue): Likewise. From-SVN: r202702
This commit is contained in:
parent
a24d975caa
commit
a0f70fcb8a
2 changed files with 13 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2013-09-18 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* arm.c (arm_get_frame_offsets): Validate architecture supports
|
||||
LDRD/STRD before accepting the tuning preference.
|
||||
(arm_expand_prologue): Likewise.
|
||||
(arm_expand_epilogue): Likewise.
|
||||
|
||||
2013-09-18 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/58417
|
||||
|
|
|
@ -17969,7 +17969,8 @@ arm_get_frame_offsets (void)
|
|||
if (! any_sibcall_could_use_r3 ()
|
||||
&& arm_size_return_regs () <= 12
|
||||
&& (offsets->saved_regs_mask & (1 << 3)) == 0
|
||||
&& (TARGET_THUMB2 || !current_tune->prefer_ldrd_strd))
|
||||
&& (TARGET_THUMB2
|
||||
|| !(TARGET_LDRD && current_tune->prefer_ldrd_strd)))
|
||||
{
|
||||
reg = 3;
|
||||
}
|
||||
|
@ -18394,7 +18395,8 @@ arm_expand_prologue (void)
|
|||
}
|
||||
}
|
||||
|
||||
if (current_tune->prefer_ldrd_strd
|
||||
if (TARGET_LDRD
|
||||
&& current_tune->prefer_ldrd_strd
|
||||
&& !optimize_function_for_size_p (cfun))
|
||||
{
|
||||
if (TARGET_THUMB2)
|
||||
|
@ -24663,7 +24665,8 @@ arm_expand_epilogue (bool really_return)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (current_tune->prefer_ldrd_strd
|
||||
if (TARGET_LDRD
|
||||
&& current_tune->prefer_ldrd_strd
|
||||
&& !optimize_function_for_size_p (cfun))
|
||||
{
|
||||
if (TARGET_THUMB2)
|
||||
|
|
Loading…
Add table
Reference in a new issue