You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CMake has multiple ASM dialects. For example, ASM, ASM_MASM and ASM_MARMASM.
On Posix platforms you should use ASM, which uses an AT&T style assembly syntax that gas uses.
On Windows you need to use MASM, which has two dialects: ASM_MASM and ASM_MARMASM.
ASM_MASM is for Intel x86. ASM_MARMASM is for ARM.
Our expectation at the moment is a .S file is handled by clang or gcc, which internally will use gas.
The code is ATT syntax and has a few directives for labels, alignment.
In practice this works for all platform, including Windows, but not with Visual C
For actual Visual C, I've only used cmake on Windows with Visual C 2023 for x86. But I dont think the .S files work?
Do you have a proposal for how this would work?
Is there a gas compatible marmasm?
It would need to produce coeff object files I expect and the code may need ABI changes
But our simple answer is use clang for Windows. There are .cmd examples in the scripts folder.
You can use cmake or bazel
CMake has multiple ASM dialects. For example, ASM, ASM_MASM and ASM_MARMASM.
On Posix platforms you should use ASM, which uses an AT&T style assembly syntax that
gas
uses.On Windows you need to use MASM, which has two dialects: ASM_MASM and ASM_MARMASM.
ASM_MASM is for Intel x86. ASM_MARMASM is for ARM.
You may change
PROJECT(XNNPACK C CXX ASM)
to:See:
1. https://cmake.org/cmake/help/latest/envvar/ASM_DIALECT.html
2. https://gitlab.kitware.com/cmake/cmake/-/issues/26617
The text was updated successfully, but these errors were encountered: