if ((offset & 0xFFFFFF00) == 0) {
/* attr->am_offs += 0; */
} else if ((offset & 0xFFFF00FF) == 0) {
- ir_node *imm = create_Immediate(NULL, 0, offset >> 8);
+ ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 8);
set_irn_n(node, n_ia32_Test_right, imm);
attr->am_offs += 1;
} else if ((offset & 0xFF00FFFF) == 0) {
- ir_node *imm = create_Immediate(NULL, 0, offset >> 16);
+ ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 16);
set_irn_n(node, n_ia32_Test_right, imm);
attr->am_offs += 2;
} else if ((offset & 0x00FFFFFF) == 0) {
- ir_node *imm = create_Immediate(NULL, 0, offset >> 24);
+ ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 24);
set_irn_n(node, n_ia32_Test_right, imm);
attr->am_offs += 3;
} else {
const arch_register_t *reg;
ir_node *block;
dbg_info *dbgi;
- ir_node *produceval;
ir_node *xor;
- ir_node *noreg;
/* try to transform a mov 0, reg to xor reg reg */
if (attr->offset != 0 || attr->symconst != NULL)
assert(be_peephole_get_reg_value(reg) == NULL);
/* create xor(produceval, produceval) */
- block = get_nodes_block(node);
- dbgi = get_irn_dbg_info(node);
- produceval = new_bd_ia32_ProduceVal(dbgi, block);
- arch_set_irn_register(produceval, reg);
-
- noreg = ia32_new_NoReg_gp(cg);
- xor = new_bd_ia32_Xor(dbgi, block, noreg, noreg, new_NoMem(), produceval,
- produceval);
+ block = get_nodes_block(node);
+ dbgi = get_irn_dbg_info(node);
+ xor = new_bd_ia32_Xor0(dbgi, block);
arch_set_irn_register(xor, reg);
- sched_add_before(node, produceval);
sched_add_before(node, xor);
copy_mark(node, xor);
assert(is_ia32_Lea(node));
- /* we can only do this if are allowed to globber the flags */
+ /* we can only do this if it is allowed to clobber the flags */
if(be_peephole_get_value(CLASS_ia32_flags, REG_EFLAGS) != NULL)
return;