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
26 lines
907 B
ArmAsm
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
|