slothy-optimizer / slothy

Assembly super-optimization via constraint solving
https://slothy-optimizer.github.io/slothy/
Other
156 stars 9 forks source link

Add Armv7M support for Cortex-M4 and Cortex-M7 #55

Closed dop-amin closed 2 months ago

dop-amin commented 3 months ago

This draft PR is a WIP of adding Armv7M support to slothy. We add the support with Keccak as a first example optimization target. The new uArch models for Cortex-M4 and Cortex-M7 are still very incomplete, the model for Cortex-M4 is lacking the modeling of ldr instructions pipelining their address and data phases. We further add the ability to resolve .if ... .else ... .endif constructs in the assembly source code (also nested).

Open ToDos:

Further ideas are welcome!