Hello!

I have recently begun to use mingw-w64 via msys2 and I'm running into an
issue compiling an external code due to the apparent absence of the
"InterlockedCompareExchange128" intrinsic function. Specifically, this
ordinarily appears to be defined in the <intrin.h> header for MSVC:

https://docs.microsoft.com/en-us/cpp/intrinsics/interlockedcompareexchange128?view=msvc-160

However this does not appear to be in the intrin.h header included in
/mingw64/x86_64-w64-mingw32/include/intrin.h - the closest option appears
to be _InterlockedCompare64Exchange128, which is not the same function
signature:

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms683553(v=vs.85)

Looking both at winnt.h and intrin.h, both seem to have this older version
of the function signature but not the current version supported for
x64-based applications. Moreover, it seems like this intrinsi has been
supported in MSVC since at least MSVC 2015:

https://docs.microsoft.com/en-us/cpp/intrinsics/x64-amd64-intrinsics-list?view=msvc-140

Does anyone know anything more about this, including possible workarounds?
I am using gcc-10.3.0.

To be honest, this is well outside of my domain; I am simply trying to get
the Kokkos package (part of Trilinos) to compile and this issue is
presently blocking me.

Thanks,
-Steve
---
Steve Skutnik, Ph.D.
http://neutroneconomy.blogspot.com

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to