aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2010-10-13 14:22:07 +0000
committerJulian Brown <jules@gcc.gnu.org>2010-10-13 14:22:07 +0000
commit565d018dae66fe00c01577926eb3de8e0b37cc5a (patch)
tree9ba226e8645b37184418e0b3ce2e26bc2f1c974f /gcc
parent71d61348020eedc3d89e4c877ad714cbb2954792 (diff)
downloadgcc-565d018dae66fe00c01577926eb3de8e0b37cc5a.zip
gcc-565d018dae66fe00c01577926eb3de8e0b37cc5a.tar.gz
gcc-565d018dae66fe00c01577926eb3de8e0b37cc5a.tar.bz2
arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer from CORE_REGS and GENERAL_REGS classes.
gcc/ * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer from CORE_REGS and GENERAL_REGS classes. * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of final constraint for register preferencing. From-SVN: r165424
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm.h4
-rw-r--r--gcc/config/arm/arm.md4
3 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5a705fb..386b2ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-13 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
+ from CORE_REGS and GENERAL_REGS classes.
+ * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
+ final constraint for register preferencing.
+
2010-10-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45970
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index c8cbfa2..1aa6e9b 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1251,8 +1251,8 @@ enum reg_class
{ 0x0000DF00, 0x00000000, 0x00000000, 0x00000000 }, /* HI_REGS */ \
{ 0x01000000, 0x00000000, 0x00000000, 0x00000000 }, /* CC_REG */ \
{ 0x00000000, 0x00000000, 0x00000000, 0x80000000 }, /* VFPCC_REG */ \
- { 0x0200DFFF, 0x00000000, 0x00000000, 0x00000000 }, /* GENERAL_REGS */ \
- { 0x0200FFFF, 0x00000000, 0x00000000, 0x00000000 }, /* CORE_REGS */ \
+ { 0x0000DFFF, 0x00000000, 0x00000000, 0x00000000 }, /* GENERAL_REGS */ \
+ { 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000 }, /* CORE_REGS */ \
{ 0xFAFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF } /* ALL_REGS */ \
}
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 6c63e64..889b86f 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -5163,8 +5163,8 @@
)
(define_insn "*thumb1_movsi_insn"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,l,l,l,>,l, m,*lhk")
- (match_operand:SI 1 "general_operand" "l, I,J,K,>,l,mi,l,*lhk"))]
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=l,l,l,l,l,>,l, m,*l*h*k")
+ (match_operand:SI 1 "general_operand" "l, I,J,K,>,l,mi,l,*l*h*k"))]
"TARGET_THUMB1
&& ( register_operand (operands[0], SImode)
|| register_operand (operands[1], SImode))"