1## When --mattr and --mcpu are both empty, disassemble all known instructions.
2# RUN: llvm-mc -filetype=obj -triple=aarch64 -mattr=+all %s -o %t
3# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s --check-prefixes=CHECK,ALL
4
5## If --mattr or --mcpu is specified, don't default to --mattr=+all.
6# RUN: llvm-objdump -d --no-show-raw-insn --mattr=+v8a %t | FileCheck %s --check-prefixes=CHECK,UNKNOWN
7# RUN: llvm-objdump -d --no-show-raw-insn --mcpu=generic %t | FileCheck %s --check-prefixes=CHECK,UNKNOWN
8
9# CHECK-LABEL: <_start>:
10# ALL-NEXT:      bc.eq 0x4
11# ALL-NEXT:      irg x0, x1
12# ALL-NEXT:      mrs x0, RNDR
13# UNKNOWN-COUNT-2: <unknown>
14# UNKNOWN:       mrs x0, S3_3_C2_C4_0
15# CHECK-EMPTY:
16
17.globl _start
18_start:
19  bc.eq #4      // armv8.8-a hbc
20  irg x0, x1    // armv8.5-a mte
21  mrs x0, RNDR  // armv8.5-a rand
22