Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro> --- arch/x86/insn-selector.brg | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg index ac34ec0..0ded186 100644 --- a/arch/x86/insn-selector.brg +++ b/arch/x86/insn-selector.brg @@ -1277,6 +1277,7 @@ arg: EXPR_NO_ARGS arg: EXPR_ARG(EXPR_VALUE) 1 { + #ifdef CONFIG_X86_32 struct expression *expr, *arg_expr; unsigned long long imm; @@ -1289,6 +1290,19 @@ arg: EXPR_ARG(EXPR_VALUE) 1 } select_insn(s, tree, imm_insn(INSN_PUSH_IMM, imm & ~0UL)); + + #else + + struct expression *expr, *arg_expr; + unsigned long long imm; + + expr = to_expr(tree); + arg_expr = to_expr(expr->arg_expression); + imm = arg_expr->value; + + select_insn(s, tree, imm_reg_insn(INSN_MOV_IMM_REG, + imm, get_fixed_var(s->b_parent, REG_RDI))); + #endif } arg: EXPR_ARG(EXPR_FVALUE) 1 @@ -1305,6 +1319,7 @@ arg: EXPR_ARG(EXPR_FVALUE) 1 arg: EXPR_ARG(reg) { + #ifdef CONFIG_X86_32 struct var_info *src; struct expression *expr, *arg_expr; @@ -1320,6 +1335,20 @@ arg: EXPR_ARG(reg) select_insn(s, tree, reg_insn(INSN_PUSH_REG, src)); state->reg1 = src; + + #else + + struct var_info *src; + struct expression *expr, *arg_expr; + + expr = to_expr(tree); + arg_expr = to_expr(expr->arg_expression); + + src = state->left->reg1; + select_insn(s, tree, reg_reg_insn(INSN_MOV_REG_REG, src, get_fixed_var(s->b_parent, REG_RDI))); + + state->reg1 = src; + #endif } arg: EXPR_ARGS_LIST(arg, arg) -- 1.6.0.6 ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel