improve mode/conv handling in backend (should result in less convs)
[libfirm] / ir / be / ia32 / ia32_new_nodes.c
index f0e77c6..9440be9 100644 (file)
@@ -24,7 +24,7 @@
  * @version     $Id$
  *
  * This file implements the creation of the achitecture specific firm opcodes
- * and the coresponding node constructors for the ia32 assembler irg.
+ * and the corresponding node constructors for the ia32 assembler irg.
  */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -970,11 +970,10 @@ void ia32_swap_left_right(ir_node *node)
        ir_node     *left  = get_irn_n(node, n_ia32_binary_left);
        ir_node     *right = get_irn_n(node, n_ia32_binary_right);
 
-       attr->data.cmp_flipped = !attr->data.cmp_flipped;
        assert(is_ia32_commutative(node));
+       attr->data.ins_permuted = !attr->data.ins_permuted;
        set_irn_n(node, n_ia32_binary_left,  right);
        set_irn_n(node, n_ia32_binary_right, left);
-       set_ia32_pncode(node, get_inversed_pnc(get_ia32_pncode(node)));
 }
 
 /**
@@ -1108,7 +1107,7 @@ int ia32_compare_attr(const ia32_attr_t *a, const ia32_attr_t *b) {
        if (a->data.except_label != b->data.except_label)
                return 1;
 
-       if (a->data.cmp_flipped != b->data.cmp_flipped
+       if (a->data.ins_permuted != b->data.ins_permuted
                        || a->data.cmp_unsigned != b->data.cmp_unsigned)
                return 1;