From: Matthias Braun Date: Sat, 31 May 2008 06:19:55 +0000 (+0000) Subject: no, we cannot skip all convs before vfst (but just float->float convs) X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=4acdb1e0d4e5b62b5b6e5967f38c85e8ac3d4933;p=libfirm no, we cannot skip all convs before vfst (but just float->float convs) [r19872] --- diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 5a2b9173b..8d6fec0ad 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -2523,8 +2523,9 @@ static ir_node *gen_normal_Store(ir_node *node) new_node = new_rd_ia32_xStore(dbgi, irg, new_block, addr.base, addr.index, addr.mem, new_val); } else { - /* We can skip ALL Convs (and strict-Convs) before stores. */ - while (is_Conv(val)) { + /* We can skip ALL float Convs (and strict-Convs) before stores. */ + while (is_Conv(val) && + mode_is_float(get_irn_mode(get_Conv_op(val)))) { val = get_Conv_op(val); } new_val = be_transform_node(val);