Skip to content

Commit db031b7

Browse files
committed
edits
1 parent 8ea8af1 commit db031b7

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

docs/build/arm64-windows-abi-conventions.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Windows also uses these terms:
2121
- **ARM** – refers to the 32-bit ARM architecture (AArch32), sometimes referred to as WoA (Windows on ARM).
2222
- **ARM32** – same as **ARM**; used in this document for clarity.
2323
- **ARM64** – refers to the 64-bit ARM architecture (AArch64). There's no such thing as WoA64.
24+
- **ARM64EC** - code built as ARM64EC is interoperable with x64 code running under emulation in the same process. The Arm64EC code in the process runs with native performance, while any x64 code runs using emulation.
2425

2526
Finally, when referring to data types, the following definitions from ARM are referenced:
2627

@@ -30,7 +31,7 @@ Finally, when referring to data types, the following definitions from ARM are re
3031

3132
## Base requirements
3233

33-
The ARM64 version of Windows presupposes that it's running on an ARMv8 or later architecture always. Both floating-point and NEON support are presumed to be present in hardware.
34+
The ARM64 version of Windows always presupposes that it's running on an ARMv8 or later architecture. Both floating-point and NEON support are presumed to be present in hardware.
3435

3536
The ARMv8 specification describes new optional crypto and CRC helper opcodes for both AArch32 and AArch64. Support for them is currently optional, but recommended. To take advantage of these opcodes, apps should first make runtime checks for their existence.
3637

@@ -122,7 +123,9 @@ You can determine if an ARM CPU supports exceptions by writing a value that enab
122123

123124
For ARM CPUs that support IEEE floating-point exceptions, the behavior on Windows is as follows:
124125

125-
- **Windows ARM64 ABI**: For processor variants that support hardware floating-point exceptions, Windows delivers them.
126+
- **Arm32**: Windows doesn't support floating-point exceptions.
127+
- **ARM64**: For processor variants that support hardware floating-point exceptions, Windows delivers them.
128+
- **Arm64EC**: For processor variants that support hardware floating-point exceptions, Windows catches these exceptions and disables them in the FPCR register. This ensures consistent behavior across different processor variants.
126129

127130
- The [`_set_controlfp`](/cpp/c-runtime-library/reference/controlfp-s) function on ARM platforms correctly changes the FPCR register when unmasking floating-point exceptions. However, instead of raising an unmasked exception, Windows resets the FPCR register to its defaults every time an FP exception is about to be raised.
128131

docs/build/x64-software-conventions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: x64 ABI conventions"
33
title: "x64 ABI conventions"
4-
ms.date: 03/28/2025
4+
ms.date: 04/07/2025
55
helpviewer_keywords: ["x64 coding conventions", "x64 abi", "Visual C++, x64 calling conventions"]
66
---
77
# Overview of x64 ABI conventions

0 commit comments

Comments
 (0)