From 58ff42b3521597a81f72d8db166b683b56e61870 Mon Sep 17 00:00:00 2001 From: Torbjorn Granlund Date: Thu, 7 May 1992 20:51:59 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r934 --- gcc/config/m68k/m68k.md | 54 ++++++++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 4a901dddd37..017f47eb1a5 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -1270,7 +1270,7 @@ (define_insn "" [(set (match_operand:SI 0 "general_operand" "=do<>,d<") - (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "rn,m")))] + (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "r,m")))] "" "* { @@ -1299,7 +1299,7 @@ (define_insn "" [(set (match_operand:HI 0 "general_operand" "=do<>,d") - (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "dn,m")))] + (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "d,m")))] "" "* { @@ -1339,7 +1339,7 @@ (define_insn "" [(set (match_operand:SI 0 "general_operand" "=do<>,d") - (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "dn,m")))] + (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "d,m")))] "" "* { @@ -1393,7 +1393,7 @@ (define_insn "extendhisi2" [(set (match_operand:SI 0 "general_operand" "=*d,a") (sign_extend:SI - (match_operand:HI 1 "nonimmediate_operand" "0,rmn")))] + (match_operand:HI 1 "nonimmediate_operand" "0,rm")))] "" "* { @@ -2171,7 +2171,7 @@ [(set (match_operand:SI 0 "general_operand" "=a") (minus:SI (match_operand:SI 1 "general_operand" "0") (sign_extend:SI - (match_operand:HI 2 "nonimmediate_operand" "rmn"))))] + (match_operand:HI 2 "nonimmediate_operand" "rm"))))] "" "sub%.w %2,%0") @@ -2294,7 +2294,7 @@ (mult:SI (sign_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (sign_extend:SI - (match_operand:HI 2 "nonimmediate_operand" "dmn"))))] + (match_operand:HI 2 "nonimmediate_operand" "dm"))))] "" "* { @@ -2332,7 +2332,7 @@ (mult:SI (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "%0")) (zero_extend:SI - (match_operand:HI 2 "nonimmediate_operand" "dmn"))))] + (match_operand:HI 2 "nonimmediate_operand" "dm"))))] "" "* { @@ -2368,7 +2368,7 @@ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "")) (zero_extend:DI - (match_operand:SI 2 "general_operand" ""))) 1)) + (match_operand:SI 2 "nonimmediate_operand" ""))) 1)) (set (subreg:SI (match_dup 0) 0) (subreg:SI (mult:DI (zero_extend:DI @@ -2384,7 +2384,7 @@ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%0")) (zero_extend:DI - (match_operand:SI 2 "general_operand" "dmsK"))) 1)) + (match_operand:SI 2 "nonimmediate_operand" "dm"))) 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (zero_extend:DI @@ -2394,6 +2394,22 @@ "TARGET_68020" "mulu%.l %2,%3:%0") +(define_insn "" + [(set (match_operand:SI 0 "register_operand" "=d") + (subreg:SI + (mult:DI (zero_extend:DI + (match_operand:SI 1 "register_operand" "%0")) + (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))] + "TARGET_68020 + && (GET_CODE (operands[2]) != CONST_INT + || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" + "mulu%.l %2,%3:%0") + (define_expand "mulsidi3" [(parallel [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 1) @@ -2401,7 +2417,7 @@ (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "")) (sign_extend:DI - (match_operand:SI 2 "general_operand" ""))) 1)) + (match_operand:SI 2 "nonimmediate_operand" ""))) 1)) (set (subreg:SI (match_dup 0) 0) (subreg:SI (mult:DI (sign_extend:DI @@ -2417,7 +2433,7 @@ (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "%0")) (sign_extend:DI - (match_operand:SI 2 "general_operand" "dmKs"))) 1)) + (match_operand:SI 2 "nonimmediate_operand" "dm"))) 1)) (set (match_operand:SI 3 "register_operand" "=d") (subreg:SI (mult:DI (sign_extend:DI @@ -2427,6 +2443,22 @@ "TARGET_68020" "muls%.l %2,%3:%0") +(define_insn "" + [(set (match_operand:SI 0 "register_operand" "=d") + (subreg:SI + (mult:DI (sign_extend:DI + (match_operand:SI 1 "register_operand" "%0")) + (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))] + "TARGET_68020 + && (GET_CODE (operands[2]) != CONST_INT + || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))" + "muls%.l %2,%3:%0") + (define_expand "muldf3" [(set (match_operand:DF 0 "general_operand" "") (mult:DF (match_operand:DF 1 "general_operand" "") -- 2.30.2