2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-15 16:31:05 +08:00

(mulsidi3 matcher): Change predicate const_int_operand to const_sint32_operand.

(mulsidi3 matcher): Change predicate const_int_operand
to const_sint32_operand.  Get rid of bogus range condition.

From-SVN: r12850
This commit is contained in:
Torbjorn Granlund 1996-09-26 21:55:07 +00:00
parent ae678a1326
commit 33163aceba

@ -2949,16 +2949,12 @@
(define_insn ""
[(set (match_operand:SI 0 "register_operand" "=d")
(mult:SI (match_operand:SI 1 "register_operand" "%0")
(match_operand:SI 2 "const_int_operand" "n")))
(match_operand:SI 2 "const_sint32_operand" "")))
(set (match_operand:SI 3 "register_operand" "=d")
(truncate:SI (lshiftrt:DI (mult:DI (sign_extend:DI (match_dup 1))
(match_dup 2))
(const_int 32))))]
"TARGET_68020 && !TARGET_68060 && !TARGET_5200
/* This test is a noop on 32 bit machines,
but important for a cross-compiler hosted on 64-bit machines. */
&& INTVAL (operands[2]) <= 0x7fffffff
&& INTVAL (operands[2]) >= -0x80000000"
"TARGET_68020 && !TARGET_68060 && !TARGET_5200"
"muls%.l %2,%3:%0")
(define_expand "umulsi3_highpart"