diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2013-09-18 13:57:27 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2013-09-18 13:57:27 +0000 |
commit | a0f70fcb8a5e249d365c45862c2333e45fe94566 (patch) | |
tree | b0c5576463cab31cfd03e9ab9a21b8ac458e5c60 | |
parent | a24d975caa592f57e0966687ca0340714df9a6a0 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 9 |
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) |