OSDN Git Service

* arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 May 2004 14:59:43 +0000 (14:59 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 May 2004 14:59:43 +0000 (14:59 +0000)
we don't earlyclobber operands used in the second insn.

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

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

index 09873bc..fb5adc9 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-20  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
+       we don't earlyclobber operands used in the second insn.
+
 2004-05-20  Steven Bosscher  <stevenb@suse.de>
 
        * tree-mudflap.c: Formatting fixes.
index 0271785..82f1701 100644 (file)
    && (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32
        && INTVAL (operands[2]) > 0 
        && INTVAL (operands[2]) + (INTVAL (operands[3]) & 1) <= 8
-       && INTVAL (operands[2]) + INTVAL (operands[3]) <= 32)"
+       && INTVAL (operands[2]) + INTVAL (operands[3]) <= 32)
+   && !reg_overlap_mentioned_p (operands[0], operands[4])"
   "#"
   "TARGET_ARM
    && (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32
        && INTVAL (operands[2]) > 0 
        && INTVAL (operands[2]) + (INTVAL (operands[3]) & 1) <= 8
-       && INTVAL (operands[2]) + INTVAL (operands[3]) <= 32)"
+       && INTVAL (operands[2]) + INTVAL (operands[3]) <= 32)
+   && !reg_overlap_mentioned_p (operands[0], operands[4])"
   [(parallel [(set (reg:CC_NOOV CC_REGNUM)
                   (compare:CC_NOOV (and:SI (match_dup 1) (match_dup 2))
                                    (const_int 0)))
                         (match_operand:SI 3 "arm_not_operand" "rIK")
                         (const_int 0)))
    (clobber (reg:CC CC_REGNUM))]
-  "TARGET_ARM"
+  "TARGET_ARM && !reg_overlap_mentioned_p (operands[0], operands[3])"
   "#"
-  "TARGET_ARM"
+  "TARGET_ARM && !reg_overlap_mentioned_p (operands[0], operands[3])"
   [(parallel [(set (reg:CC_NOOV CC_REGNUM)
                   (compare:CC_NOOV (ashift:SI (match_dup 1) (match_dup 2))
                                    (const_int 0)))