diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-03-25 14:50:42 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-03-25 14:50:42 -0500 |
commit | a139ec256447757e93586056a40ab8a71acdd4dc (patch) | |
tree | f768965df28cfe1ea7146f7745a5d65bba46d14d | |
parent | e46a986ab9e7d38890b9009b1e031937ede045aa (diff) | |
download | gcc-a139ec256447757e93586056a40ab8a71acdd4dc.zip gcc-a139ec256447757e93586056a40ab8a71acdd4dc.tar.gz gcc-a139ec256447757e93586056a40ab8a71acdd4dc.tar.bz2 |
(mulsi3): Changed into define_expand.
(mulsi3): Changed into define_expand. Split insn into m68k and
coldfire specific versions with appropriate constraints.
From-SVN: r13798
-rw-r--r-- | gcc/config/m68k/m68k.md | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 51a8075..31e9a48d 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -2890,11 +2890,25 @@ #endif }") -(define_insn "mulsi3" +(define_expand "mulsi3" + [(set (match_operand:SI 0 "general_operand" "") + (mult:SI (match_operand:SI 1 "general_operand" "") + (match_operand:SI 2 "general_operand" "")))] + "TARGET_68020 || TARGET_5200" + "") + +(define_insn "" [(set (match_operand:SI 0 "general_operand" "=d") (mult:SI (match_operand:SI 1 "general_operand" "%0") (match_operand:SI 2 "general_operand" "dmsK")))] - "TARGET_68020 || TARGET_5200" + "TARGET_68020" + "muls%.l %2,%0") + +(define_insn "" + [(set (match_operand:SI 0 "general_operand" "=d") + (mult:SI (match_operand:SI 1 "general_operand" "%0") + (match_operand:SI 2 "general_operand" "d<>")))] + "TARGET_5200" "muls%.l %2,%0") (define_insn "umulhisi3" |