From 32ca2532bdd81194889c64811d0e38a05a1dd323 Mon Sep 17 00:00:00 2001 From: Javier Blazquez Date: Tue, 9 Apr 2024 11:30:29 -0700 Subject: [PATCH] Add Windows ARM64/ARM64EC CI workflows --- .github/workflows/main.yml | 20 +++++++++++++++++++- src/snmalloc/aal/aal.h | 9 ++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0661ae414..388afe3c6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -361,7 +361,7 @@ jobs: # Build each combination of OS and release/debug variants os: [ windows-2019 ] build-type: [ Release, Debug ] - arch: [ Win32, x64 ] + arch: [ Win32, x64, ARM64, ARM64EC ] toolchain: [ "", "-T ClangCL" ] extra-cmake-flags: [ "" ] # Add an extra check for the Windows 8 compatible PAL @@ -388,6 +388,24 @@ jobs: build-type: Debug arch: x64 toolchain: "" + - os: windows-2022 + build-type: Release + arch: ARM64 + toolchain: "" + - os: windows-2022 + build-type: Debug + arch: ARM64 + toolchain: "" + - os: windows-2022 + build-type: Release + arch: ARM64EC + toolchain: "" + extra-cmake-flags: -DCMAKE_SYSTEM_VERSION="10.0.22621.0" + - os: windows-2022 + build-type: Debug + arch: ARM64EC + toolchain: "" + extra-cmake-flags: -DCMAKE_SYSTEM_VERSION="10.0.22621.0" # Don't abort runners if a single one fails fail-fast: false diff --git a/src/snmalloc/aal/aal.h b/src/snmalloc/aal/aal.h index 577c399bb..e1763995e 100644 --- a/src/snmalloc/aal/aal.h +++ b/src/snmalloc/aal/aal.h @@ -14,9 +14,11 @@ #include #include -#if (defined(__i386__) || defined(_M_IX86) || defined(_X86_) || \ +#if ( \ + defined(__i386__) || defined(_M_IX86) || defined(_X86_) || \ defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64)) && !defined(_M_ARM64EC) + defined(_M_AMD64)) && \ + !defined(_M_ARM64EC) # if defined(SNMALLOC_SGX) # define PLATFORM_IS_X86_SGX # define SNMALLOC_NO_AAL_BUILTINS @@ -25,7 +27,8 @@ # endif #endif -#if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC) +#if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM64) || \ + defined(_M_ARM64EC) # define PLATFORM_IS_ARM #endif