OSDN Git Service

gcc/
authorjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Oct 2010 14:22:07 +0000 (14:22 +0000)
committerjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Oct 2010 14:22:07 +0000 (14:22 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165424 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.h
gcc/config/arm/arm.md

index 5a705fb..386b2ab 100644 (file)
@@ -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
index c8cbfa2..1aa6e9b 100644 (file)
@@ -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 */   \
 }
 
index 6c63e64..889b86f 100644 (file)
 )
 
 (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))"