Commit f6711314 by Richard Sandiford Committed by Richard Sandiford

mips.md: In the mips16 li/neg splitter...

	* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
	the destination of the li as well as for the neg.

From-SVN: r84764
parent d5325238
2004-07-15 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
the destination of the li as well as for the neg.
2004-07-15 Frank Ch. Eigler <fche@redhat.com> 2004-07-15 Frank Ch. Eigler <fche@redhat.com>
g++/15861 g++/15861
......
...@@ -4748,13 +4748,13 @@ dsrl\t%3,%3,1\n\ ...@@ -4748,13 +4748,13 @@ dsrl\t%3,%3,1\n\
[(set (match_operand 0 "register_operand") [(set (match_operand 0 "register_operand")
(match_operand 1 "const_int_operand"))] (match_operand 1 "const_int_operand"))]
"TARGET_MIPS16 && reload_completed && INTVAL (operands[1]) < 0" "TARGET_MIPS16 && reload_completed && INTVAL (operands[1]) < 0"
[(set (match_dup 0) [(set (match_dup 2)
(match_dup 2)) (match_dup 3))
(set (match_dup 3) (set (match_dup 2)
(neg:SI (match_dup 3)))] (neg:SI (match_dup 2)))]
{ {
operands[2] = GEN_INT (-INTVAL (operands[1])); operands[2] = gen_lowpart (SImode, operands[0]);
operands[3] = gen_lowpart (SImode, operands[0]); operands[3] = GEN_INT (-INTVAL (operands[1]));
}) })
;; The HI and LO registers are not truly independent. If we move an mthi ;; The HI and LO registers are not truly independent. If we move an mthi
......
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