From f6711314fbb9d2d94469aafd6ae436675767afff Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 15 Jul 2004 17:59:11 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.md | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8d4a911dcbd..cd45d8ae906 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-15 Richard Sandiford + + * 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 g++/15861 diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index fa096d33357..79d90609738 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -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 -- 2.30.2