diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/rs6000/rs6000.md | 15 |
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 "" |
