---
name: "llvm-as"
section: "1"
platform: "linux"
package: "llvm"
version: "23.1.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/llvm-as"
---

# llvm-as(1)

LLVM assembler

## NAME

llvm-as - LLVM assembler

## SYNOPSIS

**llvm-as** \[*options*\] \[*filename*\]

## DESCRIPTION

**llvm-as** is the LLVM assembler.  It reads a file containing human-readable LLVM assembly language, translates it to LLVM bitcode, and writes the result into a file or to standard output.

If *filename* is omitted or is **-**, then **llvm-as** reads its input from standard input.

If an output file is not specified with the **-o** option, then **llvm-as** sends its output to a file or standard output by following these rules:

- •

  If the input is standard input, then the output is standard output.

- •

  If the input is a file that ends with **.ll**, then the output file is of the same name, except that the suffix is changed to **.bc**.

- •

  If the input is a file that does not end with the **.ll** suffix, then the output file has the same name as the input file, except that the **.bc** suffix is appended.

## OPTIONS

- **-f**

  Enable binary output on terminals.  Normally, **llvm-as** will refuse to write raw bitcode output if the output stream is a terminal. With this option, **llvm-as** will write raw bitcode regardless of the output device.

- **-help**

  Print a summary of command line options.

- **-o** *filename*

  Specify the output file name.  If *filename* is **-**, then **llvm-as** sends its output to standard output.

## EXIT STATUS

If **llvm-as** succeeds, it will exit with 0.  Otherwise, if an error occurs, it will exit with a non-zero value.

## SEE ALSO

**[llvm-dis(1)](/llvm-dis/1.md) \<llvm-dis.html\>**, [as(1)](/as/1.md)

## Author

Maintained by the LLVM Team (https://llvm.org/).

## Copyright

2003-2026, LLVM Project
