(smulsi3_highpart, umulsi3_highpart): New patterns.

From-SVN: r7590
This commit is contained in:
Torbjorn Granlund 1994-06-29 00:18:12 +00:00
parent 47c95f5005
commit 8abf4d694f

View File

@ -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")