diff options
Diffstat (limited to '')
| -rw-r--r-- | miasm2/arch/arm/sem.py | 2 | ||||
| -rw-r--r-- | miasm2/ir/translators/C.py | 3 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.c | 16 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.h | 2 |
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); |