+1 from me

John

P.S. I was wondering why this wasn't called aarch64ec, or why it is an arch and not ABI; I found https://reviews.llvm.org/D125412 and saw it was because the dash-separated format couldn't easily accommodate the combinatorial explosion of {mingw, msvc}{regular ABI, this new x86_64-emulator-compatible ABI}. Thus, it was instead shoved in as a "sub-arch" instead (like versions for 32-bit ARM and RISC-V) instead, like an earlier "arm64e" from Apple. Interesting stuff, and I think it is a useful data point for the broader discussion in the other thread.

On 9/15/23 18:56, Billy Laws wrote:
ARM64EC is a custom ABI for AArch64 that allows for interoperability
with x86_64 compiled code. While technically just an ABI, it is treated
as its own machine type, with triples in the format arm64ec-*.
---
  config.sub                | 2 +-
  testsuite/config-sub.data | 2 ++
  2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/config.sub b/config.sub
index 6ae2502..733218d 100755
--- a/config.sub
+++ b/config.sub
@@ -1181,7 +1181,7 @@ case $cpu-$vendor in
                case $cpu in
                        1750a | 580 \
                        | a29k \
-                       | aarch64 | aarch64_be \
+                       | aarch64 | aarch64_be | arm64ec \
                        | abacus \
                        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
                        | alpha64 | alpha64ev[4-8] | alpha64ev56 | 
alpha64ev6[78] \
diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data
index ba934b6..744892e 100644
--- a/testsuite/config-sub.data
+++ b/testsuite/config-sub.data
@@ -102,6 +102,8 @@ arm64-apple-tvos                            
aarch64-apple-tvos
  arm64-apple-tvos10.0.0                                aarch64-apple-tvos10.0.0
  arm64-apple-watchos                           aarch64-apple-watchos
  arm64-apple-watchos5.0                                aarch64-apple-watchos5.0
+arm64ec-pc-mingw32                             arm64ec-pc-mingw32
+arm64ec-windows                                arm64ec-unknown-windows
  armbe                                         armbe-unknown-none
  armeb-unknown-netbsdelf7.0                    armeb-unknown-netbsdelf7.0
  armel                                         armel-unknown-none

Reply via email to