re PR target/27282 (ICE in final_scan_insn, at final.c:2448 - could not split insn)

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.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r113275
This commit is contained in:
David Edelsohn 2006-04-26 14:33:49 +00:00 committed by David Edelsohn
parent 444704336a
commit 7b282ff9a0
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,10 @@
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.
2006-04-26 Aldy Hernandez <aldyh@redhat.com>
* tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.

View File

@ -8190,8 +8190,7 @@ simplify_and_const_int_1 (enum machine_mode mode, rtx varop,
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 machine_mode mode, rtx varop,
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;