new_binop_reg_func new_reg,
new_binop_imm_func new_imm,
new_binop_reg_func new_not_reg,
new_binop_reg_func new_reg,
new_binop_imm_func new_imm,
new_binop_reg_func new_not_reg,
{
ir_node *op1 = get_binop_left(node);
ir_node *op2 = get_binop_right(node);
if (is_Not(op1)) {
return gen_helper_binop_args(node, op2, get_Not_op(op1),
{
ir_node *op1 = get_binop_left(node);
ir_node *op2 = get_binop_right(node);
if (is_Not(op1)) {
return gen_helper_binop_args(node, op2, get_Not_op(op1),
new_not_reg, new_not_imm);
}
if (is_Not(op2)) {
return gen_helper_binop_args(node, op1, get_Not_op(op2),
new_not_reg, new_not_imm);
}
if (is_Not(op2)) {
return gen_helper_binop_args(node, op1, get_Not_op(op2),
new_not_reg, new_not_imm);
}
return gen_helper_binop_args(node, op1, op2,
new_not_reg, new_not_imm);
}
return gen_helper_binop_args(node, op1, op2,
new_bd_sparc_AndCCZero_reg,
new_bd_sparc_AndCCZero_imm,
new_bd_sparc_AndNCCZero_reg,
new_bd_sparc_AndCCZero_reg,
new_bd_sparc_AndCCZero_imm,
new_bd_sparc_AndNCCZero_reg,
} else if (is_Or(op1)) {
return gen_helper_bitop(op1,
new_bd_sparc_OrCCZero_reg,
new_bd_sparc_OrCCZero_imm,
new_bd_sparc_OrNCCZero_reg,
} else if (is_Or(op1)) {
return gen_helper_bitop(op1,
new_bd_sparc_OrCCZero_reg,
new_bd_sparc_OrCCZero_imm,
new_bd_sparc_OrNCCZero_reg,
} else if (is_Eor(op1)) {
return gen_helper_bitop(op1,
new_bd_sparc_XorCCZero_reg,
new_bd_sparc_XorCCZero_imm,
new_bd_sparc_XNorCCZero_reg,
} else if (is_Eor(op1)) {
return gen_helper_bitop(op1,
new_bd_sparc_XorCCZero_reg,
new_bd_sparc_XorCCZero_imm,
new_bd_sparc_XNorCCZero_reg,