[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