This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, committed] combine gen_int_mode PR 27282


	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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]