aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2009-11-30 19:40:28 +0000
committerJulian Brown <jules@gcc.gnu.org>2009-11-30 19:40:28 +0000
commit12d210d9f0ebb62f9b511e28f5718348ec95167b (patch)
tree03ac36715e06404b2d1efbff6c11cf0a6df0f582
parentc217e26183a1325b4d8cdd4e1b79c971bbf13f5c (diff)
downloadgcc-12d210d9f0ebb62f9b511e28f5718348ec95167b.zip
gcc-12d210d9f0ebb62f9b511e28f5718348ec95167b.tar.gz
gcc-12d210d9f0ebb62f9b511e28f5718348ec95167b.tar.bz2
arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2 reloads to LO_REGS.
gcc/ * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2 reloads to LO_REGS. From-SVN: r154838
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9c8294c..71d9b8e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-11-30 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2
+ reloads to LO_REGS.
+
2009-11-30 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (ix86_vec_interleave_v2df_operator_ok): New.
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 3f34954..691a860 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1275,7 +1275,7 @@ enum reg_class
In general this is just CLASS, but for the Thumb core registers and
immediate constants we prefer a LO_REGS class or a subset. */
#define PREFERRED_RELOAD_CLASS(X, CLASS) \
- (TARGET_ARM ? (CLASS) : \
+ (TARGET_32BIT ? (CLASS) : \
((CLASS) == GENERAL_REGS || (CLASS) == HI_REGS \
|| (CLASS) == NO_REGS || (CLASS) == STACK_REG \
? LO_REGS : (CLASS)))