From: Christoph Mallon Date: Thu, 24 Feb 2011 14:30:15 +0000 (+0000) Subject: ia32_Lea cannot use immediates, set the offset instead. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=3e6cf04cda2053bc392e321e80ce06dac49e8b17;p=libfirm ia32_Lea cannot use immediates, set the offset instead. [r28453] --- diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 2d9ec49b9..dabe7e987 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -5367,7 +5367,8 @@ static ir_node *gen_inner_trampoline(ir_node *node) if (is_SymConst(callee)) { rel = new_bd_ia32_Const(dbgi, new_block, get_SymConst_entity(callee), 0, 0, -10); } else { - rel = new_bd_ia32_Lea(dbgi, new_block, be_transform_node(callee), ia32_create_Immediate(NULL, 0, -10)); + rel = new_bd_ia32_Lea(dbgi, new_block, be_transform_node(callee), noreg_GP); + add_ia32_am_offs_int(rel, -10); } rel = new_bd_ia32_Sub(dbgi, new_block, noreg_GP, noreg_GP, nomem, rel, trampoline);