diff options
author | Richard Henderson <rth@cygnus.com> | 2000-09-01 14:28:26 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-09-01 14:28:26 -0700 |
commit | 11a1370459e76305852e8b806fb33726449ba86e (patch) | |
tree | e3d504e5d55f54e4acc30097745f0a4e440596fc /gcc | |
parent | f798660ee0370538e4005b6e1bd286f2af2d3ea7 (diff) | |
download | gcc-11a1370459e76305852e8b806fb33726449ba86e.zip gcc-11a1370459e76305852e8b806fb33726449ba86e.tar.gz gcc-11a1370459e76305852e8b806fb33726449ba86e.tar.bz2 |
ia64.md (mulsi3): Use grfr_register_operand.
* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
(madddi3): Likewise.
(maddsi3): New.
From-SVN: r36103
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.md | 21 |
2 files changed, 20 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c62375..166df7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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> * expr.c (clear_storage): Don't use emit_move_insn unless diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 59bbb0c..2bbf1a2 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -1372,16 +1372,23 @@ "sub %0 = %2, %1, 1" [(set_attr "type" "A")]) -;; ??? Could add maddsi3 patterns patterned after the madddi3 patterns. - (define_insn "mulsi3" [(set (match_operand:SI 0 "fr_register_operand" "=f") - (mult:SI (match_operand:SI 1 "fr_register_operand" "f") - (match_operand:SI 2 "nonmemory_operand" "f")))] + (mult:SI (match_operand:SI 1 "grfr_register_operand" "f") + (match_operand:SI 2 "grfr_register_operand" "f")))] "" "xma.l %0 = %1, %2, f0%B0" [(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" [(set (match_operand:SI 0 "gr_register_operand" "=r") (neg:SI (match_operand:SI 1 "gr_register_operand" "r")))] @@ -1532,9 +1539,9 @@ (define_insn "*madddi3" [(set (match_operand:DI 0 "fr_register_operand" "=f") - (plus:DI (mult:DI (match_operand:DI 1 "fr_register_operand" "f") - (match_operand:DI 2 "fr_register_operand" "f")) - (match_operand:DI 3 "fr_register_operand" "f"))) + (plus:DI (mult:DI (match_operand:DI 1 "grfr_register_operand" "f") + (match_operand:DI 2 "grfr_register_operand" "f")) + (match_operand:DI 3 "grfr_register_operand" "f"))) (clobber (match_scratch:DI 4 "=X"))] "" "xma.l %0 = %1, %2, %3%B0" |