about summary refs log tree commit diff stats
path: root/miasm2/expression/simplifications.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2018-11-09 09:12:00 +0100
committerGitHub <noreply@github.com>2018-11-09 09:12:00 +0100
commit583c106a23cb1c95523d4cce637e861ffe4c8028 (patch)
tree0e3913d3eda6a6d491a102f9b6ea014ef71c3b68 /miasm2/expression/simplifications.py
parent8276ac5629fdcf3ad885c8e4b9d2d7ed6e1e1d77 (diff)
parent3877d4db136e124973c59d66b106ebe80ce4f732 (diff)
downloadmiasm-583c106a23cb1c95523d4cce637e861ffe4c8028.tar.gz
miasm-583c106a23cb1c95523d4cce637e861ffe4c8028.zip
Merge pull request #864 from serpilliere/fix_hl_op
Fix hl op
Diffstat (limited to 'miasm2/expression/simplifications.py')
-rw-r--r--miasm2/expression/simplifications.py31
1 files changed, 21 insertions, 10 deletions
diff --git a/miasm2/expression/simplifications.py b/miasm2/expression/simplifications.py
index 9114cbbe..a237a57e 100644
--- a/miasm2/expression/simplifications.py
+++ b/miasm2/expression/simplifications.py
@@ -45,16 +45,23 @@ class ExpressionSimplifier(object):
             simplifications_common.simp_double_zeroext,
             simplifications_common.simp_double_signext,
             simplifications_common.simp_zeroext_eq_cst,
+            simplifications_common.simp_ext_eq_ext,
+
+            simplifications_common.simp_cmp_int,
+            simplifications_common.simp_cmp_int_int,
+            simplifications_common.simp_ext_cst,
 
         ],
 
-        m2_expr.ExprSlice: [simplifications_common.simp_slice],
+        m2_expr.ExprSlice: [
+            simplifications_common.simp_slice,
+            simplifications_common.simp_slice_of_ext,
+        ],
         m2_expr.ExprCompose: [simplifications_common.simp_compose],
         m2_expr.ExprCond: [
             simplifications_common.simp_cond,
             # CC op
             simplifications_common.simp_cond_flag,
-            simplifications_common.simp_cond_int,
             simplifications_common.simp_cmp_int_arg,
 
             simplifications_common.simp_cond_eq_zero,
@@ -68,14 +75,18 @@ class ExpressionSimplifier(object):
     PASS_HEAVY = {}
 
     # Cond passes
-    PASS_COND = {m2_expr.ExprSlice: [simplifications_cond.expr_simp_inf_signed,
-                                     simplifications_cond.expr_simp_inf_unsigned_inversed],
-                 m2_expr.ExprOp: [simplifications_cond.exec_inf_unsigned,
-                                  simplifications_cond.exec_inf_signed,
-                                  simplifications_cond.expr_simp_inverse,
-                                  simplifications_cond.exec_equal],
-                 m2_expr.ExprCond: [simplifications_cond.expr_simp_equal]
-                 }
+    PASS_COND = {
+        m2_expr.ExprSlice: [
+            simplifications_cond.expr_simp_inf_signed,
+            simplifications_cond.expr_simp_inf_unsigned_inversed
+        ],
+        m2_expr.ExprOp: [
+            simplifications_cond.expr_simp_inverse,
+        ],
+        m2_expr.ExprCond: [
+            simplifications_cond.expr_simp_equal
+        ]
+    }
 
 
     # Available passes lists are: