From: Torbjorn Granlund Date: Wed, 29 Jun 1994 00:18:12 +0000 (+0000) Subject: (smulsi3_highpart, umulsi3_highpart): New patterns. X-Git-Tag: misc/cutover-egcs-0~6353 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8abf4d694f7b7f363ef384a5dbd86806c3d39a7d;p=thirdparty%2Fgcc.git (smulsi3_highpart, umulsi3_highpart): New patterns. From-SVN: r7590 --- diff --git a/gcc/config/a29k/a29k.md b/gcc/config/a29k/a29k.md index ca1decc586e1..a6dbad1d5b2d 100644 --- a/gcc/config/a29k/a29k.md +++ b/gcc/config/a29k/a29k.md @@ -1193,6 +1193,28 @@ { operands[3] = operand_subword (operands[0], 1, 1, DImode); operands[4] = operand_subword (operands[1], 0, 1, DImode); } ") +(define_insn "smulsi3_highpart" + [(set (match_operand:SI 0 "gpc_reg_operand" "=r") + (truncate:SI + (lshiftrt:DI + (mult:DI (sign_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r")) + (sign_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) + (const_int 32)))) + (clobber (match_scratch:SI 3 "=&q"))] + "" + "multm %0,%1,%2") + +(define_insn "umulsi3_highpart" + [(set (match_operand:SI 0 "gpc_reg_operand" "=r") + (truncate:SI + (lshiftrt:DI + (mult:DI (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "%r")) + (zero_extend:DI (match_operand:SI 2 "gpc_reg_operand" "r"))) + (const_int 32)))) + (clobber (match_scratch:SI 3 "=&q"))] + "" + "multmu %0,%1,%2") + ;; NAND (define_insn "" [(set (match_operand:SI 0 "gpc_reg_operand" "=r")