Commit 11a13704 by Richard Henderson Committed by Richard Henderson

ia64.md (mulsi3): Use grfr_register_operand.

        * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
        (madddi3): Likewise.
        (maddsi3): New.

From-SVN: r36103
parent f798660e
2000-09-01 Richard Henderson <rth@cygnus.com>
* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
(madddi3): Likewise.
(maddsi3): New.
Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (clear_storage): Don't use emit_move_insn unless * expr.c (clear_storage): Don't use emit_move_insn unless
......
...@@ -1372,16 +1372,23 @@ ...@@ -1372,16 +1372,23 @@
"sub %0 = %2, %1, 1" "sub %0 = %2, %1, 1"
[(set_attr "type" "A")]) [(set_attr "type" "A")])
;; ??? Could add maddsi3 patterns patterned after the madddi3 patterns.
(define_insn "mulsi3" (define_insn "mulsi3"
[(set (match_operand:SI 0 "fr_register_operand" "=f") [(set (match_operand:SI 0 "fr_register_operand" "=f")
(mult:SI (match_operand:SI 1 "fr_register_operand" "f") (mult:SI (match_operand:SI 1 "grfr_register_operand" "f")
(match_operand:SI 2 "nonmemory_operand" "f")))] (match_operand:SI 2 "grfr_register_operand" "f")))]
"" ""
"xma.l %0 = %1, %2, f0%B0" "xma.l %0 = %1, %2, f0%B0"
[(set_attr "type" "F")]) [(set_attr "type" "F")])
(define_insn "*maddsi3"
[(set (match_operand:SI 0 "fr_register_operand" "=f")
(plus:SI (mult:SI (match_operand:SI 1 "grfr_register_operand" "f")
(match_operand:SI 2 "grfr_register_operand" "f"))
(match_operand:SI 3 "grfr_register_operand" "f")))]
""
"xma.l %0 = %1, %2, %3%B0"
[(set_attr "type" "F")])
(define_insn "negsi2" (define_insn "negsi2"
[(set (match_operand:SI 0 "gr_register_operand" "=r") [(set (match_operand:SI 0 "gr_register_operand" "=r")
(neg:SI (match_operand:SI 1 "gr_register_operand" "r")))] (neg:SI (match_operand:SI 1 "gr_register_operand" "r")))]
...@@ -1532,9 +1539,9 @@ ...@@ -1532,9 +1539,9 @@
(define_insn "*madddi3" (define_insn "*madddi3"
[(set (match_operand:DI 0 "fr_register_operand" "=f") [(set (match_operand:DI 0 "fr_register_operand" "=f")
(plus:DI (mult:DI (match_operand:DI 1 "fr_register_operand" "f") (plus:DI (mult:DI (match_operand:DI 1 "grfr_register_operand" "f")
(match_operand:DI 2 "fr_register_operand" "f")) (match_operand:DI 2 "grfr_register_operand" "f"))
(match_operand:DI 3 "fr_register_operand" "f"))) (match_operand:DI 3 "grfr_register_operand" "f")))
(clobber (match_scratch:DI 4 "=X"))] (clobber (match_scratch:DI 4 "=X"))]
"" ""
"xma.l %0 = %1, %2, %3%B0" "xma.l %0 = %1, %2, %3%B0"
......
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