fix ShlD/ShrD not getting generated in some cases
authorMatthias Braun <matze@braunis.de>
Thu, 26 May 2011 16:37:00 +0000 (18:37 +0200)
committerMatthias Braun <matze@braunis.de>
Thu, 26 May 2011 16:49:43 +0000 (18:49 +0200)
ir/be/ia32/ia32_transform.c

index 7ece981..71fcf09 100644 (file)
@@ -1431,7 +1431,7 @@ static bool is_complementary_shifts(ir_node *value1, ir_node *value2)
                if (tarval_is_long(tv1) && tarval_is_long(tv2)) {
                        long v1 = get_tarval_long(tv1);
                        long v2 = get_tarval_long(tv2);
-                       return v1 < v2 && v2 == 32-v1;
+                       return v1 <= v2 && v2 == 32-v1;
                }
        }
        return false;