[ELF] Replace inExpr with lexState. NFC
[llvm-project.git] / llvm / test / MC / AArch64 / armv9.5a-pauthlr.s
blob2655798852892c216c5146f6d500e95e6ea3d227
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+pauth-lr < %s \
2 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
4 // RUN: | FileCheck %s --check-prefix=CHECK-ERROR
5 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+pauth-lr < %s \
6 // RUN: | llvm-objdump -d --mattr=+pauth-lr - | FileCheck %s --check-prefix=CHECK-DISASS
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+pauth-lr < %s \
8 // RUN: | llvm-objdump -d --mattr=-pauth-lr - | FileCheck %s --check-prefix=CHECK-UNKNOWN
10 // Label at address 4, so we can test that the address shows up in the
11 // disassembly.
12 nop
13 label1:
15 paciasppc
16 // CHECK-INST: paciasppc
17 // CHECK-DISASS: paciasppc
18 // CHECK-ENCODING: [0xfe,0xa3,0xc1,0xda]
19 // CHECK-ERROR: instruction requires: pauth-lr
20 // CHECK-UNKNOWN: dac1a3fe <unknown>
22 pacibsppc
23 // CHECK-INST: pacibsppc
24 // CHECK-DISASS: pacibsppc
25 // CHECK-ENCODING: [0xfe,0xa7,0xc1,0xda]
26 // CHECK-ERROR: instruction requires: pauth-lr
27 // CHECK-UNKNOWN: dac1a7fe <unknown>
29 pacnbiasppc
30 // CHECK-INST: pacnbiasppc
31 // CHECK-DISASS: pacnbiasppc
32 // CHECK-ENCODING: [0xfe,0x83,0xc1,0xda]
33 // CHECK-ERROR: instruction requires: pauth-lr
34 // CHECK-UNKNOWN: dac183fe <unknown>
36 pacnbibsppc
37 // CHECK-INST: pacnbibsppc
38 // CHECK-DISASS: pacnbibsppc
39 // CHECK-ENCODING: [0xfe,0x87,0xc1,0xda]
40 // CHECK-ERROR: instruction requires: pauth-lr
41 // CHECK-UNKNOWN: dac187fe <unknown>
43 autiasppc label1
44 // CHECK-INST: autiasppc label1
45 // CHECK-DISASS: autiasppc 0x4 <label1>
46 // CHECK-ENCODING: [0bAAA11111,A,0b100AAAAA,0xf3]
47 // CHECK-ENCODING: fixup A - offset: 0, value: label1, kind: fixup_aarch64_pcrel_branch16
48 // CHECK-ERROR: instruction requires: pauth-lr
49 // CHECK-UNKNOWN: f380009f <unknown>
51 autibsppc label1
52 // CHECK-INST: autibsppc label1
53 // CHECK-DISASS: autibsppc 0x4 <label1>
54 // CHECK-ENCODING: [0bAAA11111,A,0b101AAAAA,0xf3]
55 // CHECK-ENCODING: fixup A - offset: 0, value: label1, kind: fixup_aarch64_pcrel_branch16
56 // CHECK-ERROR: instruction requires: pauth-lr
57 // CHECK-UNKNOWN: f3a000bf <unknown>
59 autibsppc #0
60 // CHECK-INST: autibsppc #0
61 // CHECK-DISASS: autibsppc 0x1c <label1+0x18>
62 // CHECK-ENCODING: [0x1f,0x00,0xa0,0xf3]
63 // CHECK-ERROR: instruction requires: pauth-lr
64 // CHECK-UNKNOWN: f3a0001f <unknown>
66 autibsppc #-(1<<18)+4
67 // CHECK-INST: autibsppc #-262140
68 // CHECK-DISASS: autibsppc 0xfffffffffffc0024 <label1+0xfffffffffffc0020>
69 // CHECK-ENCODING: [0xff,0xff,0xbf,0xf3]
70 // CHECK-ERROR: instruction requires: pauth-lr
71 // CHECK-UNKNOWN: f3bfffff <unknown>
73 autiasppcr x0
74 // CHECK-INST: autiasppcr x0
75 // CHECK-DISASS: autiasppcr x0
76 // CHECK-ENCODING: [0x1e,0x90,0xc1,0xda]
77 // CHECK-ERROR: instruction requires: pauth-lr
78 // CHECK-UNKNOWN: dac1901e <unknown>
80 autibsppcr x1
81 // CHECK-INST: autibsppcr x1
82 // CHECK-DISASS: autibsppcr x1
83 // CHECK-ENCODING: [0x3e,0x94,0xc1,0xda]
84 // CHECK-ERROR: instruction requires: pauth-lr
85 // CHECK-UNKNOWN: dac1943e <unknown>
87 autiasppcr xzr
88 // CHECK-INST: autiasppcr xzr
89 // CHECK-DISASS: autiasppcr xzr
90 // CHECK-ENCODING: [0xfe,0x93,0xc1,0xda]
91 // CHECK-ERROR: instruction requires: pauth-lr
92 // CHECK-UNKNOWN: dac193fe <unknown>
94 autibsppcr xzr
95 // CHECK-INST: autibsppcr xzr
96 // CHECK-DISASS: autibsppcr xzr
97 // CHECK-ENCODING: [0xfe,0x97,0xc1,0xda]
98 // CHECK-ERROR: instruction requires: pauth-lr
99 // CHECK-UNKNOWN: dac197fe <unknown>
101 pacia171615
102 // CHECK-INST: pacia171615
103 // CHECK-DISASS: pacia171615
104 // CHECK-ENCODING: [0xfe,0x8b,0xc1,0xda]
105 // CHECK-ERROR: instruction requires: pauth-lr
106 // CHECK-UNKNOWN: dac18bfe <unknown>
108 pacib171615
109 // CHECK-INST: pacib171615
110 // CHECK-DISASS: pacib171615
111 // CHECK-ENCODING: [0xfe,0x8f,0xc1,0xda]
112 // CHECK-ERROR: instruction requires: pauth-lr
113 // CHECK-UNKNOWN: dac18ffe <unknown>
115 autia171615
116 // CHECK-INST: autia171615
117 // CHECK-DISASS: autia171615
118 // CHECK-ENCODING: [0xfe,0xbb,0xc1,0xda]
119 // CHECK-ERROR: instruction requires: pauth-lr
120 // CHECK-UNKNOWN: dac1bbfe <unknown>
122 autib171615
123 // CHECK-INST: autib171615
124 // CHECK-DISASS: autib171615
125 // CHECK-ENCODING: [0xfe,0xbf,0xc1,0xda]
126 // CHECK-ERROR: instruction requires: pauth-lr
127 // CHECK-UNKNOWN: dac1bffe <unknown>
129 retaasppc label1
130 // CHECK-INST: retaasppc label1
131 // CHECK-DISASS: retaasppc 0x4 <label1>
132 // CHECK-ENCODING: [0bAAA11111,A,0b000AAAAA,0x55]
133 // CHECK-ENCODING: // fixup A - offset: 0, value: label1, kind: fixup_aarch64_pcrel_branch16
134 // CHECK-ERROR: instruction requires: pauth-lr
135 // CHECK-UNKNOWN: 5500021f <unknown>
137 retabsppc label1
138 // CHECK-INST: retabsppc label1
139 // CHECK-DISASS: retabsppc 0x4 <label1>
140 // CHECK-ENCODING: [0bAAA11111,A,0b001AAAAA,0x55]
141 // CHECK-ENCODING: // fixup A - offset: 0, value: label1, kind: fixup_aarch64_pcrel_branch16
142 // CHECK-ERROR: instruction requires: pauth-lr
143 // CHECK-UNKNOWN: 5520023f <unknown>
145 retaasppc #0
146 // CHECK-INST: retaasppc #0
147 // CHECK-DISASS: retaasppc 0x4c <label1+0x48>
148 // CHECK-ENCODING: [0x1f,0x00,0x00,0x55]
149 // CHECK-ERROR: instruction requires: pauth-lr
150 // CHECK-UNKNOWN: 5500001f <unknown>
152 retaasppc #-(1<<18)+4
153 // CHECK-INST: retaasppc #-262140
154 // CHECK-DISASS: retaasppc 0xfffffffffffc0054 <label1+0xfffffffffffc0050>
155 // CHECK-ENCODING: [0xff,0xff,0x1f,0x55]
156 // CHECK-ERROR: instruction requires: pauth-lr
157 // CHECK-UNKNOWN: 551fffff <unknown>
159 retaasppcr x2
160 // CHECK-INST: retaasppcr x2
161 // CHECK-DISASS: retaasppcr x2
162 // CHECK-ENCODING: [0xe2,0x0b,0x5f,0xd6]
163 // CHECK-ERROR: instruction requires: pauth-lr
164 // CHECK-UNKNOWN: d65f0be2 <unknown>
166 retabsppcr x3
167 // CHECK-INST: retabsppcr x3
168 // CHECK-DISASS: retabsppcr x3
169 // CHECK-ENCODING: [0xe3,0x0f,0x5f,0xd6]
170 // CHECK-ERROR: instruction requires: pauth-lr
171 // CHECK-UNKNOWN: d65f0fe3 <unknown>
173 pacm
174 // CHECK-INST: pacm
175 // CHECK-DISASS: pacm
176 // CHECK-ENCODING: [0xff,0x24,0x03,0xd5]
177 // CHECK-ERROR-NOT: instruction requires:
178 // CHECK-UNKNOWN: d50324ff hint #39