OSDN Git Service

* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2007 00:25:06 +0000 (00:25 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2007 00:25:06 +0000 (00:25 +0000)
parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
tablejumpdi, movsi_to_cr_one): Remove constraints from
define_expand's match_operands.

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

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 15ef2a6..da613e7 100644 (file)
@@ -1,5 +1,12 @@
 2007-02-07  Roger Sayle  <roger@eyesopen.com>
 
+       * config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
+       parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
+       tablejumpdi, movsi_to_cr_one): Remove constraints from
+       define_expand's match_operands.
+
+2007-02-07  Roger Sayle  <roger@eyesopen.com>
+
        * global.c (compute_regsets): Move declatation of "i" inside of
        #ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure.
 
index 75aef7c..21959a5 100644 (file)
 
 (define_expand "ctz<mode>2"
   [(set (match_dup 2)
-       (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))
+       (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))
    (parallel [(set (match_dup 3) (and:GPR (match_dup 1)
                                          (match_dup 2)))
              (clobber (scratch:CC))])
    (set (match_dup 4) (clz:GPR (match_dup 3)))
-   (set (match_operand:GPR 0 "gpc_reg_operand" "=r")
+   (set (match_operand:GPR 0 "gpc_reg_operand" "")
        (minus:GPR (match_dup 5) (match_dup 4)))]
   ""
   {
 
 (define_expand "ffs<mode>2"
   [(set (match_dup 2)
-       (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))
+       (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))
    (parallel [(set (match_dup 3) (and:GPR (match_dup 1)
                                          (match_dup 2)))
              (clobber (scratch:CC))])
    (set (match_dup 4) (clz:GPR (match_dup 3)))
-   (set (match_operand:GPR 0 "gpc_reg_operand" "=r")
+   (set (match_operand:GPR 0 "gpc_reg_operand" "")
        (minus:GPR (match_dup 5) (match_dup 4)))]
   ""
   {
   "popcntb %0,%1")
 
 (define_expand "popcount<mode>2"
-  [(use (match_operand:GPR 0 "gpc_reg_operand" "=r"))
-   (use (match_operand:GPR 1 "gpc_reg_operand" "r"))]
+  [(set (match_operand:GPR 0 "gpc_reg_operand" "")
+       (popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
   "TARGET_POPCNTB"
   {
     rs6000_emit_popcount (operands[0], operands[1]);
   })
 
 (define_expand "parity<mode>2"
-  [(use (match_operand:GPR 0 "gpc_reg_operand" "=r"))
-   (use (match_operand:GPR 1 "gpc_reg_operand" "r"))]
+  [(set (match_operand:GPR 0 "gpc_reg_operand" "")
+       (parity:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
   "TARGET_POPCNTB"
   {
     rs6000_emit_parity (operands[0], operands[1]);
   [(set (match_operand:SI 0 "gpc_reg_operand" "")
        (truncate:SI
         (lshiftrt:DI (mult:DI (sign_extend:DI
-                               (match_operand:SI 1 "gpc_reg_operand" "%r"))
+                               (match_operand:SI 1 "gpc_reg_operand" ""))
                               (sign_extend:DI
-                               (match_operand:SI 2 "gpc_reg_operand" "r")))
+                               (match_operand:SI 2 "gpc_reg_operand" "")))
                      (const_int 32))))]
   ""
   "
 }")
 
 (define_expand "abstf2_internal"
-  [(set (match_operand:TF 0 "gpc_reg_operand" "=f")
-       (match_operand:TF 1 "gpc_reg_operand" "f"))
+  [(set (match_operand:TF 0 "gpc_reg_operand" "")
+       (match_operand:TF 1 "gpc_reg_operand" ""))
    (set (match_dup 3) (match_dup 5))
    (set (match_dup 5) (abs:DF (match_dup 5)))
    (set (match_dup 4) (compare:CCFP (match_dup 3) (match_dup 5)))
 ;; We move the back-chain and decrement the stack pointer.
 
 (define_expand "allocate_stack"
-  [(set (match_operand 0 "gpc_reg_operand" "=r")
+  [(set (match_operand 0 "gpc_reg_operand" "")
        (minus (reg 1) (match_operand 1 "reg_or_short_operand" "")))
    (set (reg 1)
        (minus (reg 1) (match_dup 1)))]
 
 (define_expand "tablejumpdi"
   [(set (match_dup 4)
-        (sign_extend:DI (match_operand:SI 0 "lwa_operand" "rm")))
+        (sign_extend:DI (match_operand:SI 0 "lwa_operand" "")))
    (set (match_dup 3)
        (plus:DI (match_dup 4)
                 (match_dup 2)))
 ; faster; for instance, on the 601 and 750.
 
 (define_expand "movsi_to_cr_one"
-  [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-        (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+  [(set (match_operand:CC 0 "cc_reg_operand" "")
+        (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "")
                    (match_dup 2)] UNSPEC_MOVESI_TO_CR))]
   ""
   "operands[2] = GEN_INT (1 << (75 - REGNO (operands[0])));")