sparc.md (seqdi_special): Don't clobber %xcc.
authorDoug Evans <dje@gnu.org>
Tue, 22 Jul 1997 23:42:22 +0000 (23:42 +0000)
committerDoug Evans <dje@gnu.org>
Tue, 22 Jul 1997 23:42:22 +0000 (23:42 +0000)
* sparc/sparc.md (seqdi_special): Don't clobber %xcc.
(snedi_special, seqdi_special_trunc, snedi_special_trunc): Likewise.
(snedi_zero, neg_snedi_zero, seqdi_zero, neg_seqdi_zero): Likewise.
  (snedi_zero_trunc, seqdi_zero_trunc): Likewise. Renamed from ..._sp64.
(snedi_zero_trunc_sp32, seqdi_zero_trunc_sp32): Delete.

From-SVN: r14520

gcc/config/sparc/sparc.md

index f81c224c716cc808cd3499ea8447cd0f5240feb7..9ac695f457725d19c55e491f6d3ccc11879f0860 100644 (file)
   [(set (match_dup 3)
        (xor:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "register_operand" "")))
-   (parallel [(set (match_operand:DI 0 "register_operand" "")
-                  (eq:DI (match_dup 3) (const_int 0)))
-             (clobber (reg:CCX 100))])]
+   (set (match_operand:DI 0 "register_operand" "")
+       (eq:DI (match_dup 3) (const_int 0)))]
   "TARGET_ARCH64"
   "{ operands[3] = gen_reg_rtx (DImode); }")
 
   [(set (match_dup 3)
        (xor:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "register_operand" "")))
-   (parallel [(set (match_operand:DI 0 "register_operand" "")
-                  (ne:DI (match_dup 3) (const_int 0)))
-             (clobber (reg:CCX 100))])]
+   (set (match_operand:DI 0 "register_operand" "")
+       (ne:DI (match_dup 3) (const_int 0)))]
   "TARGET_ARCH64"
   "{ operands[3] = gen_reg_rtx (DImode); }")
 
   [(set (match_dup 3)
        (xor:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "register_operand" "")))
-   (parallel [(set (match_operand:SI 0 "register_operand" "")
-                  (eq:DI (match_dup 3) (const_int 0)))
-             (clobber (reg:CCX 100))])]
+   (set (match_operand:SI 0 "register_operand" "")
+       (eq:DI (match_dup 3) (const_int 0)))]
   "TARGET_ARCH64"
   "{ operands[3] = gen_reg_rtx (DImode); }")
 
   [(set (match_dup 3)
        (xor:DI (match_operand:DI 1 "register_operand" "")
                (match_operand:DI 2 "register_operand" "")))
-   (parallel [(set (match_operand:SI 0 "register_operand" "")
-                  (ne:DI (match_dup 3) (const_int 0)))
-             (clobber (reg:CCX 100))])]
+   (set (match_operand:SI 0 "register_operand" "")
+       (ne:DI (match_dup 3) (const_int 0)))]
   "TARGET_ARCH64"
   "{ operands[3] = gen_reg_rtx (DImode); }")
 
 (define_insn "*snedi_zero"
   [(set (match_operand:DI 0 "register_operand" "=&r")
        (ne:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
+              (const_int 0)))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrnz %1,1,%0"
   [(set_attr "type" "unary")
 (define_insn "*neg_snedi_zero"
   [(set (match_operand:DI 0 "register_operand" "=&r")
        (neg:DI (ne:DI (match_operand:DI 1 "register_operand" "r")
-                      (const_int 0))))
-   (clobber (reg:CCX 100))]
+                      (const_int 0))))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrnz %1,-1,%0"
   [(set_attr "type" "unary")
    (set_attr "length" "2")])
 
-(define_insn "*snedi_zero_trunc_sp32"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-       (ne:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
-  "! TARGET_ARCH64 && ! TARGET_LIVE_G0"
-  "xor %1,%R1,%0\;subcc %%g0,%0,%%g0\;addx %%g0,0,%0"
-  [(set_attr "type" "unary")
-   (set_attr "length" "3")])
-
-(define_insn "*snedi_zero_trunc_sp64"
+(define_insn "*snedi_zero_trunc"
   [(set (match_operand:SI 0 "register_operand" "=&r")
        (ne:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
+              (const_int 0)))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrnz %1,1,%0"
   [(set_attr "type" "unary")
 (define_insn "*seqdi_zero"
   [(set (match_operand:DI 0 "register_operand" "=&r")
        (eq:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
+              (const_int 0)))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrz %1,1,%0"
   [(set_attr "type" "unary")
 (define_insn "*neg_seqdi_zero"
   [(set (match_operand:DI 0 "register_operand" "=&r")
        (neg:DI (eq:DI (match_operand:DI 1 "register_operand" "r")
-                      (const_int 0))))
-   (clobber (reg:CCX 100))]
+                      (const_int 0))))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrz %1,-1,%0"
   [(set_attr "type" "unary")
    (set_attr "length" "2")]) 
 
-(define_insn "*seqdi_zero_trunc_sp32"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-       (eq:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
-  "! TARGET_ARCH64 && ! TARGET_LIVE_G0"
-  "xor %1,%R1,%0\;subcc %%g0,%0,%%g0\;subx %%g0,-1,%0"
-  [(set_attr "type" "unary")
-   (set_attr "length" "3")])
-
-(define_insn "*seqdi_zero_trunc_sp64"
+(define_insn "*seqdi_zero_trunc"
   [(set (match_operand:SI 0 "register_operand" "=&r")
        (eq:DI (match_operand:DI 1 "register_operand" "r")
-              (const_int 0)))
-   (clobber (reg:CCX 100))]
+              (const_int 0)))]
   "TARGET_ARCH64"
   "mov 0,%0\;movrz %1,1,%0"
   [(set_attr "type" "unary")