How to generate assembly code with clang in Intel syntax?
As noted below by @thakis, newer versions of Clang (3.5+) accept the -masm=intel
argument.
For older versions, this should get clang to emit assembly code with Intel syntax:
clang++ -S -mllvm --x86-asm-syntax=intel test.cpp
You can use -mllvm <arg>
to pass in llvm options from the clang command line. Sadly this option doesn't appear to be well documented, and thus I only found it by browsing through the llvm mailing lists.
As of clang r208683 (clang 3.5+), it understands -masm=intel
. So if your clang is new enough, you can just use that.
Presuming you can have Clang emit normal LLVM byte codes, you can then use llc to compile to assembly language, and use its --x86-asm-syntax=intel
option to get the result in Intel syntax.