[Openmp-commits] [PATCH] D137827: [openmp] Use z_Linux_asm.S to provide __kmp_invoke_microtask on mingw aarch64

Martin Storsjö via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Nov 14 07:08:28 PST 2022


mstorsjo added inline comments.


================
Comment at: openmp/runtime/src/CMakeLists.txt:98
       libomp_append(LIBOMP_ASMFILES z_Windows_NT-586_asm.asm) # Windows assembly file
+    elseif(${LIBOMP_ARCH} STREQUAL "aarch64" AND NOT MSVC)
+      # z_Linux_asm.S works for AArch64 Windows too.
----------------
I guess we could make this `AND (NOT MSVC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")` - so we'd use the assembly form with clang in MSVC mode too. Clang's optimizations break the current C implementation, but Clang should be able to handle the gas assembly even in msvc mode.

Then we'd make the condition in the source file `KMP_ARCH_AARCH64 && defined(_MSC_VER) && !defined(__clang__)`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137827/new/

https://reviews.llvm.org/D137827



More information about the Openmp-commits mailing list