diff options
author | Richard Stallman <rms@gnu.org> | 1993-03-21 22:35:49 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-03-21 22:35:49 +0000 |
commit | 52a866cec9e7d35f5cdb1355cce2aa5b03e264d0 (patch) | |
tree | 271445cfad9e5d9c7a6de59be248ea608148f6c9 /gcc | |
parent | e7c2ea2d7d0366c0137c83c10ed16188f01a8cdb (diff) | |
download | gcc-52a866cec9e7d35f5cdb1355cce2aa5b03e264d0.zip gcc-52a866cec9e7d35f5cdb1355cce2aa5b03e264d0.tar.gz gcc-52a866cec9e7d35f5cdb1355cce2aa5b03e264d0.tar.bz2 |
(mulsidi3, umulsidi3): Add missing sign_extend
and zero_extend so all operands have them.
From-SVN: r3817
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/m68k.md | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index c31ba9b2..e4e0176 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -2368,13 +2368,15 @@ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "")) (zero_extend:DI - (match_operand:SI 2 "nonimmediate_operand" ""))) 1)) + (match_operand:SI 2 "nonimmediate_operand" ""))) + 1)) (set (subreg:SI (match_dup 0) 0) (subreg:SI (mult:DI (zero_extend:DI (match_dup 1)) (zero_extend:DI - (match_dup 2))) 0))])] + (match_dup 2))) + 0))])] "TARGET_68020" "") @@ -2384,13 +2386,15 @@ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%0")) (zero_extend:DI - (match_operand:SI 2 "nonimmediate_operand" "dm"))) 1)) + (match_operand:SI 2 "nonimmediate_operand" "dm"))) + 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (zero_extend:DI (match_dup 1)) (zero_extend:DI - (match_dup 2))) 0))] + (match_dup 2))) + 0))] "TARGET_68020" "mulu%.l %2,%3:%0") @@ -2399,12 +2403,16 @@ (subreg:SI (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%0")) - (match_operand:SI 2 "immediate_operand" "sK")) 1)) + (zero_extend:DI + (match_operand:SI 2 "immediate_operand" "sK"))) + 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (zero_extend:DI (match_dup 1)) - (match_dup 2)) 0))] + (zero_extend:DI + (match_dup 2))) + 0))] "TARGET_68020 && (GET_CODE (operands[2]) != CONST_INT || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" @@ -2417,13 +2425,15 @@ (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "")) (sign_extend:DI - (match_operand:SI 2 "nonimmediate_operand" ""))) 1)) + (match_operand:SI 2 "nonimmediate_operand" ""))) + 1)) (set (subreg:SI (match_dup 0) 0) (subreg:SI (mult:DI (sign_extend:DI (match_dup 1)) (sign_extend:DI - (match_dup 2))) 0))])] + (match_dup 2))) + 0))])] "TARGET_68020" "") @@ -2433,13 +2443,15 @@ (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "%0")) (sign_extend:DI - (match_operand:SI 2 "nonimmediate_operand" "dm"))) 1)) + (match_operand:SI 2 "nonimmediate_operand" "dm"))) + 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (sign_extend:DI (match_dup 1)) (sign_extend:DI - (match_dup 2))) 0))] + (match_dup 2))) + 0))] "TARGET_68020" "muls%.l %2,%3:%0") @@ -2448,12 +2460,16 @@ (subreg:SI (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "%0")) - (match_operand:SI 2 "immediate_operand" "sK")) 1)) + (sign_extend:DI + (match_operand:SI 2 "immediate_operand" "sK"))) + 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (sign_extend:DI (match_dup 1)) - (match_dup 2)) 0))] + (sign_extend:DI + (match_dup 2))) + 0))] "TARGET_68020 && (GET_CODE (operands[2]) != CONST_INT || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" |