fix bad modes for some Float2Int convs
authorMatthias Braun <matze@braunis.de>
Mon, 25 Sep 2006 12:43:14 +0000 (12:43 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 25 Sep 2006 12:43:14 +0000 (12:43 +0000)
ir/be/ia32/ia32_transform.c

index 9b96e57..17493a4 100644 (file)
@@ -2072,7 +2072,7 @@ static ir_node *gen_Conv(ia32_transform_env_t *env) {
                        if (tgt_bits < 32) {
                                SET_IA32_ORIG_NODE(new_op, ia32_get_old_node_name(env->cg, env->irn));
                                set_ia32_am_support(new_op, ia32_am_Source);
-                               set_ia32_tgt_mode(new_op, tgt_mode);
+                               set_ia32_tgt_mode(new_op, mode_Is);
                                set_ia32_src_mode(new_op, src_mode);
 
                                proj = new_rd_Proj(dbg, irg, block, new_op, mode_Is, pn_ia32_Conv_FP2I_res);
@@ -2085,6 +2085,7 @@ static ir_node *gen_Conv(ia32_transform_env_t *env) {
                                        new_op = new_rd_ia32_Conv_I2I(dbg, irg, block, noreg, noreg, proj, nomem);
                                        pn     = pn_ia32_Conv_I2I_res;
                                }
+                               src_mode = mode_Is;
                        }
                }
        }