diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0480a22c92762c11810e29b630dfb52615851e58..c549b288208543083ce6a1499bb2fc74fb330f9e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-14  Eric Christopher  <echristo@redhat.com>
+
+	* config/mips/mips.c (mips_canonicalize_comparison): Cast
+	argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
+
 2005-07-14  Eric Christopher  <echristo@redhat.com>
 
 	* config/s390/t-tpf (SHLIB_MAPFILES): Remove.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 0dee266559d63843fca911d169e94566602e6ad6..c316ef1c30c1f33072260ad79ac2e5bf751c4979 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -2895,7 +2895,7 @@ mips_canonicalize_comparison (enum rtx_code *code, rtx *cmp1,
     return false;
   
   original = INTVAL (*cmp1);
-  plus_one = trunc_int_for_mode (original + 1, mode);
+  plus_one = trunc_int_for_mode ((unsigned HOST_WIDE_INT) original + 1, mode);
   
   switch (*code)
     {