diff options
author | David Edelsohn <edelsohn@gnu.org> | 2005-05-09 22:04:48 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2005-05-09 18:04:48 -0400 |
commit | 4a6ac6a5e6107c301a771ab2398ba3c3ae7ff946 (patch) | |
tree | bdbdc4824c9cdf8da2284977083d6063edbcc66a | |
parent | c87e6352ed5daad3c13f0ca4056b07de910daf12 (diff) | |
download | gcc-4a6ac6a5e6107c301a771ab2398ba3c3ae7ff946.zip gcc-4a6ac6a5e6107c301a771ab2398ba3c3ae7ff946.tar.gz gcc-4a6ac6a5e6107c301a771ab2398ba3c3ae7ff946.tar.bz2 |
re PR target/21477 (adddi3 becomes external reference rather than instruction on powerpc64)
PR target/21477
* config/rs6000/rs6000.md (add_op2): New.
(add<mode>3): Use it.
From-SVN: r99475
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6fd1af..e78b8ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-05-09 David Edelsohn <edelsohn@gnu.org> + + PR target/21477 + * config/rs6000/rs6000.md (add_op2): New. + (add<mode>3): Use it. + 2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com> * arm.c (arm_gen_constant): Add new heuristic for generating diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 0c8abb1..c627daf 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1006,10 +1006,13 @@ ;; Fixed-point arithmetic insns. +(define_mode_attr add_op2 [(SI "reg_or_arith_cint_operand") + (DI "reg_or_add_cint64_operand")]) + (define_expand "add<mode>3" [(set (match_operand:SDI 0 "gpc_reg_operand" "") (plus:SDI (match_operand:SDI 1 "gpc_reg_operand" "") - (match_operand:SDI 2 "reg_or_arith_cint_operand" "")))] + (match_operand:SDI 2 "<add_op2>" "")))] "" " { |