diff options
author | Julian Brown <julian@codesourcery.com> | 2010-10-13 14:22:07 +0000 |
---|---|---|
committer | Julian Brown <jules@gcc.gnu.org> | 2010-10-13 14:22:07 +0000 |
commit | 565d018dae66fe00c01577926eb3de8e0b37cc5a (patch) | |
tree | 9ba226e8645b37184418e0b3ce2e26bc2f1c974f /gcc | |
parent | 71d61348020eedc3d89e4c877ad714cbb2954792 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 4 |
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))" |