ARM64EC on LLVM
This page is to capture ARM64EC status and progress on LLVM support for windows on arm. The documentation can be found here Understanding Arm64EC ABI and assembly code | Microsoft Docs 23.
Status
ARM64EC ABI support is under development by Qualcomm.
Up-to-date information can be found here https://discourse.llvm.org/t/initial-patches-for-arm64ec-windows-11-now-posted/62449
Some minor taskes to do:
blr force use x16 register
lower direct variadic function call to native symbol in arm64ec call lowering
emit entry thunk
create .wowthk section and emit thunks into the section
2023/2/3 Update:
All of the minor taskes are done on local. https://github.com/bcl5980/llvm-project/commits/arm64ec_basic
There are still some DllImport DllExport issues to be fixed. But for some of the undocumented implementation and efriedma may also has similar local code. So I don’t have any plan to send them to review.llvm.org.