1 // CLRBHB is optional for all v8a
/v9a
, mandatory for
8.9a/9.4a.
2 // Assembly is always permitted for instructions in the hint space.
4 // Optional
, off by default
5 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
< %s | FileCheck
%s
--check-prefix
=HINT_22
6 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8a
< %s | FileCheck
%s
--check-prefix
=HINT_22
7 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8.8
a < %s | FileCheck
%s
--check-prefix
=HINT_22
8 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9a
< %s | FileCheck
%s
--check-prefix
=HINT_22
9 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9.3
a < %s | FileCheck
%s
--check-prefix
=HINT_22
11 // Optional
, off by default
, doubly disabled
12 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=-clrbhb
< %s | FileCheck
%s
--check-prefix
=HINT_22
13 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8a
,-clrbhb
< %s | FileCheck
%s
--check-prefix
=HINT_22
14 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8.8
a,-clrbhb
< %s | FileCheck
%s
--check-prefix
=HINT_22
15 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9a
,-clrbhb
< %s | FileCheck
%s
--check-prefix
=HINT_22
16 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9.3
a,-clrbhb
< %s | FileCheck
%s
--check-prefix
=HINT_22
18 // Optional
, off by default
, manually enabled
19 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
20 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8a
,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
21 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8.8
a,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
22 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9a
,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
23 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9.3
a,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
25 // Mandatory
, enabled by default
26 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8.9
a < %s | FileCheck
%s
--check-prefix
=CLRBHB
27 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9.4
a < %s | FileCheck
%s
--check-prefix
=CLRBHB
29 // Mandatory
, on by default
, doubly enabled
30 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v8.9
a,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
31 // RUN
: llvm-mc
-show-encoding
-triple aarch64-none-elf
-mattr
=+v9.4
a,+clrbhb
< %s | FileCheck
%s
--check-prefix
=CLRBHB
33 // Mandatory
, can
't prevent disabling in LLVM
34 // RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
35 // RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22
40 // CLRBHB: clrbhb // encoding: [0xdf,0x22,0x03,0xd5]
41 // CLRBHB: clrbhb // encoding: [0xdf,0x22,0x03,0xd5]
42 // HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5]
43 // HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5]