Commit fa5679bb by Richard Kenner

(adddi3/subdi3): Allow immediate constants.

From-SVN: r4101
parent 9854d9ed
...@@ -1992,18 +1992,22 @@ ...@@ -1992,18 +1992,22 @@
;; Define the DImode operations that can be done in a small number ;; Define the DImode operations that can be done in a small number
;; of instructions. ;; of instructions.
(define_insn "adddi3" (define_insn "adddi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r") [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(plus:DI (match_operand:DI 1 "gpc_reg_operand" "%r") (plus:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r")
(match_operand:DI 2 "gpc_reg_operand" "r")))] (match_operand:DI 2 "reg_or_short_operand" "r,I")))]
"" ""
"a %L0,%L1,%L2\;ae %0,%1,%2") "@
a %L0,%L1,%L2\;ae %0,%1,%2
ai %L0,%L1,%2\;a%G2e %0,%1")
(define_insn "subdi3" (define_insn "subdi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r") [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(minus:DI (match_operand:DI 1 "gpc_reg_operand" "r") (minus:DI (match_operand:DI 1 "reg_or_short_operand" "r,I")
(match_operand:DI 2 "gpc_reg_operand" "r")))] (match_operand:DI 2 "gpc_reg_operand" "r,r")))]
"" ""
"sf %L0,%L2,%L1\;sfe %0,%2,%1") "@
sf %L0,%L2,%L1\;sfe %0,%2,%1
sfi %L0,%L2,%1\;sf%G1e %0,%2")
(define_insn "negdi2" (define_insn "negdi2"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r") [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment