Commit 15bb534e by DJ Delorie Committed by DJ Delorie

v850.md (mulhisi3): Expand the const_int case separately to avoid trying to sign extend the const.

* config/v850/v850.md (mulhisi3): Expand the const_int case
separately to avoid trying to sign extend the const.

From-SVN: r73256
parent 104da10b
2003-11-04 DJ Delorie <dj@redhat.com>
* config/v850/v850.md (mulhisi3): Expand the const_int case
separately to avoid trying to sign extend the const.
2003-11-04 Richard Sandiford <rsandifo@redhat.com> 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
* emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
......
...@@ -368,7 +368,11 @@ ...@@ -368,7 +368,11 @@
(sign_extend:SI (match_operand:HI 1 "register_operand" "")) (sign_extend:SI (match_operand:HI 1 "register_operand" ""))
(sign_extend:SI (match_operand:HI 2 "nonmemory_operand" ""))))] (sign_extend:SI (match_operand:HI 2 "nonmemory_operand" ""))))]
"" ""
"") "if (GET_CODE (operands[2]) == CONST_INT)
{
emit_insn (gen_mulhisi3_internal2 (operands[0], operands[1], operands[2]));
DONE;
}")
(define_insn "*mulhisi3_internal1" (define_insn "*mulhisi3_internal1"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -381,13 +385,11 @@ ...@@ -381,13 +385,11 @@
(set_attr "cc" "none_0hit") (set_attr "cc" "none_0hit")
(set_attr "type" "mult")]) (set_attr "type" "mult")])
;; ??? Sign extending constants isn't valid. Fix? (define_insn "mulhisi3_internal2"
(define_insn "*mulhisi3_internal2"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
(mult:SI (mult:SI
(sign_extend:SI (match_operand:HI 1 "register_operand" "%0,r")) (sign_extend:SI (match_operand:HI 1 "register_operand" "%0,r"))
(sign_extend:SI (match_operand 2 "const_int_operand" "J,K"))))] (match_operand:HI 2 "const_int_operand" "J,K")))]
"" ""
"@ "@
mulh %2,%0 mulh %2,%0
......
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