+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