aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2002-04-26 15:23:26 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2002-04-26 11:23:26 -0400
commit5276df1857226e7309b25a002daed2d8ef90802d (patch)
tree1b50183250de612e57265aa06f95dc9d15172bca
parentb84a3874349ccc870c3d278b874d43763efbc9bb (diff)
downloadgcc-5276df1857226e7309b25a002daed2d8ef90802d.zip
gcc-5276df1857226e7309b25a002daed2d8ef90802d.tar.gz
gcc-5276df1857226e7309b25a002daed2d8ef90802d.tar.bz2
rs6000.md (sCC pattern): Remove clobber and use result as temporary value.
* config/rs6000/rs6000.md (sCC pattern): Remove clobber and use result as temporary value. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r52793
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.md15
2 files changed, 13 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 667ec4f..cb84073 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-26 David Edelsohn <edelsohn@gnu.org>
+ Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
+ result as temporary value.
+
2002-04-26 Richard Henderson <rth@redhat.com>
PR c/3581
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index a1800ae..cb5d164 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -10846,18 +10846,17 @@
(match_dup 4)))])
(define_insn ""
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r,&r")
(plus:SI (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,L,I"))
- (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))
- (clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r"))]
+ (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))]
"! TARGET_POWERPC64"
"@
- xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%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"
+ xor %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
+ {sfi|subfic} %0,%1,0\;{aze|addze} %0,%3
+ {xoril|xori} %0,%1,%b2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
+ {xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
+ {sfi|subfic} %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3"
[(set_attr "length" "12,8,12,12,12")])
(define_insn ""