Vector35 / binaryninja-api

Public API, examples, documentation and issues for Binary Ninja
https://binary.ninja/
MIT License
907 stars 207 forks source link

Lift common armv7 instructions `vcvt.f64.s32` and `vmov.f64` #5418

Open plafosse opened 4 months ago

plafosse commented 4 months ago

What is the feature you'd like to have? Lift the following instructions vcvt.f64.s32 and vmov.f64 struct_array_test.zip

op2786 commented 4 months ago

Could we also include vcmp.f64.F64, vcmpe.f64.F64, vdiv.f64.F64, vmul.f64.F64, vneg.f64.F64, vcvt.f64.F64.U32, vldr, vmrs, vpop, vpush, and vstr in the list? It's bothersome to see "unimplemented" in the linear view.

galenbwill commented 4 months ago

I will review those additional instructions when adding the others. Note that only scalar operations will be lifted to LLIL instructions. Any vector operations will probably be lifted as intrinsics, if at all. (It looks at a glance like most of the ones you are requesting are, in fact, scalar.)