[PATCH, committed] combine gen_int_mode PR 27282

David Edelsohn dje@watson.ibm.com
Wed Apr 26 14:36:00 GMT 2006


	This patch performs a little cleanup and fixes PR 27282 by
changing a GEN_INT to gen_int_mode so that a correctly sign-extended
CONST_INT is created.

Bootstrapped and regrssion tested on powerpc-ibm-aix5.2.0.0.

Approved on IRC by Roger Sayle.

David


2006-04-26  David Edelsohn  <edelsohn@gnu.org>
	    Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/27282
	* combine.c (simplify_and_const_int_1): Use gen_int_mode.
	(simplify_and_const_int): Same.

Index: combine.c
===================================================================
--- combine.c	(revision 113239)
+++ combine.c	(working copy)
@@ -8190,8 +8190,7 @@ simplify_and_const_int_1 (enum machine_m
     return NULL_RTX;
 
   /* Otherwise, return an AND.  */
-  constop = trunc_int_for_mode (constop, mode);
-  return simplify_gen_binary (AND, mode, varop, GEN_INT (constop));
+  return simplify_gen_binary (AND, mode, varop, gen_int_mode (constop, mode));
 }
 
 
@@ -8210,7 +8209,8 @@ simplify_and_const_int (rtx x, enum mach
     return tem;
 
   if (!x)
-    x = simplify_gen_binary (AND, GET_MODE (varop), varop, GEN_INT (constop));
+    x = simplify_gen_binary (AND, GET_MODE (varop), varop,
+			     gen_int_mode (constop, mode));
   if (GET_MODE (x) != mode)
     x = gen_lowpart (mode, x);
   return x;



More information about the Gcc-patches mailing list