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>
g++/15861
......
......@@ -4748,13 +4748,13 @@ dsrl\t%3,%3,1\n\
[(set (match_operand 0 "register_operand")
(match_operand 1 "const_int_operand"))]
"TARGET_MIPS16 && reload_completed && INTVAL (operands[1]) < 0"
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 3)
(neg:SI (match_dup 3)))]
[(set (match_dup 2)
(match_dup 3))
(set (match_dup 2)
(neg:SI (match_dup 2)))]
{
operands[2] = GEN_INT (-INTVAL (operands[1]));
operands[3] = gen_lowpart (SImode, operands[0]);
operands[2] = 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
......
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