fixed ia32_emit_binop
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Wed, 5 Apr 2006 16:19:19 +0000 (16:19 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Wed, 5 Apr 2006 16:19:19 +0000 (16:19 +0000)
fixed copy insertion

ir/be/ia32/bearch_ia32.c
ir/be/ia32/ia32_emitter.c

index cf9dcf1..9633ca4 100644 (file)
@@ -506,7 +506,7 @@ static void ia32_finish_node(ir_node *irn, void *env) {
                block = get_nodes_block(irn);
 
                /* check all OUT requirements, if there is a should_be_same */
-               if (op_tp == ia32_Normal && ! is_ia32_Lea(irn)) {
+               if (op_tp == ia32_Normal && ! is_ia32_Lea(irn) && ! is_ia32_Conv_I2I(irn) && ! is_ia32_Conv_I2I8Bit(irn)) {
                        for (i = 0; i < n_res; i++) {
                                if (arch_register_req_is(&(reqs[i]->req), should_be_same)) {
                                        /* get in and out register */
index 70d59d3..3659534 100644 (file)
@@ -326,7 +326,7 @@ char *ia32_emit_binop(const ir_node *n, ia32_emit_env_t *env) {
                                snprintf(buf, SNPRINTF_BUF_LEN, "%s, %s", get_ia32_cnst(n), ia32_emit_am(n, env));
                        }
                        else {
-                               lc_esnprintf(ia32_get_arg_env(), buf, SNPRINTF_BUF_LEN, "%4S, %s", n, ia32_emit_am(n, env));
+                               lc_esnprintf(ia32_get_arg_env(), buf, SNPRINTF_BUF_LEN, "%1D, %s", n, ia32_emit_am(n, env));
                        }
                        break;
                case ia32_AddrModeD: