OSDN Git Service

* rs6000.md (scc plus eq): Fix output template.
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Feb 1999 12:54:08 +0000 (12:54 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Feb 1999 12:54:08 +0000 (12:54 +0000)
        (scc plus ltu): Fix output template and collapse variants
        correcting early clobber.
        (scc plus geu): Fix output template.
        (scc plus gt): Fix output template.
        (scc plus gtu): Fix output template and collapse variants.

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

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

index fe5db8d..55d621b 100644 (file)
@@ -1,3 +1,13 @@
+Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
+                         David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (scc plus eq): Fix output template.
+       (scc plus ltu): Fix output template and collapse variants
+       correcting early clobbers.
+       (scc plus geu): Fix output template.
+       (scc plus gt): Fix output template.
+       (scc plus gtu): Fix output template and collapse variants.
+
 Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * cppinit.c (print_help): Remove unescaped newline in string.
index cd9b275..22daa14 100644 (file)
   ""
   "@
    xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
-   {sfi|subfic} %4,%1,0\;{aze.|addze.} %0,%3
+   {sfi|subfic} %4,%1,0\;{aze.|addze.} %4,%3
    {xoril|xori} %4,%1,%b2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
    {xoriu|xoris} %4,%1,%u2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
    {sfi|subfic} %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3"
   ""
   "@
    xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
-   {sfi|subfic} %4,%1,0\;{aze.|addze.} %4,%3
+   {sfi|subfic} %4,%1,0\;{aze.|addze.} %0,%3
    {xoril|xori} %4,%1,%b2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
    {xoriu|xoris} %4,%1,%u2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
    {sfi|subfic} %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3"
    (set_attr "length" "12")])
 
 (define_insn ""
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
-       (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
-                        (match_operand:SI 2 "reg_or_neg_short_operand" "r,r,P,P"))
-                (match_operand:SI 3 "reg_or_short_operand" "r,I,r,I")))
-   (clobber (match_scratch:SI 4 "=&r,r,&r,r"))]
+  [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+       (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
+                        (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))
+                (match_operand:SI 3 "reg_or_short_operand" "rI,rI")))
+   (clobber (match_scratch:SI 4 "=&r,&r"))]
   ""
   "@
   {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3
-  {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3
   {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3
-  {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3"
  [(set_attr "length" "12")])
 
 (define_insn ""
   ""
   "@
    {sf|subfc} %4,%2,%1\;{aze.|addze.} %0,%3
-   {ai|addic} %4,%1,%n2\;{aze.|addze.} %4,%3"
+   {ai|addic} %4,%1,%n2\;{aze.|addze.} %0,%3"
   [(set_attr "type" "compare")
    (set_attr "length" "8")])
 
         (const_int 0)))
    (clobber (match_scratch:SI 3 "=&r"))]
   ""
-  "{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %0,%2"
+  "{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %3,%2"
   [(set_attr "type" "compare")
    (set_attr "length" "12")])
 
        (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
    (clobber (match_scratch:SI 3 "=&r"))]
   ""
-  "{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %3,%2"
+  "{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %0,%2"
   [(set_attr "type" "compare")
    (set_attr "length" "12")])
 
    (set_attr "length" "12")])
 
 (define_insn ""
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r")
-       (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r")
-                        (match_operand:SI 2 "reg_or_short_operand" "I,r,rI"))
-                (match_operand:SI 3 "reg_or_short_operand" "r,r,I")))
-   (clobber (match_scratch:SI 4 "=&r,&r,&r"))]
+  [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
+       (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
+                        (match_operand:SI 2 "reg_or_short_operand" "I,rI"))
+                (match_operand:SI 3 "reg_or_short_operand" "r,rI")))
+   (clobber (match_scratch:SI 4 "=&r,&r"))]
   ""
   "@
    {ai|addic} %4,%1,%k2\;{aze|addze} %0,%3
-   {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3
    {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3"
-  [(set_attr "length" "8,12,12")])
+  [(set_attr "length" "8,12")])
 
 (define_insn ""
   [(set (match_operand:CC 0 "cc_reg_operand" "=x,x")
    (clobber (match_scratch:SI 4 "=&r,&r"))]
   ""
   "@
-   {ai|addic} %4,%1,%k2\;{aze.|addze.} %0,%3
-   {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3"
+   {ai|addic} %4,%1,%k2\;{aze.|addze.} %4,%3
+   {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %4,%4,%3"
   [(set_attr "type" "compare")
    (set_attr "length" "8,12")])