+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