File 0003-config-m32r-m32r.c-gen_compare-Fix-reg-smallconst-eq.patch of Package gcc3
From fa09774b78d594451f887d5b67c508e82bf5a508 Mon Sep 17 00:00:00 2001
From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 25 Apr 2006 14:08:35 +0000
Subject: [PATCH 2/3] * config/m32r/m32r.c (gen_compare): Fix reg/smallconst
equal code, the patch for which was accidentally omitted from the previous
commit.
git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/gcc-3_4-branch@113249 138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/ChangeLog | 6 ++++++
gcc/config/m32r/m32r.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 143f9b6..d17872f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-25 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.c (gen_compare): Fix reg/smallconst equal code,
+ the patch for which was accidentally omitted from the previous
+ commit.
+
2006-04-04 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
PR target/26775
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index abeea18..ab0b303 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1150,11 +1150,11 @@ gen_compare (enum rtx_code code, rtx x, rtx y, int need_compare)
/* Reg/smallconst equal comparison. */
if (compare_code == EQ
&& GET_CODE (y) == CONST_INT
- && CMP_INT16_P (INTVAL (y)))
+ && UINT16_P (INTVAL (y)))
{
rtx tmp = gen_reg_rtx (SImode);
- emit_insn (gen_addsi3 (tmp, x, GEN_INT (-INTVAL (y))));
+ emit_insn (gen_xorsi3 (tmp, x, GEN_INT (INTVAL (y))));
return gen_rtx (code, CCmode, tmp, const0_rtx);
}
--
1.8.4.5