about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--miasm2/arch/arm/sem.py2
-rw-r--r--miasm2/ir/translators/C.py3
-rw-r--r--miasm2/jitter/arch/JitCore_arm.c16
-rw-r--r--miasm2/jitter/arch/JitCore_arm.h2
4 files changed, 1 insertions, 22 deletions
diff --git a/miasm2/arch/arm/sem.py b/miasm2/arch/arm/sem.py
index 9e4da3f6..2cf2e5a4 100644
--- a/miasm2/arch/arm/sem.py
+++ b/miasm2/arch/arm/sem.py
@@ -1038,7 +1038,7 @@ def pldw(ir, instr, a):
 
 def clz(ir, instr, a, b):
     e = []
-    e.append(ExprAff(a, ExprOp('clz', b)))
+    e.append(ExprAff(a, ExprOp('cntleadzeros', b)))
     return e, []
 
 def uxtab(ir, instr, a, b, c):
diff --git a/miasm2/ir/translators/C.py b/miasm2/ir/translators/C.py
index d9847e3a..59fa0de5 100644
--- a/miasm2/ir/translators/C.py
+++ b/miasm2/ir/translators/C.py
@@ -47,9 +47,6 @@ class TranslatorC(Translator):
                 return "%s(0x%x, %s)" % (expr.op,
                                              expr.args[0].size,
                                              self.from_expr(expr.args[0]))
-            elif expr.op in ['clz']:
-                return "%s(%s)" % (expr.op,
-                                   self.from_expr(expr.args[0]))
             elif expr.op == '!':
                 return "(~ %s)&0x%x" % (self.from_expr(expr.args[0]),
                                         size2mask(expr.args[0].size))
diff --git a/miasm2/jitter/arch/JitCore_arm.c b/miasm2/jitter/arch/JitCore_arm.c
index 00294620..8a09ba6c 100644
--- a/miasm2/jitter/arch/JitCore_arm.c
+++ b/miasm2/jitter/arch/JitCore_arm.c
@@ -211,22 +211,6 @@ void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src)
 	check_automod(jitcpu, addr, 64);
 }
 
-
-uint32_t clz(uint32_t arg)
-{
-
-	int i;
-
-	for (i=0; i<32; i++) {
-		if (arg & (1ull << (31-i)))
-			break;
-	}
-	return i;
-}
-
-
-
-
 PyObject* vm_set_mem(JitCpu *self, PyObject* args)
 {
        PyObject *py_addr;
diff --git a/miasm2/jitter/arch/JitCore_arm.h b/miasm2/jitter/arch/JitCore_arm.h
index 3e531fa9..1f3ccaf2 100644
--- a/miasm2/jitter/arch/JitCore_arm.h
+++ b/miasm2/jitter/arch/JitCore_arm.h
@@ -39,5 +39,3 @@ typedef struct {
 void dump_gpregs(vm_cpu_t* vmcpu);
 
 #define RETURN_PC return BlockDst;
-
-uint32_t clz(uint32_t arg);