Files
clang-p2996/llvm/test/tools/llvm-objdump/X86/syntax-mode.s
Fangrui Song e510860656 [llvm-objdump] Add -M {att,intel} & deprecate --x86-asm-syntax={att,intel}
The internal `cl::opt` option --x86-asm-syntax sets the AsmParser and AsmWriter
dialect. The option is used by llc and llvm-mc tests to set the AsmWriter dialect.

This patch adds -M {att,intel} as GNU objdump compatible aliases (PR43413).

Note: the dialect is initialized when the MCAsmInfo is constructed.
`MCInstPrinter::applyTargetSpecificCLOption` is called too late and its MCAsmInfo
reference is const, so changing the `cl::opt` in
`MCInstPrinter::applyTargetSpecificCLOption` is not an option, at least without
large amount of refactoring.

Reviewed By: hoy, jhenderson, thakis

Differential Revision: https://reviews.llvm.org/D101695
2021-05-05 00:20:41 -07:00

26 lines
907 B
ArmAsm

## Test att and intel syntax modes.
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=ATT
# RUN: llvm-objdump -d -M att %t | FileCheck %s --check-prefix=ATT
# RUN: llvm-objdump -dMintel %t | FileCheck %s --check-prefix=INTEL
# RUN: llvm-objdump -d --disassembler-options=intel %t | FileCheck %s --check-prefix=INTEL
## The last wins.
# RUN: llvm-objdump -dM att -M att,intel %t | FileCheck %s --check-prefix=INTEL
## Test discouraged internal cl::opt options.
# RUN: llvm-objdump -d --x86-asm-syntax=att %t | FileCheck %s --check-prefix=ATT
# RUN: llvm-objdump -d --x86-asm-syntax=intel %t | FileCheck %s --check-prefix=INTEL
# ATT: movw $1, %ax
# ATT: imull %esi, %edi
# ATT: leaq 5(%rsi,%rdi,4), %rax
# INTEL: mov ax, 1
# INTEL: imul edi, esi
# INTEL: lea rax, [rsi + 4*rdi + 5]
movw $1, %ax
imull %esi, %edi
leaq 5(%rsi,%rdi,4), %rax