From 10ff083c01d6c9f51ac48cd902add0f405bfd456 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Sat, 29 Sep 2007 14:34:13 +0000 Subject: [PATCH] Remove the parameter produces_result from ia32_emit_binop(). It is only used for an assert. [r15999] --- ir/be/ia32/ia32_emitter.c | 4 +--- ir/be/ia32/ia32_emitter.h | 2 +- ir/be/ia32/ia32_spec.pl | 13 ++++++------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/ir/be/ia32/ia32_emitter.c b/ir/be/ia32/ia32_emitter.c index 01abbdd8c..a0924e87c 100644 --- a/ir/be/ia32/ia32_emitter.c +++ b/ir/be/ia32/ia32_emitter.c @@ -384,7 +384,7 @@ void ia32_emit_source_register_or_immediate(const ir_node *node, int pos) /** * Emits registers and/or address mode of a binary operation. */ -void ia32_emit_binop(const ir_node *node, int produces_result) { +void ia32_emit_binop(const ir_node *node) { const ir_node *right_op = get_irn_n(node, n_ia32_binary_right); const ir_mode *mode = get_ia32_ls_mode(node); const arch_register_t *reg_left; @@ -407,8 +407,6 @@ void ia32_emit_binop(const ir_node *node, int produces_result) { break; case ia32_AddrModeS: if(is_ia32_Immediate(right_op)) { - assert(!produces_result && "Source AM with Const must not produce result"); - emit_ia32_Immediate(right_op); be_emit_cstring(", "); ia32_emit_am(node); diff --git a/ir/be/ia32/ia32_emitter.h b/ir/be/ia32/ia32_emitter.h index 813f684d1..c28d6696a 100644 --- a/ir/be/ia32/ia32_emitter.h +++ b/ir/be/ia32/ia32_emitter.h @@ -44,7 +44,7 @@ void ia32_emit_xmm_mode_suffix(const ir_node *node); void ia32_emit_xmm_mode_suffix_s(const ir_node *node); void ia32_emit_extend_suffix(const ir_mode *mode); void ia32_emit_cmp_suffix_node(const ir_node *node, int flags_pos); -void ia32_emit_binop(const ir_node *node, int produces_result); +void ia32_emit_binop(const ir_node *node); void ia32_emit_am_or_dest_register(const ir_node *node, int pos); void ia32_emit_unop(const ir_node *node, int pos); void ia32_emit_am(const ir_node *node); diff --git a/ir/be/ia32/ia32_spec.pl b/ir/be/ia32/ia32_spec.pl index a56c8f072..33ccaebe5 100644 --- a/ir/be/ia32/ia32_spec.pl +++ b/ir/be/ia32/ia32_spec.pl @@ -232,8 +232,7 @@ $arch = "ia32"; unop5 => "${arch}_emit_unop(node, 5);", DAM0 => "${arch}_emit_am_or_dest_register(node, 0);", DAM1 => "${arch}_emit_am_or_dest_register(node, 1);", - binop => "${arch}_emit_binop(node, 1);", - binop_nores => "${arch}_emit_binop(node, 0);", + binop => "${arch}_emit_binop(node);", x87_binop => "${arch}_emit_x87_binop(node);", CMP0 => "${arch}_emit_cmp_suffix_node(node, 0);", ); @@ -936,7 +935,7 @@ Cmp => { ins => [ "base", "index", "mem", "left", "right" ], outs => [ "eflags" ], am => "source,binary", - emit => '. cmp%M %binop_nores', + emit => '. cmp%M %binop', attr => "int flipped, int cmp_unsigned", init_attr => "attr->data.cmp_flipped = flipped;\n". "\tattr->data.cmp_unsigned = cmp_unsigned;\n", @@ -952,7 +951,7 @@ Cmp8Bit => { ins => [ "base", "index", "mem", "left", "right" ], outs => [ "eflags" ], am => "source,binary", - emit => '. cmpb %binop_nores', + emit => '. cmpb %binop', attr => "int flipped, int cmp_unsigned", init_attr => "attr->data.cmp_flipped = flipped;\n". "\tattr->data.cmp_unsigned = cmp_unsigned;\n", @@ -968,7 +967,7 @@ Test => { ins => [ "base", "index", "mem", "left", "right" ], outs => [ "eflags" ], am => "source,binary", - emit => '. test%M %binop_nores', + emit => '. test%M %binop', attr => "int flipped, int cmp_unsigned", init_attr => "attr->data.cmp_flipped = flipped;\n". "\tattr->data.cmp_unsigned = cmp_unsigned;\n", @@ -984,7 +983,7 @@ Test8Bit => { ins => [ "base", "index", "mem", "left", "right" ], outs => [ "eflags" ], am => "source,binary", - emit => '. testb %binop_nores', + emit => '. testb %binop', attr => "int flipped, int cmp_unsigned", init_attr => "attr->data.cmp_flipped = flipped;\n". "\tattr->data.cmp_unsigned = cmp_unsigned;\n", @@ -1443,7 +1442,7 @@ Ucomi => { am => "source,binary", attr => "int flipped", init_attr => "attr->data.cmp_flipped = flipped;", - emit => ' .ucomi%XXM %binop_nores', + emit => ' .ucomi%XXM %binop', latency => 3, units => [ "SSE" ], mode => $mode_flags, -- 2.20.1