(mulsi3): Changed into define_expand.
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 25 Mar 1997 19:50:42 +0000 (14:50 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 25 Mar 1997 19:50:42 +0000 (14:50 -0500)
(mulsi3): Changed into define_expand.  Split insn into m68k and
coldfire specific versions with appropriate constraints.

From-SVN: r13798

gcc/config/m68k/m68k.md

index 51a8075ae31ad00f7bd9f937042a7b91319ee0c3..31e9a48d3f65038a343816247211380b9e31bc7f 100644 (file)
 #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"