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:
Richard Earnshaw 2013-09-18 13:57:27 +00:00 committed by Richard Earnshaw
parent a24d975caa
commit a0f70fcb8a
2 changed files with 13 additions and 3 deletions

View file

@ -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

View file

@ -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)