about summary refs log tree commit diff stats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/arch/x86/arch.py15
-rwxr-xr-xtest/expression/stp.py20
2 files changed, 27 insertions, 8 deletions
diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py
index 694e18c0..d3b2964c 100644
--- a/test/arch/x86/arch.py
+++ b/test/arch/x86/arch.py
@@ -2147,6 +2147,10 @@ reg_tests = [
 
     (m64, "00000000    LFENCE",
      "0faee8"),
+    (m64, "00000000    MFENCE",
+     "0FAEF0"),
+    (m64, "00000000    SFENCE",
+     "0FAEF8"),
 
 
     (m32, "00000000    SUB        AL, 0x11",
@@ -2798,6 +2802,12 @@ reg_tests = [
     (m32, "00000000    PCMPGTQ    XMM0, XMM5",
     "660f3837C5"),
 
+    (m64, "00000000    PCMPGTB    XMM8, XMM5",
+     "66440f64c5"),
+
+    (m64, "00000000    PALIGNR    XMM1, XMM2, 0xC",
+     "660f3a0fca0c"),
+
 
     (m32, "00000000    PUNPCKHBW  MM2, QWORD PTR [EDX]",
     "0F6812"),
@@ -2955,6 +2965,11 @@ reg_tests = [
     (m32, "00000000    AESDECLAST XMM1, XMM2",
      "660f38dfca"),
 
+    (m64, "00000000    BNDMOV     XMMWORD PTR [RSP + 0x80], BND0",
+     "660f1b842480000000"),
+    (m64, "00000000    BNDMOV     BND3, XMMWORD PTR [RSP + 0xB0]",
+     "660f1a9c24b0000000"),
+
 ]
 
 
diff --git a/test/expression/stp.py b/test/expression/stp.py
index a4b037de..38bbf9c8 100755
--- a/test/expression/stp.py
+++ b/test/expression/stp.py
@@ -8,24 +8,28 @@ class TestIrIr2STP(unittest.TestCase):
 
     def test_ExprOp_strcst(self):
         from miasm2.expression.expression import ExprInt, ExprOp
-        import miasm2.expression.stp   # /!\ REALLY DIRTY HACK
+        from miasm2.ir.translators.translator  import Translator
+        translator_smt2 = Translator.to_language("smt2")
+
         args = [ExprInt(i, 32) for i in xrange(9)]
 
         self.assertEqual(
-            ExprOp('|',  *args[:2]).strcst(), r'(0bin00000000000000000000000000000000 | 0bin00000000000000000000000000000001)')
+            translator_smt2.from_expr(ExprOp('|',  *args[:2])), r'(bvor (_ bv0 32) (_ bv1 32))')
         self.assertEqual(
-            ExprOp('-',  *args[:2]).strcst(), r'BVUMINUS(0bin00000000000000000000000000000000)')
+            translator_smt2.from_expr(ExprOp('-',  *args[:2])), r'(bvsub (_ bv0 32) (_ bv1 32))')
         self.assertEqual(
-            ExprOp('+',  *args[:3]).strcst(), r'BVPLUS(32,BVPLUS(32,0bin00000000000000000000000000000000, 0bin00000000000000000000000000000001), 0bin00000000000000000000000000000010)')
-        self.assertRaises(ValueError, ExprOp('X', *args[:1]).strcst)
+            translator_smt2.from_expr(ExprOp('+',  *args[:3])), r'(bvadd (bvadd (_ bv0 32) (_ bv1 32)) (_ bv2 32))')
+        self.assertRaises(NotImplementedError, translator_smt2.from_expr, ExprOp('X', *args[:1]))
 
     def test_ExprSlice_strcst(self):
-        from miasm2.expression.expression import ExprInt, ExprSlice
-        import miasm2.expression.stp   # /!\ REALLY DIRTY HACK
+        from miasm2.expression.expression import ExprInt, ExprOp
+        from miasm2.ir.translators.translator  import Translator
+        translator_smt2 = Translator.to_language("smt2")
+
         args = [ExprInt(i, 32) for i in xrange(9)]
 
         self.assertEqual(
-            args[0][1:2].strcst(), r'(0bin00000000000000000000000000000000)[1:1]')
+            translator_smt2.from_expr(args[0][1:2]), r'((_ extract 1 1) (_ bv0 32))')
         self.assertRaises(ValueError, args[0].__getitem__, slice(1,7,2))
 
 if __name__ == '__main__':