aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.md5
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>" "")))]
""
"
{