[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / RISCV / rv32-machine-csr-names.s
blob0f43088ab63601ed7f5f6902e3b5a3fcf674b9fc
1 # RUN: llvm-mc %s -triple=riscv32 -riscv-no-aliases -show-encoding \
2 # RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s
3 # RUN: llvm-mc -filetype=obj -triple riscv32 < %s \
4 # RUN: | llvm-objdump -d - \
5 # RUN: | FileCheck -check-prefix=CHECK-INST-ALIAS %s
7 ######################################
8 # Machine Protection and Translation
9 ######################################
11 # pmpcfg1
12 # name
13 # CHECK-INST: csrrs t1, pmpcfg1, zero
14 # CHECK-ENC: encoding: [0x73,0x23,0x10,0x3a]
15 # CHECK-INST-ALIAS: csrr t1, pmpcfg1
16 # uimm12
17 # CHECK-INST: csrrs t2, pmpcfg1, zero
18 # CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3a]
19 # CHECK-INST-ALIAS: csrr t2, pmpcfg1
20 # name
21 csrrs t1, pmpcfg1, zero
22 # uimm12
23 csrrs t2, 0x3A1, zero
25 # pmpcfg3
26 # name
27 # CHECK-INST: csrrs t1, pmpcfg3, zero
28 # CHECK-ENC: encoding: [0x73,0x23,0x30,0x3a]
29 # CHECK-INST-ALIAS: csrr t1, pmpcfg3
30 # uimm12
31 # CHECK-INST: csrrs t2, pmpcfg3, zero
32 # CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3a]
33 # CHECK-INST-ALIAS: csrr t2, pmpcfg3
34 # name
35 csrrs t1, pmpcfg3, zero
36 # uimm12
37 csrrs t2, 0x3A3, zero
39 ######################################
40 # Machine Counter and Timers
41 ######################################
42 # mcycleh
43 # name
44 # CHECK-INST: csrrs t1, mcycleh, zero
45 # CHECK-ENC: encoding: [0x73,0x23,0x00,0xb8]
46 # CHECK-INST-ALIAS: csrr t1, mcycleh
47 # uimm12
48 # CHECK-INST: csrrs t2, mcycleh, zero
49 # CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb8]
50 # CHECK-INST-ALIAS: csrr t2, mcycleh
51 csrrs t1, mcycleh, zero
52 # uimm12
53 csrrs t2, 0xB80, zero
55 # minstreth
56 # name
57 # CHECK-INST: csrrs t1, minstreth, zero
58 # CHECK-ENC: encoding: [0x73,0x23,0x20,0xb8]
59 # CHECK-INST-ALIAS: csrr t1, minstreth
60 # uimm12
61 # CHECK-INST: csrrs t2, minstreth, zero
62 # CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb8]
63 # CHECK-INST-ALIAS: csrr t2, minstreth
64 # name
65 csrrs t1, minstreth, zero
66 # uimm12
67 csrrs t2, 0xB82, zero
69 # mhpmcounter3h
70 # name
71 # CHECK-INST: csrrs t1, mhpmcounter3h, zero
72 # CHECK-ENC: encoding: [0x73,0x23,0x30,0xb8]
73 # CHECK-INST-ALIAS: csrr t1, mhpmcounter3h
74 # uimm12
75 # CHECK-INST: csrrs t2, mhpmcounter3h, zero
76 # CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb8]
77 # CHECK-INST-ALIAS: csrr t2, mhpmcounter3h
78 # name
79 csrrs t1, mhpmcounter3h, zero
80 # uimm12
81 csrrs t2, 0xB83, zero
83 # mhpmcounter4h
84 # name
85 # CHECK-INST: csrrs t1, mhpmcounter4h, zero
86 # CHECK-ENC: encoding: [0x73,0x23,0x40,0xb8]
87 # CHECK-INST-ALIAS: csrr t1, mhpmcounter4h
88 # uimm12
89 # CHECK-INST: csrrs t2, mhpmcounter4h, zero
90 # CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb8]
91 # CHECK-INST-ALIAS: csrr t2, mhpmcounter4h
92 # name
93 csrrs t1, mhpmcounter4h, zero
94 # uimm12
95 csrrs t2, 0xB84, zero
97 # mhpmcounter5h
98 # name
99 # CHECK-INST: csrrs t1, mhpmcounter5h, zero
100 # CHECK-ENC: encoding: [0x73,0x23,0x50,0xb8]
101 # CHECK-INST-ALIAS: csrr t1, mhpmcounter5h
102 # uimm12
103 # CHECK-INST: csrrs t2, mhpmcounter5h, zero
104 # CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb8]
105 # CHECK-INST-ALIAS: csrr t2, mhpmcounter5h
106 # name
107 csrrs t1, mhpmcounter5h, zero
108 # uimm12
109 csrrs t2, 0xB85, zero
111 # mhpmcounter6h
112 # name
113 # CHECK-INST: csrrs t1, mhpmcounter6h, zero
114 # CHECK-ENC: encoding: [0x73,0x23,0x60,0xb8]
115 # CHECK-INST-ALIAS: csrr t1, mhpmcounter6h
116 # uimm12
117 # CHECK-INST: csrrs t2, mhpmcounter6h, zero
118 # CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb8]
119 # CHECK-INST-ALIAS: csrr t2, mhpmcounter6h
120 # name
121 csrrs t1, mhpmcounter6h, zero
122 # uimm12
123 csrrs t2, 0xB86, zero
125 # mhpmcounter7h
126 # name
127 # CHECK-INST: csrrs t1, mhpmcounter7h, zero
128 # CHECK-ENC: encoding: [0x73,0x23,0x70,0xb8]
129 # CHECK-INST-ALIAS: csrr t1, mhpmcounter7h
130 # uimm12
131 # CHECK-INST: csrrs t2, mhpmcounter7h, zero
132 # CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb8]
133 # CHECK-INST-ALIAS: csrr t2, mhpmcounter7h
134 # name
135 csrrs t1, mhpmcounter7h, zero
136 # uimm12
137 csrrs t2, 0xB87, zero
139 # mhpmcounter8h
140 # name
141 # CHECK-INST: csrrs t1, mhpmcounter8h, zero
142 # CHECK-ENC: encoding: [0x73,0x23,0x80,0xb8]
143 # CHECK-INST-ALIAS: csrr t1, mhpmcounter8h
144 # uimm12
145 # CHECK-INST: csrrs t2, mhpmcounter8h, zero
146 # CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb8]
147 # CHECK-INST-ALIAS: csrr t2, mhpmcounter8h
148 # name
149 csrrs t1, mhpmcounter8h, zero
150 # uimm12
151 csrrs t2, 0xB88, zero
153 # mhpmcounter9h
154 # name
155 # CHECK-INST: csrrs t1, mhpmcounter9h, zero
156 # CHECK-ENC: encoding: [0x73,0x23,0x90,0xb8]
157 # CHECK-INST-ALIAS: csrr t1, mhpmcounter9h
158 # uimm12
159 # CHECK-INST: csrrs t2, mhpmcounter9h, zero
160 # CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb8]
161 # CHECK-INST-ALIAS: csrr t2, mhpmcounter9h
162 # name
163 csrrs t1, mhpmcounter9h, zero
164 # uimm12
165 csrrs t2, 0xB89, zero
167 # mhpmcounter10h
168 # name
169 # CHECK-INST: csrrs t1, mhpmcounter10h, zero
170 # CHECK-ENC: encoding: [0x73,0x23,0xa0,0xb8]
171 # CHECK-INST-ALIAS: csrr t1, mhpmcounter10h
172 # uimm12
173 # CHECK-INST: csrrs t2, mhpmcounter10h, zero
174 # CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb8]
175 # CHECK-INST-ALIAS: csrr t2, mhpmcounter10h
176 # name
177 csrrs t1, mhpmcounter10h, zero
178 # uimm12
179 csrrs t2, 0xB8A, zero
181 # mhpmcounter11h
182 # name
183 # CHECK-INST: csrrs t1, mhpmcounter11h, zero
184 # CHECK-ENC: encoding: [0x73,0x23,0xb0,0xb8]
185 # CHECK-INST-ALIAS: csrr t1, mhpmcounter11h
186 # uimm12
187 # CHECK-INST: csrrs t2, mhpmcounter11h, zero
188 # CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb8]
189 # CHECK-INST-ALIAS: csrr t2, mhpmcounter11h
190 # name
191 csrrs t1, mhpmcounter11h, zero
192 # uimm12
193 csrrs t2, 0xB8B, zero
195 # mhpmcounter12h
196 # name
197 # CHECK-INST: csrrs t1, mhpmcounter12h, zero
198 # CHECK-ENC: encoding: [0x73,0x23,0xc0,0xb8]
199 # CHECK-INST-ALIAS: csrr t1, mhpmcounter12h
200 # uimm12
201 # CHECK-INST: csrrs t2, mhpmcounter12h, zero
202 # CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb8]
203 # CHECK-INST-ALIAS: csrr t2, mhpmcounter12h
204 # name
205 csrrs t1, mhpmcounter12h, zero
206 # uimm12
207 csrrs t2, 0xB8C, zero
209 # mhpmcounter13h
210 # name
211 # CHECK-INST: csrrs t1, mhpmcounter13h, zero
212 # CHECK-ENC: encoding: [0x73,0x23,0xd0,0xb8]
213 # CHECK-INST-ALIAS: csrr t1, mhpmcounter13h
214 # uimm12
215 # CHECK-INST: csrrs t2, mhpmcounter13h, zero
216 # CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb8]
217 # CHECK-INST-ALIAS: csrr t2, mhpmcounter13h
218 # name
219 csrrs t1, mhpmcounter13h, zero
220 # uimm12
221 csrrs t2, 0xB8D, zero
223 # mhpmcounter14h
224 # name
225 # CHECK-INST: csrrs t1, mhpmcounter14h, zero
226 # CHECK-ENC: encoding: [0x73,0x23,0xe0,0xb8]
227 # CHECK-INST-ALIAS: csrr t1, mhpmcounter14h
228 # uimm12
229 # CHECK-INST: csrrs t2, mhpmcounter14h, zero
230 # CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb8]
231 # CHECK-INST-ALIAS: csrr t2, mhpmcounter14h
232 # name
233 csrrs t1, mhpmcounter14h, zero
234 # uimm12
235 csrrs t2, 0xB8E, zero
237 # mhpmcounter15h
238 # name
239 # CHECK-INST: csrrs t1, mhpmcounter15h, zero
240 # CHECK-ENC: encoding: [0x73,0x23,0xf0,0xb8]
241 # CHECK-INST-ALIAS: csrr t1, mhpmcounter15h
242 # uimm12
243 # CHECK-INST: csrrs t2, mhpmcounter15h, zero
244 # CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb8]
245 # CHECK-INST-ALIAS: csrr t2, mhpmcounter15h
246 # name
247 csrrs t1, mhpmcounter15h, zero
248 # uimm12
249 csrrs t2, 0xB8F, zero
251 # mhpmcounter16h
252 # name
253 # CHECK-INST: csrrs t1, mhpmcounter16h, zero
254 # CHECK-ENC: encoding: [0x73,0x23,0x00,0xb9]
255 # CHECK-INST-ALIAS: csrr t1, mhpmcounter16h
256 # uimm12
257 # CHECK-INST: csrrs t2, mhpmcounter16h, zero
258 # CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb9]
259 # CHECK-INST-ALIAS: csrr t2, mhpmcounter16h
260 # name
261 csrrs t1, mhpmcounter16h, zero
262 # uimm12
263 csrrs t2, 0xB90, zero
265 # mhpmcounter17h
266 # name
267 # CHECK-INST: csrrs t1, mhpmcounter17h, zero
268 # CHECK-ENC: encoding: [0x73,0x23,0x10,0xb9]
269 # CHECK-INST-ALIAS: csrr t1, mhpmcounter17h
270 # uimm12
271 # CHECK-INST: csrrs t2, mhpmcounter17h, zero
272 # CHECK-ENC: encoding: [0xf3,0x23,0x10,0xb9]
273 # CHECK-INST-ALIAS: csrr t2, mhpmcounter17h
274 # name
275 csrrs t1, mhpmcounter17h, zero
276 # uimm12
277 csrrs t2, 0xB91, zero
279 # mhpmcounter18h
280 # name
281 # CHECK-INST: csrrs t1, mhpmcounter18h, zero
282 # CHECK-ENC: encoding: [0x73,0x23,0x20,0xb9]
283 # CHECK-INST-ALIAS: csrr t1, mhpmcounter18h
284 # uimm12
285 # CHECK-INST: csrrs t2, mhpmcounter18h, zero
286 # CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb9]
287 # CHECK-INST-ALIAS: csrr t2, mhpmcounter18h
288 # name
289 csrrs t1, mhpmcounter18h, zero
290 # uimm12
291 csrrs t2, 0xB92, zero
293 # mhpmcounter19h
294 # name
295 # CHECK-INST: csrrs t1, mhpmcounter19h, zero
296 # CHECK-ENC: encoding: [0x73,0x23,0x30,0xb9]
297 # CHECK-INST-ALIAS: csrr t1, mhpmcounter19h
298 # uimm12
299 # CHECK-INST: csrrs t2, mhpmcounter19h, zero
300 # CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb9]
301 # CHECK-INST-ALIAS: csrr t2, mhpmcounter19h
302 # name
303 csrrs t1, mhpmcounter19h, zero
304 # uimm12
305 csrrs t2, 0xB93, zero
307 # mhpmcounter20h
308 # name
309 # CHECK-INST: csrrs t1, mhpmcounter20h, zero
310 # CHECK-ENC: encoding: [0x73,0x23,0x40,0xb9]
311 # CHECK-INST-ALIAS: csrr t1, mhpmcounter20h
312 # uimm12
313 # CHECK-INST: csrrs t2, mhpmcounter20h, zero
314 # CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb9]
315 # CHECK-INST-ALIAS: csrr t2, mhpmcounter20h
316 # name
317 csrrs t1, mhpmcounter20h, zero
318 # uimm12
319 csrrs t2, 0xB94, zero
321 # mhpmcounter21h
322 # name
323 # CHECK-INST: csrrs t1, mhpmcounter21h, zero
324 # CHECK-ENC: encoding: [0x73,0x23,0x50,0xb9]
325 # CHECK-INST-ALIAS: csrr t1, mhpmcounter21h
326 # uimm12
327 # CHECK-INST: csrrs t2, mhpmcounter21h, zero
328 # CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb9]
329 # CHECK-INST-ALIAS: csrr t2, mhpmcounter21h
330 # name
331 csrrs t1, mhpmcounter21h, zero
332 # uimm12
333 csrrs t2, 0xB95, zero
335 # mhpmcounter22h
336 # name
337 # CHECK-INST: csrrs t1, mhpmcounter22h, zero
338 # CHECK-ENC: encoding: [0x73,0x23,0x60,0xb9]
339 # CHECK-INST-ALIAS: csrr t1, mhpmcounter22h
340 # uimm12
341 # CHECK-INST: csrrs t2, mhpmcounter22h, zero
342 # CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb9]
343 # CHECK-INST-ALIAS: csrr t2, mhpmcounter22h
344 # name
345 csrrs t1, mhpmcounter22h, zero
346 # uimm12
347 csrrs t2, 0xB96, zero
349 # mhpmcounter23h
350 # name
351 # CHECK-INST: csrrs t1, mhpmcounter23h, zero
352 # CHECK-ENC: encoding: [0x73,0x23,0x70,0xb9]
353 # CHECK-INST-ALIAS: csrr t1, mhpmcounter23h
354 # uimm12
355 # CHECK-INST: csrrs t2, mhpmcounter23h, zero
356 # CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb9]
357 # CHECK-INST-ALIAS: csrr t2, mhpmcounter23h
358 # name
359 csrrs t1, mhpmcounter23h, zero
360 # uimm12
361 csrrs t2, 0xB97, zero
363 # mhpmcounter24h
364 # name
365 # CHECK-INST: csrrs t1, mhpmcounter24h, zero
366 # CHECK-ENC: encoding: [0x73,0x23,0x80,0xb9]
367 # CHECK-INST-ALIAS: csrr t1, mhpmcounter24h
368 # uimm12
369 # CHECK-INST: csrrs t2, mhpmcounter24h, zero
370 # CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb9]
371 # CHECK-INST-ALIAS: csrr t2, mhpmcounter24h
372 # name
373 csrrs t1, mhpmcounter24h, zero
374 # uimm12
375 csrrs t2, 0xB98, zero
377 # mhpmcounter25h
378 # name
379 # CHECK-INST: csrrs t1, mhpmcounter25h, zero
380 # CHECK-ENC: encoding: [0x73,0x23,0x90,0xb9]
381 # CHECK-INST-ALIAS: csrr t1, mhpmcounter25h
382 # uimm12
383 # CHECK-INST: csrrs t2, mhpmcounter25h, zero
384 # CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb9]
385 # CHECK-INST-ALIAS: csrr t2, mhpmcounter25h
386 # name
387 csrrs t1, mhpmcounter25h, zero
388 # uimm12
389 csrrs t2, 0xB99, zero
391 # mhpmcounter26h
392 # name
393 # CHECK-INST: csrrs t1, mhpmcounter26h, zero
394 # CHECK-ENC: encoding: [0x73,0x23,0xa0,0xb9]
395 # CHECK-INST-ALIAS: csrr t1, mhpmcounter26h
396 # uimm12
397 # CHECK-INST: csrrs t2, mhpmcounter26h, zero
398 # CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb9]
399 # CHECK-INST-ALIAS: csrr t2, mhpmcounter26h
400 # name
401 csrrs t1, mhpmcounter26h, zero
402 # uimm12
403 csrrs t2, 0xB9A, zero
405 # mhpmcounter27h
406 # name
407 # CHECK-INST: csrrs t1, mhpmcounter27h, zero
408 # CHECK-ENC: encoding: [0x73,0x23,0xb0,0xb9]
409 # CHECK-INST-ALIAS: csrr t1, mhpmcounter27h
410 # uimm12
411 # CHECK-INST: csrrs t2, mhpmcounter27h, zero
412 # CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb9]
413 # CHECK-INST-ALIAS: csrr t2, mhpmcounter27h
414 # name
415 csrrs t1, mhpmcounter27h, zero
416 # uimm12
417 csrrs t2, 0xB9B, zero
419 # mhpmcounter28h
420 # name
421 # CHECK-INST: csrrs t1, mhpmcounter28h, zero
422 # CHECK-ENC: encoding: [0x73,0x23,0xc0,0xb9]
423 # CHECK-INST-ALIAS: csrr t1, mhpmcounter28h
424 # uimm12
425 # CHECK-INST: csrrs t2, mhpmcounter28h, zero
426 # CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb9]
427 # CHECK-INST-ALIAS: csrr t2, mhpmcounter28h
428 # name
429 csrrs t1, mhpmcounter28h, zero
430 # uimm12
431 csrrs t2, 0xB9C, zero
433 # mhpmcounter29h
434 # name
435 # CHECK-INST: csrrs t1, mhpmcounter29h, zero
436 # CHECK-ENC: encoding: [0x73,0x23,0xd0,0xb9]
437 # CHECK-INST-ALIAS: csrr t1, mhpmcounter29h
438 # uimm12
439 # CHECK-INST: csrrs t2, mhpmcounter29h, zero
440 # CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb9]
441 # CHECK-INST-ALIAS: csrr t2, mhpmcounter29h
442 # name
443 csrrs t1, mhpmcounter29h, zero
444 # uimm12
445 csrrs t2, 0xB9D, zero
447 # mhpmcounter30h
448 # name
449 # CHECK-INST: csrrs t1, mhpmcounter30h, zero
450 # CHECK-ENC: encoding: [0x73,0x23,0xe0,0xb9]
451 # CHECK-INST-ALIAS: csrr t1, mhpmcounter30h
452 # uimm12
453 # CHECK-INST: csrrs t2, mhpmcounter30h, zero
454 # CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb9]
455 # CHECK-INST-ALIAS: csrr t2, mhpmcounter30h
456 # name
457 csrrs t1, mhpmcounter30h, zero
458 # uimm12
459 csrrs t2, 0xB9E, zero
461 # mhpmcounter31h
462 # name
463 # CHECK-INST: csrrs t1, mhpmcounter31h, zero
464 # CHECK-ENC: encoding: [0x73,0x23,0xf0,0xb9]
465 # CHECK-INST-ALIAS: csrr t1, mhpmcounter31h
466 # uimm12
467 # CHECK-INST: csrrs t2, mhpmcounter31h, zero
468 # CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb9]
469 # CHECK-INST-ALIAS: csrr t2, mhpmcounter31h
470 # name
471 csrrs t1, mhpmcounter31h, zero
472 # uimm12
473 csrrs t2, 0xB9F, zero