Commit 82174172 authored by Michael Beck's avatar Michael Beck
Browse files

BugFix: test can only be created for a&b == 0 or a&b != 0

parent 74425e26
......@@ -1284,9 +1284,11 @@ static ir_node *gen_Cond(ia32_transform_env_t *env) {
expr = get_expr_op(cmp_a, cmp_b);
if (cnst && expr) {
if (mode_is_int(get_irn_mode(expr))) {
pn_Cmp pnc = get_Proj_proj(sel);
if ((pnc == pn_Cmp_Eq || pnc == pn_Cmp_Lg) && mode_is_int(get_irn_mode(expr))) {
if (classify_tarval(get_ia32_Immop_tarval(cnst)) == TV_CLASSIFY_NULL) {
/* a Cmp A, 0 */
/* a Cmp A =/!= 0 */
ir_node *op1 = expr;
ir_node *op2 = expr;
ir_node *and = skip_Proj(expr);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment