InlineAssemblyDialect
public enum InlineAssemblyDialect
Enumerates the dialects of inline assembly LLVM’s parsers can handle.
-
The dialect of assembly created at Bell Labs by AT&T.
AT&T syntax differs from Intel syntax in a number of ways. Notably:
- The source operand is before the destination operand
- Immediate operands are prefixed by a dollar-sign (
$
) - Register operands are preceded by a percent-sign (
%
) - The size of memory operands is determined from the last character of the
the opcode name. Valid suffixes include
b
for “byte” (8-bit),w
for “word” (16-bit),l
for “long-word” (32-bit), andq
for “quad-word” (64-bit) memory references
Declaration
Swift
case att
-
The dialect of assembly created at Intel.
Intel syntax differs from AT&T syntax in a number of ways. Notably:
- The destination operand is before the source operand
- Immediate and register operands have no prefix.
- Memory operands are annotated with their sizes. Valid annotations
include
byte ptr
(8-bit),word ptr
(16-bit),dword ptr
(32-bit) andqword ptr
(64-bit).
Declaration
Swift
case intel