この質問 が示すように、g ++では、g++ -S -masm=intel test.cpp
。また、clangを使用すると、clang++ -S test.cpp
、ただし-masm=intel
はclang(warning argument unused during compilation: -masm=intel
)。 clangでIntel構文を取得するにはどうすればよいですか?
以下@thakisで表記 のように、Clangの新しいバージョン(3.5+)は-masm=intel
引数を受け入れます。
古いバージョンの場合、これによりclangがIntel構文のアセンブリコードを出力するようになります。
clang++ -S -mllvm --x86-asm-syntax=intel test.cpp
-mllvm <arg>
を使用して、clangコマンドラインからllvmオプションを渡すことができます。残念ながら、このオプションは十分に文書化されていないようです。したがって、llvmメーリングリストを参照することでしか見つけられませんでした。
Clang r20868 (clang 3.5+)以降、-masm=intel
。したがって、clangが十分に新しい場合は、それを使用できます。
Clangが通常のLLVMバイトコードを出力できると仮定すると、 llc を使用してアセンブリ言語にコンパイルし、その--x86-asm-syntax=intel
オプションは、Intel構文で結果を取得します。