[Openmp-commits] [openmp] [openmp] Add support for arm64ec to libomp (PR #176151)

Jacek Caban via Openmp-commits openmp-commits at lists.llvm.org
Thu Jan 15 08:01:27 PST 2026


================
@@ -134,7 +135,7 @@ kmp_uint64 __kmp_test_then_and64(volatile kmp_uint64 *p, kmp_uint64 d) {
   return old_value;
 }
 
-#if KMP_ARCH_AARCH64 && KMP_COMPILER_MSVC
+#if (KMP_ARCH_AARCH64 && KMP_COMPILER_MSVC) || KMP_ARCH_ARM64EC
----------------
cjacek wrote:

> You'd end up passing an address to an arm64ec function to the x86_64 code, without the entry thunk, which would then just explode when you call it wouldn't it?

I’m not sure what you mean; such an arm64ec function should have an entry thunk. If it doesn't, it's a bug.

> However, I believe they're always cast from non-variadic functions to microtask_t.

I don’t know enough about openmp to verify that, but if that’s the case, it indeed makes things easier.

https://github.com/llvm/llvm-project/pull/176151


More information about the Openmp-commits mailing list