Science & Tech · Big Tech & Internet · 3 hrs ago
Windows on Arm can mix native Arm and emulated x64 code in one app
Windows on Arm can run native Arm and emulated x64 code in one app process using a Microsoft technology called Arm64EC.
It matters for apps that rely on older components, such as Office add-ins and audio plugins, which may not yet be available in Arm versions.
Before Arm64EC, porting an app to Arm could require all the code and components loaded into it to be converted together.
Arm64EC code runs as Arm instructions but follows some x64 software rules, allowing it to work alongside x64 code.
This can make it easier to move an app to Arm gradually, though Arm64EC has some performance and compatibility trade-offs.
Windows can also use native Arm code in parts of the system when working with an x64 app.
The technology supports x64 code, while older 32-bit x86 apps continue to use a separate emulation layer.
Windows on Arm can run native Arm code and emulated x64 code within the same process.
Microsoft’s Arm64EC technology enables this compatibility, including support for older x64 add-ins in Arm versions of Office.
Arm64EC code uses Arm instructions but follows x64-compatible conventions for parts of its software interface.
The technology has trade-offs, including fewer available CPU registers and extra checks for indirect calls.
- Who
- Microsoft developed Arm64EC for Windows on Arm.
- What
- Arm64EC lets a Windows process run native Arm code alongside emulated x64 code.
- When
- Microsoft announced Arm64EC in 2021.
- Where
- Windows on Arm.
- Why
- It can help apps support x64 components such as older Office add-ins while moving to Arm.
This story does not have two clearly opposing sides.
Microsoft announced Arm64EC alongside Windows 11 on Arm.
XDA published an article describing how Windows on Arm can combine native Arm and emulated x64 code in one process.
- Technology
- Arm64EC
- Announced
- 2021
- Windows version
- Windows 11 on Arm
- Compatibility
- Native Arm code can run alongside emulated x64 code in one process
- Example use
- Older x64 add-ins with Office on Arm
What people are saying
all-or-nothing