aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-07-28 23:19:44 +0000
committerJeff Law <law@gcc.gnu.org>1999-07-28 17:19:44 -0600
commit9d142e3fd8a4bf3e129679cac1b1801864c08281 (patch)
tree78e88046f6f4fbd3289771a91dbdd0c1d56766aa /gcc
parentfc82f2f1dd34b0df7137f8462a1fe23ae98c2dab (diff)
downloadgcc-9d142e3fd8a4bf3e129679cac1b1801864c08281.zip
gcc-9d142e3fd8a4bf3e129679cac1b1801864c08281.tar.gz
gcc-9d142e3fd8a4bf3e129679cac1b1801864c08281.tar.bz2
pa.md (adddi3, subdi3): Turn into a define_expand/define_insn pair.
* pa.md (adddi3, subdi3): Turn into a define_expand/define_insn pair. From-SVN: r28328
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/pa/pa.md18
2 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cd22387..d469849 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
+ * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
+ pair.
+
* pa.c (store_reg): Do not call add_high_const generator directly.
(load_reg, set_reg_plus_d): Likewise.
* pa.md (add_high_const): No longer a named pattern.
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index b2c4c8c..7fdbab03 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -2924,7 +2924,14 @@
;;- arithmetic instructions
-(define_insn "adddi3"
+(define_expand "adddi3"
+ [(set (match_operand:DI 0 "register_operand" "")
+ (plus:DI (match_operand:DI 1 "register_operand" "")
+ (match_operand:DI 2 "arith11_operand" "")))]
+ ""
+ "")
+
+(define_insn ""
[(set (match_operand:DI 0 "register_operand" "=r")
(plus:DI (match_operand:DI 1 "register_operand" "%r")
(match_operand:DI 2 "arith11_operand" "rI")))]
@@ -3049,7 +3056,14 @@
[(set_attr "type" "binary")
(set_attr "length" "8")])
-(define_insn "subdi3"
+(define_expand "subdi3"
+ [(set (match_operand:DI 0 "register_operand" "")
+ (minus:DI (match_operand:DI 1 "register_operand" "")
+ (match_operand:DI 2 "register_operand" "")))]
+ ""
+ "")
+
+(define_insn ""
[(set (match_operand:DI 0 "register_operand" "=r")
(minus:DI (match_operand:DI 1 "register_operand" "r")
(match_operand:DI 2 "register_operand" "r")))]