From 3e6cf04cda2053bc392e321e80ce06dac49e8b17 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Thu, 24 Feb 2011 14:30:15 +0000 Subject: [PATCH] ia32_Lea cannot use immediates, set the offset instead. [r28453] --- ir/be/ia32/ia32_transform.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.20.1