Commit 52a866ce by Richard Stallman

(mulsidi3, umulsidi3): Add missing sign_extend

and zero_extend so all operands have them.

From-SVN: r3817
parent e7c2ea2d
...@@ -2368,13 +2368,15 @@ ...@@ -2368,13 +2368,15 @@
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_operand:SI 1 "register_operand" "")) (match_operand:SI 1 "register_operand" ""))
(zero_extend:DI (zero_extend:DI
(match_operand:SI 2 "nonimmediate_operand" ""))) 1)) (match_operand:SI 2 "nonimmediate_operand" "")))
1))
(set (subreg:SI (match_dup 0) 0) (set (subreg:SI (match_dup 0) 0)
(subreg:SI (subreg:SI
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_dup 1)) (match_dup 1))
(zero_extend:DI (zero_extend:DI
(match_dup 2))) 0))])] (match_dup 2)))
0))])]
"TARGET_68020" "TARGET_68020"
"") "")
...@@ -2384,13 +2386,15 @@ ...@@ -2384,13 +2386,15 @@
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_operand:SI 1 "register_operand" "%0")) (match_operand:SI 1 "register_operand" "%0"))
(zero_extend:DI (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") (set (match_operand:SI 3 "register_operand" "=d")
(subreg:SI (subreg:SI
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_dup 1)) (match_dup 1))
(zero_extend:DI (zero_extend:DI
(match_dup 2))) 0))] (match_dup 2)))
0))]
"TARGET_68020" "TARGET_68020"
"mulu%.l %2,%3:%0") "mulu%.l %2,%3:%0")
...@@ -2399,12 +2403,16 @@ ...@@ -2399,12 +2403,16 @@
(subreg:SI (subreg:SI
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_operand:SI 1 "register_operand" "%0")) (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") (set (match_operand:SI 3 "register_operand" "=d")
(subreg:SI (subreg:SI
(mult:DI (zero_extend:DI (mult:DI (zero_extend:DI
(match_dup 1)) (match_dup 1))
(match_dup 2)) 0))] (zero_extend:DI
(match_dup 2)))
0))]
"TARGET_68020 "TARGET_68020
&& (GET_CODE (operands[2]) != CONST_INT && (GET_CODE (operands[2]) != CONST_INT
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))"
...@@ -2417,13 +2425,15 @@ ...@@ -2417,13 +2425,15 @@
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_operand:SI 1 "register_operand" "")) (match_operand:SI 1 "register_operand" ""))
(sign_extend:DI (sign_extend:DI
(match_operand:SI 2 "nonimmediate_operand" ""))) 1)) (match_operand:SI 2 "nonimmediate_operand" "")))
1))
(set (subreg:SI (match_dup 0) 0) (set (subreg:SI (match_dup 0) 0)
(subreg:SI (subreg:SI
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_dup 1)) (match_dup 1))
(sign_extend:DI (sign_extend:DI
(match_dup 2))) 0))])] (match_dup 2)))
0))])]
"TARGET_68020" "TARGET_68020"
"") "")
...@@ -2433,13 +2443,15 @@ ...@@ -2433,13 +2443,15 @@
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_operand:SI 1 "register_operand" "%0")) (match_operand:SI 1 "register_operand" "%0"))
(sign_extend:DI (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") (set (match_operand:SI 3 "register_operand" "=d")
(subreg:SI (subreg:SI
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_dup 1)) (match_dup 1))
(sign_extend:DI (sign_extend:DI
(match_dup 2))) 0))] (match_dup 2)))
0))]
"TARGET_68020" "TARGET_68020"
"muls%.l %2,%3:%0") "muls%.l %2,%3:%0")
...@@ -2448,12 +2460,16 @@ ...@@ -2448,12 +2460,16 @@
(subreg:SI (subreg:SI
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_operand:SI 1 "register_operand" "%0")) (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") (set (match_operand:SI 3 "register_operand" "=d")
(subreg:SI (subreg:SI
(mult:DI (sign_extend:DI (mult:DI (sign_extend:DI
(match_dup 1)) (match_dup 1))
(match_dup 2)) 0))] (sign_extend:DI
(match_dup 2)))
0))]
"TARGET_68020 "TARGET_68020
&& (GET_CODE (operands[2]) != CONST_INT && (GET_CODE (operands[2]) != CONST_INT
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment