aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2006-04-26 14:33:49 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2006-04-26 10:33:49 -0400
commit7b282ff9a0f32ed6d8ebd86f98cc784c5df13a5d (patch)
tree03e551a81fdd60fc093e742fda09f8226ceab35f /gcc/combine.c
parent444704336a95b02933a3bdf50c51ae556d2dd274 (diff)
downloadgcc-7b282ff9a0f32ed6d8ebd86f98cc784c5df13a5d.zip
gcc-7b282ff9a0f32ed6d8ebd86f98cc784c5df13a5d.tar.gz
gcc-7b282ff9a0f32ed6d8ebd86f98cc784c5df13a5d.tar.bz2
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
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 2ff106d..ed9c497 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -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;