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

openSUSE Build Service is sponsored by