RFA: Fix PR middle-end/40154
diff mbox

Message ID 20111209091435.ht4pm0myo44kc8cw-nzlynne@webmail.spamcop.net
State New
Headers show

Commit Message

Joern Rennecke Dec. 9, 2011, 2:14 p.m. UTC
Quoting Richard Henderson <rth@redhat.com>:

>> +							 GEN_INT
>> +							   (trunc_int_for_mode
>
> While you're at it, or as a followup, this is combination is gen_int_mode.
> I mis-read the patch the first time and thought you'd done this, but it's
> a pre-existing condition.

I've checked in the attached as a follow-up patch.
2011-12-09  Joern Rennecke  <joern.rennecke@embecosm.com>

	* dse.c (get_stored_val, get_call_args): Use gen_int_mode.
	* expmed.c (expand_divmod): Likewise.
	* combine.c (simplify_if_then_else): Likewise.

Patch
diff mbox

Index: dse.c
===================================================================
--- dse.c	(revision 182075)
+++ dse.c	(working copy)
@@ -1950,7 +1950,7 @@  get_stored_val (store_info_t store_info,
 	      c |= (c << shift);
 	      shift <<= 1;
 	    }
-	  read_reg = GEN_INT (trunc_int_for_mode (c, store_mode));
+	  read_reg = gen_int_mode (c, store_mode);
 	  read_reg = extract_low_bits (read_mode, store_mode, read_reg);
 	}
     }
@@ -2459,7 +2459,7 @@  get_call_args (rtx call_insn, tree fn, r
 	{
 	  if (!tmp || !CONST_INT_P (tmp))
 	    return false;
-	  tmp = GEN_INT (trunc_int_for_mode (INTVAL (tmp), mode));
+	  tmp = gen_int_mode (INTVAL (tmp), mode);
 	}
       if (tmp)
 	args[idx] = tmp;
Index: expmed.c
===================================================================
--- expmed.c	(revision 182162)
+++ expmed.c	(working copy)
@@ -4216,10 +4216,9 @@  expand_divmod (int rem_flag, enum tree_c
 					<< (HOST_BITS_PER_WIDE_INT - 1)))
 			  set_dst_reg_note (insn, REG_EQUAL,
 					    gen_rtx_DIV (compute_mode, op0,
-							 GEN_INT
-							   (trunc_int_for_mode
-							     (abs_d,
-							      compute_mode))),
+							 gen_int_mode
+							   (abs_d,
+							    compute_mode)),
 					    quotient);
 
 			quotient = expand_unop (compute_mode, neg_optab,
Index: combine.c
===================================================================
--- combine.c	(revision 182075)
+++ combine.c	(working copy)
@@ -6010,7 +6010,7 @@  simplify_if_then_else (rtx x)
 	  && exact_log2 (nzb = nonzero_bits (from, GET_MODE (from))) >= 0)
 	{
 	  false_code = EQ;
-	  false_val = GEN_INT (trunc_int_for_mode (nzb, GET_MODE (from)));
+	  false_val = gen_int_mode (nzb, GET_MODE (from));
 	}
       else if (true_code == EQ && true_val == const0_rtx
 	       && (num_sign_bit_copies (from, GET_MODE (from))