From ed2a1ba5119fccd61657200395c3dc557e965159 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 19 Sep 2007 20:05:03 +0000 Subject: [PATCH] Implement x ^ 1...1 -> ~1 (This worked only for mode_b so far). [r15886] --- ir/ir/iropt.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ir/ir/iropt.c b/ir/ir/iropt.c index 3cb3c17f9..25b3cdfd7 100644 --- a/ir/ir/iropt.c +++ b/ir/ir/iropt.c @@ -3053,11 +3053,8 @@ static ir_node *transform_node_Eor(ir_node *n) { mode_b, get_negated_pnc(get_Proj_proj(a), mode)); DBG_OPT_ALGSIM0(oldn, n, FS_OPT_EOR_TO_NOT_BOOL); - } else if (mode == mode_b && is_Const(b) && is_Const_one(b)) { - /* The Eor is a Not. Replace it by a Not. */ - /* ????!!!Extend to bitfield 1111111. */ - n = new_r_Not(current_ir_graph, get_irn_n(n, -1), a, mode_b); - + } else if (is_Const(b) && is_Const_all_one(b)) { /* x ^ 1...1 -> ~1 */ + n = new_r_Not(current_ir_graph, get_nodes_block(n), a, mode); DBG_OPT_ALGSIM0(oldn, n, FS_OPT_EOR_TO_NOT); } else { n = transform_bitwise_distributive(n, transform_node_Eor); -- 2.20.1