aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1996-09-26 21:55:07 +0000
committerTorbjorn Granlund <tege@gnu.org>1996-09-26 21:55:07 +0000
commit33163aceba07dcaf04960280bb06781e6bb7310d (patch)
tree1cda6a09e51e1c9839c01851817919b7f6e37b39 /gcc
parentae678a132605a4c2d8eebc3b5028bc4666f1cff0 (diff)
downloadgcc-33163aceba07dcaf04960280bb06781e6bb7310d.zip
gcc-33163aceba07dcaf04960280bb06781e6bb7310d.tar.gz
gcc-33163aceba07dcaf04960280bb06781e6bb7310d.tar.bz2
(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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.md8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index da9ff37..538c8dd 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -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"