diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-03-25 19:50:42 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-03-25 19:50:42 +0000 |
commit | a5667aaa5e117ff61eb2d47f492e902ed8a99632 (patch) | |
tree | f768965df28cfe1ea7146f7745a5d65bba46d14d /gcc/config/m68k/m68k.md | |
parent | c0039eb0bb8be2c725143b2dd8d0b98eebe893e3 (diff) | |
download | gcc-a5667aaa5e117ff61eb2d47f492e902ed8a99632.tar.gz |
(mulsi3): Changed into define_expand. Split insn into m68k and
coldfire specific versions with appropriate constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13798 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.md')
-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 51a8075ae31..31e9a48d3f6 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" |