From 497531a495c22508a8d5766000b0fcd3d840e77c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Mon, 3 Jul 2006 08:53:49 +0000 Subject: [PATCH] set AM support for MulS correct (None or Source) --- ir/be/ia32/ia32_transform.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 190335392..e98af24cf 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -2432,7 +2432,13 @@ static ir_node *gen_ia32_l_MulS(ia32_transform_env_t *env) { /* and then skip the result Proj, because all needed Projs are already there. */ ir_node *new_op = gen_binop(env, get_binop_left(env->irn), get_binop_right(env->irn), new_rd_ia32_MulS); - return get_Proj_pred(new_op); + ir_node *muls = get_Proj_pred(new_op); + + /* MulS cannot have AM for destination */ + if (get_ia32_am_support(muls) != ia32_am_None) + set_ia32_am_support(muls, ia32_am_Source); + + return muls; } GEN_LOWERED_SHIFT_OP(Shl) -- 2.20.1