set_Tuple_pred(call, pn_Call_M_regular, get_irg_no_mem(irg));
set_Tuple_pred(call, pn_Call_X_except, get_irg_bad(irg));
set_Tuple_pred(call, pn_Call_T_result, res);
- set_Tuple_pred(call, pn_Call_M_except, get_irg_bad(irg));
+ set_Tuple_pred(call, pn_Call_M_except, get_irg_no_mem(irg));
set_Tuple_pred(call, pn_Call_P_value_res_base, get_irg_bad(irg));
}
/* l_res = SHL a_l, cnt */
h_res = new_rd_ia32_l_Shl(dbg, irg, block, a_l, cnt, h_res_mode);
+ add_irn_dep(h_res, l_res);
resolve_call(call, l_res, h_res, irg, block);
/* h_res = SHR a_h, cnt */
h_res = new_rd_ia32_l_Shr(dbg, irg, block, a_h, cnt, h_res_mode);
+ add_irn_dep(h_res, l_res);
resolve_call(call, l_res, h_res, irg, block);
/* h_res = SAR a_h, cnt */
h_res = new_rd_ia32_l_Shrs(dbg, irg, block, a_h, cnt, h_res_mode);
+ add_irn_dep(h_res, l_res);
resolve_call(call, l_res, h_res, irg, block);
/* too bad: we need 0 in a register here */
cnst = new_Const_long(h_res_mode, 0);
h_res = new_rd_ia32_l_SubC(dbg, irg, block, cnst, a_h, h_res_mode);
+ add_irn_dep(h_res, l_res);
resolve_call(call, l_res, h_res, irg, block);
sub_h = new_rd_ia32_l_Eor(dbg, irg, block, a_h, sign, h_res_mode);
l_res = new_rd_ia32_l_Sub(dbg, irg, block, sub_l, sign, l_res_mode);
h_res = new_rd_ia32_l_SubC(dbg, irg, block, sub_h, sign, l_res_mode);
+ add_irn_dep(h_res, l_res);
resolve_call(call, l_res, h_res, irg, block);