From 4acdb1e0d4e5b62b5b6e5967f38c85e8ac3d4933 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Sat, 31 May 2008 06:19:55 +0000 Subject: [PATCH] no, we cannot skip all convs before vfst (but just float->float convs) [r19872] --- ir/be/ia32/ia32_transform.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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); -- 2.20.1