Only if it doesn't make use of dynamic linking, reflection and is written to take advantage of value types.
AOT compilers without PGO data usually tend to perform worse when those conditions aren't met.
Which is why the best of both worlds is using JIT caches that survive execution runs.