case LEA:
l = build_graph(env, inst->in[0]);
r = build_graph(env, inst->in[1]);
case LEA:
l = build_graph(env, inst->in[0]);
r = build_graph(env, inst->in[1]);
r = new_rd_Shl(env->dbg, current_ir_graph, env->blk, r, c, env->mode);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case SHIFT:
l = build_graph(env, inst->in[0]);
r = new_rd_Shl(env->dbg, current_ir_graph, env->blk, r, c, env->mode);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case SHIFT:
l = build_graph(env, inst->in[0]);
return inst->irn = new_rd_Shl(env->dbg, current_ir_graph, env->blk, l, c, env->mode);
case SUB:
l = build_graph(env, inst->in[0]);
return inst->irn = new_rd_Shl(env->dbg, current_ir_graph, env->blk, l, c, env->mode);
case SUB:
l = build_graph(env, inst->in[0]);
r = build_graph(env, inst->in[1]);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case ZERO:
r = build_graph(env, inst->in[1]);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case ZERO:
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
/* do we need an Add or Sub */
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
/* do we need an Add or Sub */
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
if (mag.need_add) {
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
if (mag.need_add) {
/* use the GM scheme */
t = new_rd_Sub(dbg, current_ir_graph, block, n, q, mode);
/* use the GM scheme */
t = new_rd_Sub(dbg, current_ir_graph, block, n, q, mode);
t = new_rd_Shr(dbg, current_ir_graph, block, t, c, mode);
t = new_rd_Add(dbg, current_ir_graph, block, t, q, mode);
t = new_rd_Shr(dbg, current_ir_graph, block, t, c, mode);
t = new_rd_Add(dbg, current_ir_graph, block, t, q, mode);
res = new_rd_Sub(dbg, current_ir_graph, block, k_node, res, mode);
}
} else { /* unsigned case */
res = new_rd_Sub(dbg, current_ir_graph, block, k_node, res, mode);
}
} else { /* unsigned case */
*div = new_rd_Sub(dbg, current_ir_graph, block, k_node, *div, mode);
}
*div = new_rd_Sub(dbg, current_ir_graph, block, k_node, *div, mode);
}