diff options
author | Michael Meissner <meissner@cygnus.com> | 1999-02-19 12:54:08 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 1999-02-19 07:54:08 -0500 |
commit | 19378cf80343bc455c6d3ef513365aaf58884222 (patch) | |
tree | 577b88856a27682209cde7fe70fa5b762eeaec2e /gcc | |
parent | 16ed229914db35e46451932ac64967b77b4c920f (diff) | |
download | gcc-19378cf80343bc455c6d3ef513365aaf58884222.zip gcc-19378cf80343bc455c6d3ef513365aaf58884222.tar.gz gcc-19378cf80343bc455c6d3ef513365aaf58884222.tar.bz2 |
rs6000.md (scc plus eq): Fix output template.
* rs6000.md (scc plus eq): Fix output template.
(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.
Co-Authored-By: David Edelsohn <edelsohn@mhpcc.edu>
From-SVN: r25316
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 39 |
2 files changed, 28 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe5db8d..55d621b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index cd9b275..22daa14 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -8724,7 +8724,7 @@ "" "@ 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" @@ -8745,7 +8745,7 @@ "" "@ 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" @@ -9152,17 +9152,15 @@ (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 "" @@ -9388,7 +9386,7 @@ "" "@ {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")]) @@ -9510,7 +9508,7 @@ (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")]) @@ -9525,7 +9523,7 @@ (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")]) @@ -9605,17 +9603,16 @@ (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") @@ -9627,8 +9624,8 @@ (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")]) |