llvm-mc - LLVM Machine Code Playground
======================================

.. program:: llvm-mc

SYNOPSIS
--------

:program:`llvm-mc` [*options*] [*filename*]

DESCRIPTION
-----------

The :program:`llvm-mc` command takes assembly code for a specified architecture
as input and generates an object file or executable.

:program:`llvm-mc` provides a set of tools for working with machine code,
such as encoding instructions and displaying internal representations,
disassembling strings to bytes, etc.

The choice of architecture for the output assembly code is automatically
determined from the input file, unless the :option:`--arch` option is used to
override the default.

OPTIONS
-------

If the :option:`-o` option is omitted, then :program:`llvm-mc` will send its
output to standard output if the input is from standard input.  If the
:option:`-o` option specifies "``-``", then the output will also be sent to
standard output.

If no :option:`-o` option is specified and an input file other than "``-``" is
specified, then :program:`llvm-mc` creates the output filename by taking the
input filename, removing any existing ``.s`` extension, and adding a ``.o``
suffix.

Other :program:`llvm-mc` options are described below.

End-user Options
~~~~~~~~~~~~~~~~

.. option:: --help

 Display available options (--help-hidden for more).

.. option:: -o <filename>

 Use ``<filename>`` as the output filename. See the summary above for more
 details.

.. option:: --arch=<string>

 Target arch to assemble for, see -version for available targets.

.. option:: --as-lex

 Apply the assemblers "lexer" to break the input into tokens and print each of
 them out. This is intended to help develop and test an assembler
 implementation.

.. option:: --assemble

 Assemble assembly file (default), and print the result to assembly. This is
 useful to design and test instruction parsers, and can be a useful tool when
 combined with other llvm-mc flags. For example, this option may be useful to
 transcode assembly from different dialects, e.g. on Intel where you can use
 -output-asm-variant=1 to translate from AT&T to Intel assembly syntax. It can
 also be combined with --show-encoding to understand how instructions are
 encoded.

.. option:: --disassemble

 Parse a series of hex bytes, and print the result out as assembly syntax.

.. option:: --mdis

 Marked up disassembly of string of hex bytes.

.. option:: --cdis

 Colored disassembly of string of hex bytes.

.. option:: --filetype=[asm,null,obj]

 Sets the output filetype. Setting this flag to `asm` will make the tool output
 text assembly. Setting this flag to `obj` will make the tool output an object
 file. Setting it to `null` causes no output to be created and can be used for
 timing purposes. The default value is `asm`.

.. option:: -g

 Generate DWARF debugging info for assembly source files.

.. option:: --hex

 Take raw hexadecimal bytes as input for disassembly. Whitespace is ignored.

.. option:: --large-code-model

 Create CFI directives that assume the code might be more than 2 GB.

.. option:: --main-file-name=<string>

 Specify the name we should consider the input file.


.. option:: --masm-hexfloats

 Enable MASM-style hex float initializers (3F800000r).


.. option:: -mattr=a1,+a2,-a3,...
 Target specific attributes (-mattr=help for details).

.. option:: --mcpu=<cpu-name>

 Target a specific cpu type (-mcpu=help for details).

.. option::   --triple=<string>

 Target triple to assemble for, see -version for available targets.

.. option::  --split-dwarf-file=<filename>

 DWO output filename.

.. option:: --show-inst-operands

 Show instructions operands as parsed.

.. option:: --show-inst

 Show internal instruction representation.

.. option::  --show-encoding

 Show instruction encodings.

.. option:: --save-temp-labels

 Don't discard temporary labels.

.. option::   --relax-relocations

 Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL.

.. option:: --print-imm-hex

 Prefer hex format for immediate values.

.. option::  --preserve-comments

 Preserve Comments in outputted assembly.

.. option:: --output-asm-variant=<uint>

 Syntax variant to use for output printing. For example, on x86 targets
 --output-asm-variant=0 prints in AT&T syntax, and --output-asm-variant=1
 prints in Intel/MASM syntax.

.. option:: --compress-debug-sections=[none|zlib|zstd]

 Choose DWARF debug sections compression.


EXIT STATUS
-----------

If :program:`llvm-mc` succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

