ia32: remove pointless downconv skips in gen_Add
authorMatthias Braun <matthias.braun@kit.edu>
Tue, 17 Apr 2012 16:26:48 +0000 (18:26 +0200)
committerMatthias Braun <matthias.braun@kit.edu>
Tue, 17 Apr 2012 16:26:48 +0000 (18:26 +0200)
this fixes a bug, because match_arguments determines the operations
mode by looking at the passed operands, so they must still have the
original mode and not the mode after a skip_downconv.

ir/be/ia32/ia32_transform.c

index b2784f8..a3f10ca 100644 (file)
@@ -1344,9 +1344,6 @@ static ir_node *gen_Add(ir_node *node)
 
        ia32_mark_non_am(node);
 
-       op2 = ia32_skip_downconv(op2);
-       op1 = ia32_skip_downconv(op1);
-
        /**
         * Rules for an Add:
         *   0. Immediate Trees (example Add(Symconst, Const) -> Const)