aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2013-09-18 13:57:27 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2013-09-18 13:57:27 +0000
commita0f70fcb8a5e249d365c45862c2333e45fe94566 (patch)
treeb0c5576463cab31cfd03e9ab9a21b8ac458e5c60
parenta24d975caa592f57e0966687ca0340714df9a6a0 (diff)
downloadgcc-a0f70fcb8a5e249d365c45862c2333e45fe94566.zip
gcc-a0f70fcb8a5e249d365c45862c2333e45fe94566.tar.gz
gcc-a0f70fcb8a5e249d365c45862c2333e45fe94566.tar.bz2
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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm.c9
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 800ef75..3d38778 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 176f719..2166001 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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)