Coverage Report

Created: 2025-11-16 06:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/capstonenext/arch/RISCV/RISCVGenAsmWriter.inc
Line
Count
Source
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Assembly Writer Source Fragment                                            *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
/* Capstone Disassembly Engine */
10
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
11
12
#include <stdio.h>  // debug
13
#include <capstone/platform.h>
14
#include <assert.h>
15
16
17
/// printInstruction - This method is automatically generated by tablegen
18
/// from the instruction set description.
19
static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI)
20
78.1k
{
21
78.1k
#ifndef CAPSTONE_DIET
22
78.1k
  static const char AsmStrs[] = {
23
78.1k
  /* 0 */ 'l', 'l', 'a', 9, 0,
24
78.1k
  /* 5 */ 's', 'f', 'e', 'n', 'c', 'e', '.', 'v', 'm', 'a', 9, 0,
25
78.1k
  /* 17 */ 's', 'r', 'a', 9, 0,
26
78.1k
  /* 22 */ 'l', 'b', 9, 0,
27
78.1k
  /* 26 */ 's', 'b', 9, 0,
28
78.1k
  /* 30 */ 'c', '.', 's', 'u', 'b', 9, 0,
29
78.1k
  /* 37 */ 'a', 'u', 'i', 'p', 'c', 9, 0,
30
78.1k
  /* 44 */ 'c', 's', 'r', 'r', 'c', 9, 0,
31
78.1k
  /* 51 */ 'f', 's', 'u', 'b', '.', 'd', 9, 0,
32
78.1k
  /* 59 */ 'f', 'm', 's', 'u', 'b', '.', 'd', 9, 0,
33
78.1k
  /* 68 */ 'f', 'n', 'm', 's', 'u', 'b', '.', 'd', 9, 0,
34
78.1k
  /* 78 */ 's', 'c', '.', 'd', 9, 0,
35
78.1k
  /* 84 */ 'f', 'a', 'd', 'd', '.', 'd', 9, 0,
36
78.1k
  /* 92 */ 'f', 'm', 'a', 'd', 'd', '.', 'd', 9, 0,
37
78.1k
  /* 101 */ 'f', 'n', 'm', 'a', 'd', 'd', '.', 'd', 9, 0,
38
78.1k
  /* 111 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'd', 9, 0,
39
78.1k
  /* 121 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'd', 9, 0,
40
78.1k
  /* 131 */ 'f', 'l', 'e', '.', 'd', 9, 0,
41
78.1k
  /* 138 */ 'f', 's', 'g', 'n', 'j', '.', 'd', 9, 0,
42
78.1k
  /* 147 */ 'f', 'c', 'v', 't', '.', 'l', '.', 'd', 9, 0,
43
78.1k
  /* 157 */ 'f', 'm', 'u', 'l', '.', 'd', 9, 0,
44
78.1k
  /* 165 */ 'f', 'm', 'i', 'n', '.', 'd', 9, 0,
45
78.1k
  /* 173 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'd', 9, 0,
46
78.1k
  /* 183 */ 'f', 's', 'g', 'n', 'j', 'n', '.', 'd', 9, 0,
47
78.1k
  /* 193 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'd', 9, 0,
48
78.1k
  /* 204 */ 'f', 'e', 'q', '.', 'd', 9, 0,
49
78.1k
  /* 211 */ 'l', 'r', '.', 'd', 9, 0,
50
78.1k
  /* 217 */ 'a', 'm', 'o', 'o', 'r', '.', 'd', 9, 0,
51
78.1k
  /* 226 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'd', 9, 0,
52
78.1k
  /* 236 */ 'f', 'c', 'v', 't', '.', 's', '.', 'd', 9, 0,
53
78.1k
  /* 246 */ 'f', 'c', 'l', 'a', 's', 's', '.', 'd', 9, 0,
54
78.1k
  /* 256 */ 'f', 'l', 't', '.', 'd', 9, 0,
55
78.1k
  /* 263 */ 'f', 's', 'q', 'r', 't', '.', 'd', 9, 0,
56
78.1k
  /* 272 */ 'f', 'c', 'v', 't', '.', 'l', 'u', '.', 'd', 9, 0,
57
78.1k
  /* 283 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'd', 9, 0,
58
78.1k
  /* 294 */ 'f', 'c', 'v', 't', '.', 'w', 'u', '.', 'd', 9, 0,
59
78.1k
  /* 305 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'd', 9, 0,
60
78.1k
  /* 316 */ 'f', 'd', 'i', 'v', '.', 'd', 9, 0,
61
78.1k
  /* 324 */ 'f', 'c', 'v', 't', '.', 'w', '.', 'd', 9, 0,
62
78.1k
  /* 334 */ 'f', 'm', 'v', '.', 'x', '.', 'd', 9, 0,
63
78.1k
  /* 343 */ 'f', 'm', 'a', 'x', '.', 'd', 9, 0,
64
78.1k
  /* 351 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'd', 9, 0,
65
78.1k
  /* 361 */ 'f', 's', 'g', 'n', 'j', 'x', '.', 'd', 9, 0,
66
78.1k
  /* 371 */ 'c', '.', 'a', 'd', 'd', 9, 0,
67
78.1k
  /* 378 */ 'c', '.', 'l', 'd', 9, 0,
68
78.1k
  /* 384 */ 'c', '.', 'f', 'l', 'd', 9, 0,
69
78.1k
  /* 391 */ 'c', '.', 'a', 'n', 'd', 9, 0,
70
78.1k
  /* 398 */ 'c', '.', 's', 'd', 9, 0,
71
78.1k
  /* 404 */ 'c', '.', 'f', 's', 'd', 9, 0,
72
78.1k
  /* 411 */ 'f', 'e', 'n', 'c', 'e', 9, 0,
73
78.1k
  /* 418 */ 'b', 'g', 'e', 9, 0,
74
78.1k
  /* 423 */ 'b', 'n', 'e', 9, 0,
75
78.1k
  /* 428 */ 'm', 'u', 'l', 'h', 9, 0,
76
78.1k
  /* 434 */ 's', 'h', 9, 0,
77
78.1k
  /* 438 */ 'f', 'e', 'n', 'c', 'e', '.', 'i', 9, 0,
78
78.1k
  /* 447 */ 'c', '.', 's', 'r', 'a', 'i', 9, 0,
79
78.1k
  /* 455 */ 'c', 's', 'r', 'r', 'c', 'i', 9, 0,
80
78.1k
  /* 463 */ 'c', '.', 'a', 'd', 'd', 'i', 9, 0,
81
78.1k
  /* 471 */ 'c', '.', 'a', 'n', 'd', 'i', 9, 0,
82
78.1k
  /* 479 */ 'w', 'f', 'i', 9, 0,
83
78.1k
  /* 484 */ 'c', '.', 'l', 'i', 9, 0,
84
78.1k
  /* 490 */ 'c', '.', 's', 'l', 'l', 'i', 9, 0,
85
78.1k
  /* 498 */ 'c', '.', 's', 'r', 'l', 'i', 9, 0,
86
78.1k
  /* 506 */ 'x', 'o', 'r', 'i', 9, 0,
87
78.1k
  /* 512 */ 'c', 's', 'r', 'r', 's', 'i', 9, 0,
88
78.1k
  /* 520 */ 's', 'l', 't', 'i', 9, 0,
89
78.1k
  /* 526 */ 'c', '.', 'l', 'u', 'i', 9, 0,
90
78.1k
  /* 533 */ 'c', 's', 'r', 'r', 'w', 'i', 9, 0,
91
78.1k
  /* 541 */ 'c', '.', 'j', 9, 0,
92
78.1k
  /* 546 */ 'c', '.', 'e', 'b', 'r', 'e', 'a', 'k', 9, 0,
93
78.1k
  /* 556 */ 'f', 'c', 'v', 't', '.', 'd', '.', 'l', 9, 0,
94
78.1k
  /* 566 */ 'f', 'c', 'v', 't', '.', 's', '.', 'l', 9, 0,
95
78.1k
  /* 576 */ 'c', '.', 'j', 'a', 'l', 9, 0,
96
78.1k
  /* 583 */ 't', 'a', 'i', 'l', 9, 0,
97
78.1k
  /* 589 */ 'e', 'c', 'a', 'l', 'l', 9, 0,
98
78.1k
  /* 596 */ 's', 'l', 'l', 9, 0,
99
78.1k
  /* 601 */ 's', 'c', '.', 'd', '.', 'r', 'l', 9, 0,
100
78.1k
  /* 610 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'd', '.', 'r', 'l', 9, 0,
101
78.1k
  /* 623 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'd', '.', 'r', 'l', 9, 0,
102
78.1k
  /* 636 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'd', '.', 'r', 'l', 9, 0,
103
78.1k
  /* 649 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'd', '.', 'r', 'l', 9, 0,
104
78.1k
  /* 663 */ 'l', 'r', '.', 'd', '.', 'r', 'l', 9, 0,
105
78.1k
  /* 672 */ 'a', 'm', 'o', 'o', 'r', '.', 'd', '.', 'r', 'l', 9, 0,
106
78.1k
  /* 684 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'd', '.', 'r', 'l', 9, 0,
107
78.1k
  /* 697 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'd', '.', 'r', 'l', 9, 0,
108
78.1k
  /* 711 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'd', '.', 'r', 'l', 9, 0,
109
78.1k
  /* 725 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'd', '.', 'r', 'l', 9, 0,
110
78.1k
  /* 738 */ 's', 'c', '.', 'w', '.', 'r', 'l', 9, 0,
111
78.1k
  /* 747 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'w', '.', 'r', 'l', 9, 0,
112
78.1k
  /* 760 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'w', '.', 'r', 'l', 9, 0,
113
78.1k
  /* 773 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'w', '.', 'r', 'l', 9, 0,
114
78.1k
  /* 786 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'w', '.', 'r', 'l', 9, 0,
115
78.1k
  /* 800 */ 'l', 'r', '.', 'w', '.', 'r', 'l', 9, 0,
116
78.1k
  /* 809 */ 'a', 'm', 'o', 'o', 'r', '.', 'w', '.', 'r', 'l', 9, 0,
117
78.1k
  /* 821 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'w', '.', 'r', 'l', 9, 0,
118
78.1k
  /* 834 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'w', '.', 'r', 'l', 9, 0,
119
78.1k
  /* 848 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'w', '.', 'r', 'l', 9, 0,
120
78.1k
  /* 862 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'w', '.', 'r', 'l', 9, 0,
121
78.1k
  /* 875 */ 's', 'c', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
122
78.1k
  /* 886 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
123
78.1k
  /* 901 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
124
78.1k
  /* 916 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
125
78.1k
  /* 931 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
126
78.1k
  /* 947 */ 'l', 'r', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
127
78.1k
  /* 958 */ 'a', 'm', 'o', 'o', 'r', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
128
78.1k
  /* 972 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
129
78.1k
  /* 987 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
130
78.1k
  /* 1003 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
131
78.1k
  /* 1019 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'd', '.', 'a', 'q', 'r', 'l', 9, 0,
132
78.1k
  /* 1034 */ 's', 'c', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
133
78.1k
  /* 1045 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
134
78.1k
  /* 1060 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
135
78.1k
  /* 1075 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
136
78.1k
  /* 1090 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
137
78.1k
  /* 1106 */ 'l', 'r', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
138
78.1k
  /* 1117 */ 'a', 'm', 'o', 'o', 'r', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
139
78.1k
  /* 1131 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
140
78.1k
  /* 1146 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
141
78.1k
  /* 1162 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
142
78.1k
  /* 1178 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'w', '.', 'a', 'q', 'r', 'l', 9, 0,
143
78.1k
  /* 1193 */ 's', 'r', 'l', 9, 0,
144
78.1k
  /* 1198 */ 'm', 'u', 'l', 9, 0,
145
78.1k
  /* 1203 */ 'r', 'e', 'm', 9, 0,
146
78.1k
  /* 1208 */ 'c', '.', 'a', 'd', 'd', 'i', '4', 's', 'p', 'n', 9, 0,
147
78.1k
  /* 1220 */ 'f', 'e', 'n', 'c', 'e', '.', 't', 's', 'o', 9, 0,
148
78.1k
  /* 1231 */ 'c', '.', 'u', 'n', 'i', 'm', 'p', 9, 0,
149
78.1k
  /* 1240 */ 'c', '.', 'n', 'o', 'p', 9, 0,
150
78.1k
  /* 1247 */ 'c', '.', 'a', 'd', 'd', 'i', '1', '6', 's', 'p', 9, 0,
151
78.1k
  /* 1259 */ 'c', '.', 'l', 'd', 's', 'p', 9, 0,
152
78.1k
  /* 1267 */ 'c', '.', 'f', 'l', 'd', 's', 'p', 9, 0,
153
78.1k
  /* 1276 */ 'c', '.', 's', 'd', 's', 'p', 9, 0,
154
78.1k
  /* 1284 */ 'c', '.', 'f', 's', 'd', 's', 'p', 9, 0,
155
78.1k
  /* 1293 */ 'c', '.', 'l', 'w', 's', 'p', 9, 0,
156
78.1k
  /* 1301 */ 'c', '.', 'f', 'l', 'w', 's', 'p', 9, 0,
157
78.1k
  /* 1310 */ 'c', '.', 's', 'w', 's', 'p', 9, 0,
158
78.1k
  /* 1318 */ 'c', '.', 'f', 's', 'w', 's', 'p', 9, 0,
159
78.1k
  /* 1327 */ 's', 'c', '.', 'd', '.', 'a', 'q', 9, 0,
160
78.1k
  /* 1336 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'd', '.', 'a', 'q', 9, 0,
161
78.1k
  /* 1349 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'd', '.', 'a', 'q', 9, 0,
162
78.1k
  /* 1362 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'd', '.', 'a', 'q', 9, 0,
163
78.1k
  /* 1375 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'd', '.', 'a', 'q', 9, 0,
164
78.1k
  /* 1389 */ 'l', 'r', '.', 'd', '.', 'a', 'q', 9, 0,
165
78.1k
  /* 1398 */ 'a', 'm', 'o', 'o', 'r', '.', 'd', '.', 'a', 'q', 9, 0,
166
78.1k
  /* 1410 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'd', '.', 'a', 'q', 9, 0,
167
78.1k
  /* 1423 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'd', '.', 'a', 'q', 9, 0,
168
78.1k
  /* 1437 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'd', '.', 'a', 'q', 9, 0,
169
78.1k
  /* 1451 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'd', '.', 'a', 'q', 9, 0,
170
78.1k
  /* 1464 */ 's', 'c', '.', 'w', '.', 'a', 'q', 9, 0,
171
78.1k
  /* 1473 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'w', '.', 'a', 'q', 9, 0,
172
78.1k
  /* 1486 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'w', '.', 'a', 'q', 9, 0,
173
78.1k
  /* 1499 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'w', '.', 'a', 'q', 9, 0,
174
78.1k
  /* 1512 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'w', '.', 'a', 'q', 9, 0,
175
78.1k
  /* 1526 */ 'l', 'r', '.', 'w', '.', 'a', 'q', 9, 0,
176
78.1k
  /* 1535 */ 'a', 'm', 'o', 'o', 'r', '.', 'w', '.', 'a', 'q', 9, 0,
177
78.1k
  /* 1547 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'w', '.', 'a', 'q', 9, 0,
178
78.1k
  /* 1560 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'w', '.', 'a', 'q', 9, 0,
179
78.1k
  /* 1574 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'w', '.', 'a', 'q', 9, 0,
180
78.1k
  /* 1588 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'w', '.', 'a', 'q', 9, 0,
181
78.1k
  /* 1601 */ 'b', 'e', 'q', 9, 0,
182
78.1k
  /* 1606 */ 'c', '.', 'j', 'r', 9, 0,
183
78.1k
  /* 1612 */ 'c', '.', 'j', 'a', 'l', 'r', 9, 0,
184
78.1k
  /* 1620 */ 'c', '.', 'o', 'r', 9, 0,
185
78.1k
  /* 1626 */ 'c', '.', 'x', 'o', 'r', 9, 0,
186
78.1k
  /* 1633 */ 'f', 's', 'u', 'b', '.', 's', 9, 0,
187
78.1k
  /* 1641 */ 'f', 'm', 's', 'u', 'b', '.', 's', 9, 0,
188
78.1k
  /* 1650 */ 'f', 'n', 'm', 's', 'u', 'b', '.', 's', 9, 0,
189
78.1k
  /* 1660 */ 'f', 'c', 'v', 't', '.', 'd', '.', 's', 9, 0,
190
78.1k
  /* 1670 */ 'f', 'a', 'd', 'd', '.', 's', 9, 0,
191
78.1k
  /* 1678 */ 'f', 'm', 'a', 'd', 'd', '.', 's', 9, 0,
192
78.1k
  /* 1687 */ 'f', 'n', 'm', 'a', 'd', 'd', '.', 's', 9, 0,
193
78.1k
  /* 1697 */ 'f', 'l', 'e', '.', 's', 9, 0,
194
78.1k
  /* 1704 */ 'f', 's', 'g', 'n', 'j', '.', 's', 9, 0,
195
78.1k
  /* 1713 */ 'f', 'c', 'v', 't', '.', 'l', '.', 's', 9, 0,
196
78.1k
  /* 1723 */ 'f', 'm', 'u', 'l', '.', 's', 9, 0,
197
78.1k
  /* 1731 */ 'f', 'm', 'i', 'n', '.', 's', 9, 0,
198
78.1k
  /* 1739 */ 'f', 's', 'g', 'n', 'j', 'n', '.', 's', 9, 0,
199
78.1k
  /* 1749 */ 'f', 'e', 'q', '.', 's', 9, 0,
200
78.1k
  /* 1756 */ 'f', 'c', 'l', 'a', 's', 's', '.', 's', 9, 0,
201
78.1k
  /* 1766 */ 'f', 'l', 't', '.', 's', 9, 0,
202
78.1k
  /* 1773 */ 'f', 's', 'q', 'r', 't', '.', 's', 9, 0,
203
78.1k
  /* 1782 */ 'f', 'c', 'v', 't', '.', 'l', 'u', '.', 's', 9, 0,
204
78.1k
  /* 1793 */ 'f', 'c', 'v', 't', '.', 'w', 'u', '.', 's', 9, 0,
205
78.1k
  /* 1804 */ 'f', 'd', 'i', 'v', '.', 's', 9, 0,
206
78.1k
  /* 1812 */ 'f', 'c', 'v', 't', '.', 'w', '.', 's', 9, 0,
207
78.1k
  /* 1822 */ 'f', 'm', 'a', 'x', '.', 's', 9, 0,
208
78.1k
  /* 1830 */ 'f', 's', 'g', 'n', 'j', 'x', '.', 's', 9, 0,
209
78.1k
  /* 1840 */ 'c', 's', 'r', 'r', 's', 9, 0,
210
78.1k
  /* 1847 */ 'm', 'r', 'e', 't', 9, 0,
211
78.1k
  /* 1853 */ 's', 'r', 'e', 't', 9, 0,
212
78.1k
  /* 1859 */ 'u', 'r', 'e', 't', 9, 0,
213
78.1k
  /* 1865 */ 'b', 'l', 't', 9, 0,
214
78.1k
  /* 1870 */ 's', 'l', 't', 9, 0,
215
78.1k
  /* 1875 */ 'l', 'b', 'u', 9, 0,
216
78.1k
  /* 1880 */ 'b', 'g', 'e', 'u', 9, 0,
217
78.1k
  /* 1886 */ 'm', 'u', 'l', 'h', 'u', 9, 0,
218
78.1k
  /* 1893 */ 's', 'l', 't', 'i', 'u', 9, 0,
219
78.1k
  /* 1900 */ 'f', 'c', 'v', 't', '.', 'd', '.', 'l', 'u', 9, 0,
220
78.1k
  /* 1911 */ 'f', 'c', 'v', 't', '.', 's', '.', 'l', 'u', 9, 0,
221
78.1k
  /* 1922 */ 'r', 'e', 'm', 'u', 9, 0,
222
78.1k
  /* 1928 */ 'm', 'u', 'l', 'h', 's', 'u', 9, 0,
223
78.1k
  /* 1936 */ 'b', 'l', 't', 'u', 9, 0,
224
78.1k
  /* 1942 */ 's', 'l', 't', 'u', 9, 0,
225
78.1k
  /* 1948 */ 'd', 'i', 'v', 'u', 9, 0,
226
78.1k
  /* 1954 */ 'f', 'c', 'v', 't', '.', 'd', '.', 'w', 'u', 9, 0,
227
78.1k
  /* 1965 */ 'f', 'c', 'v', 't', '.', 's', '.', 'w', 'u', 9, 0,
228
78.1k
  /* 1976 */ 'l', 'w', 'u', 9, 0,
229
78.1k
  /* 1981 */ 'd', 'i', 'v', 9, 0,
230
78.1k
  /* 1986 */ 'c', '.', 'm', 'v', 9, 0,
231
78.1k
  /* 1992 */ 's', 'c', '.', 'w', 9, 0,
232
78.1k
  /* 1998 */ 'f', 'c', 'v', 't', '.', 'd', '.', 'w', 9, 0,
233
78.1k
  /* 2008 */ 'a', 'm', 'o', 'a', 'd', 'd', '.', 'w', 9, 0,
234
78.1k
  /* 2018 */ 'a', 'm', 'o', 'a', 'n', 'd', '.', 'w', 9, 0,
235
78.1k
  /* 2028 */ 'a', 'm', 'o', 'm', 'i', 'n', '.', 'w', 9, 0,
236
78.1k
  /* 2038 */ 'a', 'm', 'o', 's', 'w', 'a', 'p', '.', 'w', 9, 0,
237
78.1k
  /* 2049 */ 'l', 'r', '.', 'w', 9, 0,
238
78.1k
  /* 2055 */ 'a', 'm', 'o', 'o', 'r', '.', 'w', 9, 0,
239
78.1k
  /* 2064 */ 'a', 'm', 'o', 'x', 'o', 'r', '.', 'w', 9, 0,
240
78.1k
  /* 2074 */ 'f', 'c', 'v', 't', '.', 's', '.', 'w', 9, 0,
241
78.1k
  /* 2084 */ 'a', 'm', 'o', 'm', 'i', 'n', 'u', '.', 'w', 9, 0,
242
78.1k
  /* 2095 */ 'a', 'm', 'o', 'm', 'a', 'x', 'u', '.', 'w', 9, 0,
243
78.1k
  /* 2106 */ 'f', 'm', 'v', '.', 'x', '.', 'w', 9, 0,
244
78.1k
  /* 2115 */ 'a', 'm', 'o', 'm', 'a', 'x', '.', 'w', 9, 0,
245
78.1k
  /* 2125 */ 's', 'r', 'a', 'w', 9, 0,
246
78.1k
  /* 2131 */ 'c', '.', 's', 'u', 'b', 'w', 9, 0,
247
78.1k
  /* 2139 */ 'c', '.', 'a', 'd', 'd', 'w', 9, 0,
248
78.1k
  /* 2147 */ 's', 'r', 'a', 'i', 'w', 9, 0,
249
78.1k
  /* 2154 */ 'c', '.', 'a', 'd', 'd', 'i', 'w', 9, 0,
250
78.1k
  /* 2163 */ 's', 'l', 'l', 'i', 'w', 9, 0,
251
78.1k
  /* 2170 */ 's', 'r', 'l', 'i', 'w', 9, 0,
252
78.1k
  /* 2177 */ 'c', '.', 'l', 'w', 9, 0,
253
78.1k
  /* 2183 */ 'c', '.', 'f', 'l', 'w', 9, 0,
254
78.1k
  /* 2190 */ 's', 'l', 'l', 'w', 9, 0,
255
78.1k
  /* 2196 */ 's', 'r', 'l', 'w', 9, 0,
256
78.1k
  /* 2202 */ 'm', 'u', 'l', 'w', 9, 0,
257
78.1k
  /* 2208 */ 'r', 'e', 'm', 'w', 9, 0,
258
78.1k
  /* 2214 */ 'c', 's', 'r', 'r', 'w', 9, 0,
259
78.1k
  /* 2221 */ 'c', '.', 's', 'w', 9, 0,
260
78.1k
  /* 2227 */ 'c', '.', 'f', 's', 'w', 9, 0,
261
78.1k
  /* 2234 */ 'r', 'e', 'm', 'u', 'w', 9, 0,
262
78.1k
  /* 2241 */ 'd', 'i', 'v', 'u', 'w', 9, 0,
263
78.1k
  /* 2248 */ 'd', 'i', 'v', 'w', 9, 0,
264
78.1k
  /* 2254 */ 'f', 'm', 'v', '.', 'd', '.', 'x', 9, 0,
265
78.1k
  /* 2263 */ 'f', 'm', 'v', '.', 'w', '.', 'x', 9, 0,
266
78.1k
  /* 2272 */ 'c', '.', 'b', 'n', 'e', 'z', 9, 0,
267
78.1k
  /* 2280 */ 'c', '.', 'b', 'e', 'q', 'z', 9, 0,
268
78.1k
  /* 2288 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0,
269
78.1k
  /* 2319 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
270
78.1k
  /* 2343 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
271
78.1k
  /* 2368 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
272
78.1k
  /* 2391 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
273
78.1k
  /* 2414 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
274
78.1k
  /* 2436 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
275
78.1k
  /* 2449 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
276
78.1k
  /* 2456 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
277
78.1k
  /* 2466 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
278
78.1k
  /* 2476 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
279
78.1k
  /* 2491 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
280
78.1k
  };
281
78.1k
#endif
282
283
78.1k
  static const uint16_t OpInfo0[] = {
284
78.1k
    0U, // PHI
285
78.1k
    0U, // INLINEASM
286
78.1k
    0U, // INLINEASM_BR
287
78.1k
    0U, // CFI_INSTRUCTION
288
78.1k
    0U, // EH_LABEL
289
78.1k
    0U, // GC_LABEL
290
78.1k
    0U, // ANNOTATION_LABEL
291
78.1k
    0U, // KILL
292
78.1k
    0U, // EXTRACT_SUBREG
293
78.1k
    0U, // INSERT_SUBREG
294
78.1k
    0U, // IMPLICIT_DEF
295
78.1k
    0U, // SUBREG_TO_REG
296
78.1k
    0U, // COPY_TO_REGCLASS
297
78.1k
    2457U,  // DBG_VALUE
298
78.1k
    2467U,  // DBG_LABEL
299
78.1k
    0U, // REG_SEQUENCE
300
78.1k
    0U, // COPY
301
78.1k
    2450U,  // BUNDLE
302
78.1k
    2477U,  // LIFETIME_START
303
78.1k
    2437U,  // LIFETIME_END
304
78.1k
    0U, // STACKMAP
305
78.1k
    2492U,  // FENTRY_CALL
306
78.1k
    0U, // PATCHPOINT
307
78.1k
    0U, // LOAD_STACK_GUARD
308
78.1k
    0U, // STATEPOINT
309
78.1k
    0U, // LOCAL_ESCAPE
310
78.1k
    0U, // FAULTING_OP
311
78.1k
    0U, // PATCHABLE_OP
312
78.1k
    2369U,  // PATCHABLE_FUNCTION_ENTER
313
78.1k
    2289U,  // PATCHABLE_RET
314
78.1k
    2415U,  // PATCHABLE_FUNCTION_EXIT
315
78.1k
    2392U,  // PATCHABLE_TAIL_CALL
316
78.1k
    2344U,  // PATCHABLE_EVENT_CALL
317
78.1k
    2320U,  // PATCHABLE_TYPED_EVENT_CALL
318
78.1k
    0U, // ICALL_BRANCH_FUNNEL
319
78.1k
    0U, // G_ADD
320
78.1k
    0U, // G_SUB
321
78.1k
    0U, // G_MUL
322
78.1k
    0U, // G_SDIV
323
78.1k
    0U, // G_UDIV
324
78.1k
    0U, // G_SREM
325
78.1k
    0U, // G_UREM
326
78.1k
    0U, // G_AND
327
78.1k
    0U, // G_OR
328
78.1k
    0U, // G_XOR
329
78.1k
    0U, // G_IMPLICIT_DEF
330
78.1k
    0U, // G_PHI
331
78.1k
    0U, // G_FRAME_INDEX
332
78.1k
    0U, // G_GLOBAL_VALUE
333
78.1k
    0U, // G_EXTRACT
334
78.1k
    0U, // G_UNMERGE_VALUES
335
78.1k
    0U, // G_INSERT
336
78.1k
    0U, // G_MERGE_VALUES
337
78.1k
    0U, // G_BUILD_VECTOR
338
78.1k
    0U, // G_BUILD_VECTOR_TRUNC
339
78.1k
    0U, // G_CONCAT_VECTORS
340
78.1k
    0U, // G_PTRTOINT
341
78.1k
    0U, // G_INTTOPTR
342
78.1k
    0U, // G_BITCAST
343
78.1k
    0U, // G_INTRINSIC_TRUNC
344
78.1k
    0U, // G_INTRINSIC_ROUND
345
78.1k
    0U, // G_LOAD
346
78.1k
    0U, // G_SEXTLOAD
347
78.1k
    0U, // G_ZEXTLOAD
348
78.1k
    0U, // G_STORE
349
78.1k
    0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
350
78.1k
    0U, // G_ATOMIC_CMPXCHG
351
78.1k
    0U, // G_ATOMICRMW_XCHG
352
78.1k
    0U, // G_ATOMICRMW_ADD
353
78.1k
    0U, // G_ATOMICRMW_SUB
354
78.1k
    0U, // G_ATOMICRMW_AND
355
78.1k
    0U, // G_ATOMICRMW_NAND
356
78.1k
    0U, // G_ATOMICRMW_OR
357
78.1k
    0U, // G_ATOMICRMW_XOR
358
78.1k
    0U, // G_ATOMICRMW_MAX
359
78.1k
    0U, // G_ATOMICRMW_MIN
360
78.1k
    0U, // G_ATOMICRMW_UMAX
361
78.1k
    0U, // G_ATOMICRMW_UMIN
362
78.1k
    0U, // G_BRCOND
363
78.1k
    0U, // G_BRINDIRECT
364
78.1k
    0U, // G_INTRINSIC
365
78.1k
    0U, // G_INTRINSIC_W_SIDE_EFFECTS
366
78.1k
    0U, // G_ANYEXT
367
78.1k
    0U, // G_TRUNC
368
78.1k
    0U, // G_CONSTANT
369
78.1k
    0U, // G_FCONSTANT
370
78.1k
    0U, // G_VASTART
371
78.1k
    0U, // G_VAARG
372
78.1k
    0U, // G_SEXT
373
78.1k
    0U, // G_ZEXT
374
78.1k
    0U, // G_SHL
375
78.1k
    0U, // G_LSHR
376
78.1k
    0U, // G_ASHR
377
78.1k
    0U, // G_ICMP
378
78.1k
    0U, // G_FCMP
379
78.1k
    0U, // G_SELECT
380
78.1k
    0U, // G_UADDO
381
78.1k
    0U, // G_UADDE
382
78.1k
    0U, // G_USUBO
383
78.1k
    0U, // G_USUBE
384
78.1k
    0U, // G_SADDO
385
78.1k
    0U, // G_SADDE
386
78.1k
    0U, // G_SSUBO
387
78.1k
    0U, // G_SSUBE
388
78.1k
    0U, // G_UMULO
389
78.1k
    0U, // G_SMULO
390
78.1k
    0U, // G_UMULH
391
78.1k
    0U, // G_SMULH
392
78.1k
    0U, // G_FADD
393
78.1k
    0U, // G_FSUB
394
78.1k
    0U, // G_FMUL
395
78.1k
    0U, // G_FMA
396
78.1k
    0U, // G_FDIV
397
78.1k
    0U, // G_FREM
398
78.1k
    0U, // G_FPOW
399
78.1k
    0U, // G_FEXP
400
78.1k
    0U, // G_FEXP2
401
78.1k
    0U, // G_FLOG
402
78.1k
    0U, // G_FLOG2
403
78.1k
    0U, // G_FLOG10
404
78.1k
    0U, // G_FNEG
405
78.1k
    0U, // G_FPEXT
406
78.1k
    0U, // G_FPTRUNC
407
78.1k
    0U, // G_FPTOSI
408
78.1k
    0U, // G_FPTOUI
409
78.1k
    0U, // G_SITOFP
410
78.1k
    0U, // G_UITOFP
411
78.1k
    0U, // G_FABS
412
78.1k
    0U, // G_FCANONICALIZE
413
78.1k
    0U, // G_GEP
414
78.1k
    0U, // G_PTR_MASK
415
78.1k
    0U, // G_BR
416
78.1k
    0U, // G_INSERT_VECTOR_ELT
417
78.1k
    0U, // G_EXTRACT_VECTOR_ELT
418
78.1k
    0U, // G_SHUFFLE_VECTOR
419
78.1k
    0U, // G_CTTZ
420
78.1k
    0U, // G_CTTZ_ZERO_UNDEF
421
78.1k
    0U, // G_CTLZ
422
78.1k
    0U, // G_CTLZ_ZERO_UNDEF
423
78.1k
    0U, // G_CTPOP
424
78.1k
    0U, // G_BSWAP
425
78.1k
    0U, // G_FCEIL
426
78.1k
    0U, // G_FCOS
427
78.1k
    0U, // G_FSIN
428
78.1k
    0U, // G_FSQRT
429
78.1k
    0U, // G_FFLOOR
430
78.1k
    0U, // G_ADDRSPACE_CAST
431
78.1k
    0U, // G_BLOCK_ADDR
432
78.1k
    4U, // ADJCALLSTACKDOWN
433
78.1k
    4U, // ADJCALLSTACKUP
434
78.1k
    4U, // BuildPairF64Pseudo
435
78.1k
    4U, // PseudoAtomicLoadNand32
436
78.1k
    4U, // PseudoAtomicLoadNand64
437
78.1k
    4U, // PseudoBR
438
78.1k
    4U, // PseudoBRIND
439
78.1k
    4687U,  // PseudoCALL
440
78.1k
    4U, // PseudoCALLIndirect
441
78.1k
    4U, // PseudoCmpXchg32
442
78.1k
    4U, // PseudoCmpXchg64
443
78.1k
    20482U, // PseudoLA
444
78.1k
    20967U, // PseudoLI
445
78.1k
    20481U, // PseudoLLA
446
78.1k
    4U, // PseudoMaskedAtomicLoadAdd32
447
78.1k
    4U, // PseudoMaskedAtomicLoadMax32
448
78.1k
    4U, // PseudoMaskedAtomicLoadMin32
449
78.1k
    4U, // PseudoMaskedAtomicLoadNand32
450
78.1k
    4U, // PseudoMaskedAtomicLoadSub32
451
78.1k
    4U, // PseudoMaskedAtomicLoadUMax32
452
78.1k
    4U, // PseudoMaskedAtomicLoadUMin32
453
78.1k
    4U, // PseudoMaskedAtomicSwap32
454
78.1k
    4U, // PseudoMaskedCmpXchg32
455
78.1k
    4U, // PseudoRET
456
78.1k
    4680U,  // PseudoTAIL
457
78.1k
    4U, // PseudoTAILIndirect
458
78.1k
    4U, // Select_FPR32_Using_CC_GPR
459
78.1k
    4U, // Select_FPR64_Using_CC_GPR
460
78.1k
    4U, // Select_GPR_Using_CC_GPR
461
78.1k
    4U, // SplitF64Pseudo
462
78.1k
    20854U, // ADD
463
78.1k
    20946U, // ADDI
464
78.1k
    22637U, // ADDIW
465
78.1k
    22622U, // ADDW
466
78.1k
    20592U, // AMOADD_D
467
78.1k
    21817U, // AMOADD_D_AQ
468
78.1k
    21367U, // AMOADD_D_AQ_RL
469
78.1k
    21091U, // AMOADD_D_RL
470
78.1k
    22489U, // AMOADD_W
471
78.1k
    21954U, // AMOADD_W_AQ
472
78.1k
    21526U, // AMOADD_W_AQ_RL
473
78.1k
    21228U, // AMOADD_W_RL
474
78.1k
    20602U, // AMOAND_D
475
78.1k
    21830U, // AMOAND_D_AQ
476
78.1k
    21382U, // AMOAND_D_AQ_RL
477
78.1k
    21104U, // AMOAND_D_RL
478
78.1k
    22499U, // AMOAND_W
479
78.1k
    21967U, // AMOAND_W_AQ
480
78.1k
    21541U, // AMOAND_W_AQ_RL
481
78.1k
    21241U, // AMOAND_W_RL
482
78.1k
    20786U, // AMOMAXU_D
483
78.1k
    21918U, // AMOMAXU_D_AQ
484
78.1k
    21484U, // AMOMAXU_D_AQ_RL
485
78.1k
    21192U, // AMOMAXU_D_RL
486
78.1k
    22576U, // AMOMAXU_W
487
78.1k
    22055U, // AMOMAXU_W_AQ
488
78.1k
    21643U, // AMOMAXU_W_AQ_RL
489
78.1k
    21329U, // AMOMAXU_W_RL
490
78.1k
    20832U, // AMOMAX_D
491
78.1k
    21932U, // AMOMAX_D_AQ
492
78.1k
    21500U, // AMOMAX_D_AQ_RL
493
78.1k
    21206U, // AMOMAX_D_RL
494
78.1k
    22596U, // AMOMAX_W
495
78.1k
    22069U, // AMOMAX_W_AQ
496
78.1k
    21659U, // AMOMAX_W_AQ_RL
497
78.1k
    21343U, // AMOMAX_W_RL
498
78.1k
    20764U, // AMOMINU_D
499
78.1k
    21904U, // AMOMINU_D_AQ
500
78.1k
    21468U, // AMOMINU_D_AQ_RL
501
78.1k
    21178U, // AMOMINU_D_RL
502
78.1k
    22565U, // AMOMINU_W
503
78.1k
    22041U, // AMOMINU_W_AQ
504
78.1k
    21627U, // AMOMINU_W_AQ_RL
505
78.1k
    21315U, // AMOMINU_W_RL
506
78.1k
    20654U, // AMOMIN_D
507
78.1k
    21843U, // AMOMIN_D_AQ
508
78.1k
    21397U, // AMOMIN_D_AQ_RL
509
78.1k
    21117U, // AMOMIN_D_RL
510
78.1k
    22509U, // AMOMIN_W
511
78.1k
    21980U, // AMOMIN_W_AQ
512
78.1k
    21556U, // AMOMIN_W_AQ_RL
513
78.1k
    21254U, // AMOMIN_W_RL
514
78.1k
    20698U, // AMOOR_D
515
78.1k
    21879U, // AMOOR_D_AQ
516
78.1k
    21439U, // AMOOR_D_AQ_RL
517
78.1k
    21153U, // AMOOR_D_RL
518
78.1k
    22536U, // AMOOR_W
519
78.1k
    22016U, // AMOOR_W_AQ
520
78.1k
    21598U, // AMOOR_W_AQ_RL
521
78.1k
    21290U, // AMOOR_W_RL
522
78.1k
    20674U, // AMOSWAP_D
523
78.1k
    21856U, // AMOSWAP_D_AQ
524
78.1k
    21412U, // AMOSWAP_D_AQ_RL
525
78.1k
    21130U, // AMOSWAP_D_RL
526
78.1k
    22519U, // AMOSWAP_W
527
78.1k
    21993U, // AMOSWAP_W_AQ
528
78.1k
    21571U, // AMOSWAP_W_AQ_RL
529
78.1k
    21267U, // AMOSWAP_W_RL
530
78.1k
    20707U, // AMOXOR_D
531
78.1k
    21891U, // AMOXOR_D_AQ
532
78.1k
    21453U, // AMOXOR_D_AQ_RL
533
78.1k
    21165U, // AMOXOR_D_RL
534
78.1k
    22545U, // AMOXOR_W
535
78.1k
    22028U, // AMOXOR_W_AQ
536
78.1k
    21612U, // AMOXOR_W_AQ_RL
537
78.1k
    21302U, // AMOXOR_W_RL
538
78.1k
    20874U, // AND
539
78.1k
    20954U, // ANDI
540
78.1k
    20518U, // AUIPC
541
78.1k
    22082U, // BEQ
542
78.1k
    20899U, // BGE
543
78.1k
    22361U, // BGEU
544
78.1k
    22346U, // BLT
545
78.1k
    22417U, // BLTU
546
78.1k
    20904U, // BNE
547
78.1k
    20525U, // CSRRC
548
78.1k
    20936U, // CSRRCI
549
78.1k
    22321U, // CSRRS
550
78.1k
    20993U, // CSRRSI
551
78.1k
    22695U, // CSRRW
552
78.1k
    21014U, // CSRRWI
553
78.1k
    8564U,  // C_ADD
554
78.1k
    8656U,  // C_ADDI
555
78.1k
    9440U,  // C_ADDI16SP
556
78.1k
    21689U, // C_ADDI4SPN
557
78.1k
    10347U, // C_ADDIW
558
78.1k
    10332U, // C_ADDW
559
78.1k
    8584U,  // C_AND
560
78.1k
    8664U,  // C_ANDI
561
78.1k
    22761U, // C_BEQZ
562
78.1k
    22753U, // C_BNEZ
563
78.1k
    547U, // C_EBREAK
564
78.1k
    20865U, // C_FLD
565
78.1k
    21748U, // C_FLDSP
566
78.1k
    22664U, // C_FLW
567
78.1k
    21782U, // C_FLWSP
568
78.1k
    20885U, // C_FSD
569
78.1k
    21765U, // C_FSDSP
570
78.1k
    22708U, // C_FSW
571
78.1k
    21799U, // C_FSWSP
572
78.1k
    4638U,  // C_J
573
78.1k
    4673U,  // C_JAL
574
78.1k
    5709U,  // C_JALR
575
78.1k
    5703U,  // C_JR
576
78.1k
    20859U, // C_LD
577
78.1k
    21740U, // C_LDSP
578
78.1k
    20965U, // C_LI
579
78.1k
    21007U, // C_LUI
580
78.1k
    22658U, // C_LW
581
78.1k
    21774U, // C_LWSP
582
78.1k
    22467U, // C_MV
583
78.1k
    1241U,  // C_NOP
584
78.1k
    9813U,  // C_OR
585
78.1k
    20879U, // C_SD
586
78.1k
    21757U, // C_SDSP
587
78.1k
    8683U,  // C_SLLI
588
78.1k
    8640U,  // C_SRAI
589
78.1k
    8691U,  // C_SRLI
590
78.1k
    8223U,  // C_SUB
591
78.1k
    10324U, // C_SUBW
592
78.1k
    22702U, // C_SW
593
78.1k
    21791U, // C_SWSP
594
78.1k
    1232U,  // C_UNIMP
595
78.1k
    9819U,  // C_XOR
596
78.1k
    22462U, // DIV
597
78.1k
    22429U, // DIVU
598
78.1k
    22722U, // DIVUW
599
78.1k
    22729U, // DIVW
600
78.1k
    549U, // EBREAK
601
78.1k
    590U, // ECALL
602
78.1k
    20565U, // FADD_D
603
78.1k
    22151U, // FADD_S
604
78.1k
    20727U, // FCLASS_D
605
78.1k
    22237U, // FCLASS_S
606
78.1k
    21037U, // FCVT_D_L
607
78.1k
    22381U, // FCVT_D_LU
608
78.1k
    22141U, // FCVT_D_S
609
78.1k
    22479U, // FCVT_D_W
610
78.1k
    22435U, // FCVT_D_WU
611
78.1k
    20753U, // FCVT_LU_D
612
78.1k
    22263U, // FCVT_LU_S
613
78.1k
    20628U, // FCVT_L_D
614
78.1k
    22194U, // FCVT_L_S
615
78.1k
    20717U, // FCVT_S_D
616
78.1k
    21047U, // FCVT_S_L
617
78.1k
    22392U, // FCVT_S_LU
618
78.1k
    22555U, // FCVT_S_W
619
78.1k
    22446U, // FCVT_S_WU
620
78.1k
    20775U, // FCVT_WU_D
621
78.1k
    22274U, // FCVT_WU_S
622
78.1k
    20805U, // FCVT_W_D
623
78.1k
    22293U, // FCVT_W_S
624
78.1k
    20797U, // FDIV_D
625
78.1k
    22285U, // FDIV_S
626
78.1k
    12700U, // FENCE
627
78.1k
    439U, // FENCE_I
628
78.1k
    1221U,  // FENCE_TSO
629
78.1k
    20685U, // FEQ_D
630
78.1k
    22230U, // FEQ_S
631
78.1k
    20867U, // FLD
632
78.1k
    20612U, // FLE_D
633
78.1k
    22178U, // FLE_S
634
78.1k
    20737U, // FLT_D
635
78.1k
    22247U, // FLT_S
636
78.1k
    22666U, // FLW
637
78.1k
    20573U, // FMADD_D
638
78.1k
    22159U, // FMADD_S
639
78.1k
    20824U, // FMAX_D
640
78.1k
    22303U, // FMAX_S
641
78.1k
    20646U, // FMIN_D
642
78.1k
    22212U, // FMIN_S
643
78.1k
    20540U, // FMSUB_D
644
78.1k
    22122U, // FMSUB_S
645
78.1k
    20638U, // FMUL_D
646
78.1k
    22204U, // FMUL_S
647
78.1k
    22735U, // FMV_D_X
648
78.1k
    22744U, // FMV_W_X
649
78.1k
    20815U, // FMV_X_D
650
78.1k
    22587U, // FMV_X_W
651
78.1k
    20582U, // FNMADD_D
652
78.1k
    22168U, // FNMADD_S
653
78.1k
    20549U, // FNMSUB_D
654
78.1k
    22131U, // FNMSUB_S
655
78.1k
    20887U, // FSD
656
78.1k
    20664U, // FSGNJN_D
657
78.1k
    22220U, // FSGNJN_S
658
78.1k
    20842U, // FSGNJX_D
659
78.1k
    22311U, // FSGNJX_S
660
78.1k
    20619U, // FSGNJ_D
661
78.1k
    22185U, // FSGNJ_S
662
78.1k
    20744U, // FSQRT_D
663
78.1k
    22254U, // FSQRT_S
664
78.1k
    20532U, // FSUB_D
665
78.1k
    22114U, // FSUB_S
666
78.1k
    22710U, // FSW
667
78.1k
    21059U, // JAL
668
78.1k
    22095U, // JALR
669
78.1k
    20503U, // LB
670
78.1k
    22356U, // LBU
671
78.1k
    20861U, // LD
672
78.1k
    20911U, // LH
673
78.1k
    22369U, // LHU
674
78.1k
    37076U, // LR_D
675
78.1k
    38254U, // LR_D_AQ
676
78.1k
    37812U, // LR_D_AQ_RL
677
78.1k
    37528U, // LR_D_RL
678
78.1k
    38914U, // LR_W
679
78.1k
    38391U, // LR_W_AQ
680
78.1k
    37971U, // LR_W_AQ_RL
681
78.1k
    37665U, // LR_W_RL
682
78.1k
    21009U, // LUI
683
78.1k
    22660U, // LW
684
78.1k
    22457U, // LWU
685
78.1k
    1848U,  // MRET
686
78.1k
    21679U, // MUL
687
78.1k
    20909U, // MULH
688
78.1k
    22409U, // MULHSU
689
78.1k
    22367U, // MULHU
690
78.1k
    22683U, // MULW
691
78.1k
    22103U, // OR
692
78.1k
    20988U, // ORI
693
78.1k
    21684U, // REM
694
78.1k
    22403U, // REMU
695
78.1k
    22715U, // REMUW
696
78.1k
    22689U, // REMW
697
78.1k
    20507U, // SB
698
78.1k
    20559U, // SC_D
699
78.1k
    21808U, // SC_D_AQ
700
78.1k
    21356U, // SC_D_AQ_RL
701
78.1k
    21082U, // SC_D_RL
702
78.1k
    22473U, // SC_W
703
78.1k
    21945U, // SC_W_AQ
704
78.1k
    21515U, // SC_W_AQ_RL
705
78.1k
    21219U, // SC_W_RL
706
78.1k
    20881U, // SD
707
78.1k
    20486U, // SFENCE_VMA
708
78.1k
    20915U, // SH
709
78.1k
    21077U, // SLL
710
78.1k
    20973U, // SLLI
711
78.1k
    22644U, // SLLIW
712
78.1k
    22671U, // SLLW
713
78.1k
    22351U, // SLT
714
78.1k
    21001U, // SLTI
715
78.1k
    22374U, // SLTIU
716
78.1k
    22423U, // SLTU
717
78.1k
    20498U, // SRA
718
78.1k
    20930U, // SRAI
719
78.1k
    22628U, // SRAIW
720
78.1k
    22606U, // SRAW
721
78.1k
    1854U,  // SRET
722
78.1k
    21674U, // SRL
723
78.1k
    20981U, // SRLI
724
78.1k
    22651U, // SRLIW
725
78.1k
    22677U, // SRLW
726
78.1k
    20513U, // SUB
727
78.1k
    22614U, // SUBW
728
78.1k
    22704U, // SW
729
78.1k
    1234U,  // UNIMP
730
78.1k
    1860U,  // URET
731
78.1k
    480U, // WFI
732
78.1k
    22109U, // XOR
733
78.1k
    20987U, // XORI
734
78.1k
  };
735
736
78.1k
  static const uint8_t OpInfo1[] = {
737
78.1k
    0U, // PHI
738
78.1k
    0U, // INLINEASM
739
78.1k
    0U, // INLINEASM_BR
740
78.1k
    0U, // CFI_INSTRUCTION
741
78.1k
    0U, // EH_LABEL
742
78.1k
    0U, // GC_LABEL
743
78.1k
    0U, // ANNOTATION_LABEL
744
78.1k
    0U, // KILL
745
78.1k
    0U, // EXTRACT_SUBREG
746
78.1k
    0U, // INSERT_SUBREG
747
78.1k
    0U, // IMPLICIT_DEF
748
78.1k
    0U, // SUBREG_TO_REG
749
78.1k
    0U, // COPY_TO_REGCLASS
750
78.1k
    0U, // DBG_VALUE
751
78.1k
    0U, // DBG_LABEL
752
78.1k
    0U, // REG_SEQUENCE
753
78.1k
    0U, // COPY
754
78.1k
    0U, // BUNDLE
755
78.1k
    0U, // LIFETIME_START
756
78.1k
    0U, // LIFETIME_END
757
78.1k
    0U, // STACKMAP
758
78.1k
    0U, // FENTRY_CALL
759
78.1k
    0U, // PATCHPOINT
760
78.1k
    0U, // LOAD_STACK_GUARD
761
78.1k
    0U, // STATEPOINT
762
78.1k
    0U, // LOCAL_ESCAPE
763
78.1k
    0U, // FAULTING_OP
764
78.1k
    0U, // PATCHABLE_OP
765
78.1k
    0U, // PATCHABLE_FUNCTION_ENTER
766
78.1k
    0U, // PATCHABLE_RET
767
78.1k
    0U, // PATCHABLE_FUNCTION_EXIT
768
78.1k
    0U, // PATCHABLE_TAIL_CALL
769
78.1k
    0U, // PATCHABLE_EVENT_CALL
770
78.1k
    0U, // PATCHABLE_TYPED_EVENT_CALL
771
78.1k
    0U, // ICALL_BRANCH_FUNNEL
772
78.1k
    0U, // G_ADD
773
78.1k
    0U, // G_SUB
774
78.1k
    0U, // G_MUL
775
78.1k
    0U, // G_SDIV
776
78.1k
    0U, // G_UDIV
777
78.1k
    0U, // G_SREM
778
78.1k
    0U, // G_UREM
779
78.1k
    0U, // G_AND
780
78.1k
    0U, // G_OR
781
78.1k
    0U, // G_XOR
782
78.1k
    0U, // G_IMPLICIT_DEF
783
78.1k
    0U, // G_PHI
784
78.1k
    0U, // G_FRAME_INDEX
785
78.1k
    0U, // G_GLOBAL_VALUE
786
78.1k
    0U, // G_EXTRACT
787
78.1k
    0U, // G_UNMERGE_VALUES
788
78.1k
    0U, // G_INSERT
789
78.1k
    0U, // G_MERGE_VALUES
790
78.1k
    0U, // G_BUILD_VECTOR
791
78.1k
    0U, // G_BUILD_VECTOR_TRUNC
792
78.1k
    0U, // G_CONCAT_VECTORS
793
78.1k
    0U, // G_PTRTOINT
794
78.1k
    0U, // G_INTTOPTR
795
78.1k
    0U, // G_BITCAST
796
78.1k
    0U, // G_INTRINSIC_TRUNC
797
78.1k
    0U, // G_INTRINSIC_ROUND
798
78.1k
    0U, // G_LOAD
799
78.1k
    0U, // G_SEXTLOAD
800
78.1k
    0U, // G_ZEXTLOAD
801
78.1k
    0U, // G_STORE
802
78.1k
    0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
803
78.1k
    0U, // G_ATOMIC_CMPXCHG
804
78.1k
    0U, // G_ATOMICRMW_XCHG
805
78.1k
    0U, // G_ATOMICRMW_ADD
806
78.1k
    0U, // G_ATOMICRMW_SUB
807
78.1k
    0U, // G_ATOMICRMW_AND
808
78.1k
    0U, // G_ATOMICRMW_NAND
809
78.1k
    0U, // G_ATOMICRMW_OR
810
78.1k
    0U, // G_ATOMICRMW_XOR
811
78.1k
    0U, // G_ATOMICRMW_MAX
812
78.1k
    0U, // G_ATOMICRMW_MIN
813
78.1k
    0U, // G_ATOMICRMW_UMAX
814
78.1k
    0U, // G_ATOMICRMW_UMIN
815
78.1k
    0U, // G_BRCOND
816
78.1k
    0U, // G_BRINDIRECT
817
78.1k
    0U, // G_INTRINSIC
818
78.1k
    0U, // G_INTRINSIC_W_SIDE_EFFECTS
819
78.1k
    0U, // G_ANYEXT
820
78.1k
    0U, // G_TRUNC
821
78.1k
    0U, // G_CONSTANT
822
78.1k
    0U, // G_FCONSTANT
823
78.1k
    0U, // G_VASTART
824
78.1k
    0U, // G_VAARG
825
78.1k
    0U, // G_SEXT
826
78.1k
    0U, // G_ZEXT
827
78.1k
    0U, // G_SHL
828
78.1k
    0U, // G_LSHR
829
78.1k
    0U, // G_ASHR
830
78.1k
    0U, // G_ICMP
831
78.1k
    0U, // G_FCMP
832
78.1k
    0U, // G_SELECT
833
78.1k
    0U, // G_UADDO
834
78.1k
    0U, // G_UADDE
835
78.1k
    0U, // G_USUBO
836
78.1k
    0U, // G_USUBE
837
78.1k
    0U, // G_SADDO
838
78.1k
    0U, // G_SADDE
839
78.1k
    0U, // G_SSUBO
840
78.1k
    0U, // G_SSUBE
841
78.1k
    0U, // G_UMULO
842
78.1k
    0U, // G_SMULO
843
78.1k
    0U, // G_UMULH
844
78.1k
    0U, // G_SMULH
845
78.1k
    0U, // G_FADD
846
78.1k
    0U, // G_FSUB
847
78.1k
    0U, // G_FMUL
848
78.1k
    0U, // G_FMA
849
78.1k
    0U, // G_FDIV
850
78.1k
    0U, // G_FREM
851
78.1k
    0U, // G_FPOW
852
78.1k
    0U, // G_FEXP
853
78.1k
    0U, // G_FEXP2
854
78.1k
    0U, // G_FLOG
855
78.1k
    0U, // G_FLOG2
856
78.1k
    0U, // G_FLOG10
857
78.1k
    0U, // G_FNEG
858
78.1k
    0U, // G_FPEXT
859
78.1k
    0U, // G_FPTRUNC
860
78.1k
    0U, // G_FPTOSI
861
78.1k
    0U, // G_FPTOUI
862
78.1k
    0U, // G_SITOFP
863
78.1k
    0U, // G_UITOFP
864
78.1k
    0U, // G_FABS
865
78.1k
    0U, // G_FCANONICALIZE
866
78.1k
    0U, // G_GEP
867
78.1k
    0U, // G_PTR_MASK
868
78.1k
    0U, // G_BR
869
78.1k
    0U, // G_INSERT_VECTOR_ELT
870
78.1k
    0U, // G_EXTRACT_VECTOR_ELT
871
78.1k
    0U, // G_SHUFFLE_VECTOR
872
78.1k
    0U, // G_CTTZ
873
78.1k
    0U, // G_CTTZ_ZERO_UNDEF
874
78.1k
    0U, // G_CTLZ
875
78.1k
    0U, // G_CTLZ_ZERO_UNDEF
876
78.1k
    0U, // G_CTPOP
877
78.1k
    0U, // G_BSWAP
878
78.1k
    0U, // G_FCEIL
879
78.1k
    0U, // G_FCOS
880
78.1k
    0U, // G_FSIN
881
78.1k
    0U, // G_FSQRT
882
78.1k
    0U, // G_FFLOOR
883
78.1k
    0U, // G_ADDRSPACE_CAST
884
78.1k
    0U, // G_BLOCK_ADDR
885
78.1k
    0U, // ADJCALLSTACKDOWN
886
78.1k
    0U, // ADJCALLSTACKUP
887
78.1k
    0U, // BuildPairF64Pseudo
888
78.1k
    0U, // PseudoAtomicLoadNand32
889
78.1k
    0U, // PseudoAtomicLoadNand64
890
78.1k
    0U, // PseudoBR
891
78.1k
    0U, // PseudoBRIND
892
78.1k
    0U, // PseudoCALL
893
78.1k
    0U, // PseudoCALLIndirect
894
78.1k
    0U, // PseudoCmpXchg32
895
78.1k
    0U, // PseudoCmpXchg64
896
78.1k
    0U, // PseudoLA
897
78.1k
    0U, // PseudoLI
898
78.1k
    0U, // PseudoLLA
899
78.1k
    0U, // PseudoMaskedAtomicLoadAdd32
900
78.1k
    0U, // PseudoMaskedAtomicLoadMax32
901
78.1k
    0U, // PseudoMaskedAtomicLoadMin32
902
78.1k
    0U, // PseudoMaskedAtomicLoadNand32
903
78.1k
    0U, // PseudoMaskedAtomicLoadSub32
904
78.1k
    0U, // PseudoMaskedAtomicLoadUMax32
905
78.1k
    0U, // PseudoMaskedAtomicLoadUMin32
906
78.1k
    0U, // PseudoMaskedAtomicSwap32
907
78.1k
    0U, // PseudoMaskedCmpXchg32
908
78.1k
    0U, // PseudoRET
909
78.1k
    0U, // PseudoTAIL
910
78.1k
    0U, // PseudoTAILIndirect
911
78.1k
    0U, // Select_FPR32_Using_CC_GPR
912
78.1k
    0U, // Select_FPR64_Using_CC_GPR
913
78.1k
    0U, // Select_GPR_Using_CC_GPR
914
78.1k
    0U, // SplitF64Pseudo
915
78.1k
    4U, // ADD
916
78.1k
    4U, // ADDI
917
78.1k
    4U, // ADDIW
918
78.1k
    4U, // ADDW
919
78.1k
    9U, // AMOADD_D
920
78.1k
    9U, // AMOADD_D_AQ
921
78.1k
    9U, // AMOADD_D_AQ_RL
922
78.1k
    9U, // AMOADD_D_RL
923
78.1k
    9U, // AMOADD_W
924
78.1k
    9U, // AMOADD_W_AQ
925
78.1k
    9U, // AMOADD_W_AQ_RL
926
78.1k
    9U, // AMOADD_W_RL
927
78.1k
    9U, // AMOAND_D
928
78.1k
    9U, // AMOAND_D_AQ
929
78.1k
    9U, // AMOAND_D_AQ_RL
930
78.1k
    9U, // AMOAND_D_RL
931
78.1k
    9U, // AMOAND_W
932
78.1k
    9U, // AMOAND_W_AQ
933
78.1k
    9U, // AMOAND_W_AQ_RL
934
78.1k
    9U, // AMOAND_W_RL
935
78.1k
    9U, // AMOMAXU_D
936
78.1k
    9U, // AMOMAXU_D_AQ
937
78.1k
    9U, // AMOMAXU_D_AQ_RL
938
78.1k
    9U, // AMOMAXU_D_RL
939
78.1k
    9U, // AMOMAXU_W
940
78.1k
    9U, // AMOMAXU_W_AQ
941
78.1k
    9U, // AMOMAXU_W_AQ_RL
942
78.1k
    9U, // AMOMAXU_W_RL
943
78.1k
    9U, // AMOMAX_D
944
78.1k
    9U, // AMOMAX_D_AQ
945
78.1k
    9U, // AMOMAX_D_AQ_RL
946
78.1k
    9U, // AMOMAX_D_RL
947
78.1k
    9U, // AMOMAX_W
948
78.1k
    9U, // AMOMAX_W_AQ
949
78.1k
    9U, // AMOMAX_W_AQ_RL
950
78.1k
    9U, // AMOMAX_W_RL
951
78.1k
    9U, // AMOMINU_D
952
78.1k
    9U, // AMOMINU_D_AQ
953
78.1k
    9U, // AMOMINU_D_AQ_RL
954
78.1k
    9U, // AMOMINU_D_RL
955
78.1k
    9U, // AMOMINU_W
956
78.1k
    9U, // AMOMINU_W_AQ
957
78.1k
    9U, // AMOMINU_W_AQ_RL
958
78.1k
    9U, // AMOMINU_W_RL
959
78.1k
    9U, // AMOMIN_D
960
78.1k
    9U, // AMOMIN_D_AQ
961
78.1k
    9U, // AMOMIN_D_AQ_RL
962
78.1k
    9U, // AMOMIN_D_RL
963
78.1k
    9U, // AMOMIN_W
964
78.1k
    9U, // AMOMIN_W_AQ
965
78.1k
    9U, // AMOMIN_W_AQ_RL
966
78.1k
    9U, // AMOMIN_W_RL
967
78.1k
    9U, // AMOOR_D
968
78.1k
    9U, // AMOOR_D_AQ
969
78.1k
    9U, // AMOOR_D_AQ_RL
970
78.1k
    9U, // AMOOR_D_RL
971
78.1k
    9U, // AMOOR_W
972
78.1k
    9U, // AMOOR_W_AQ
973
78.1k
    9U, // AMOOR_W_AQ_RL
974
78.1k
    9U, // AMOOR_W_RL
975
78.1k
    9U, // AMOSWAP_D
976
78.1k
    9U, // AMOSWAP_D_AQ
977
78.1k
    9U, // AMOSWAP_D_AQ_RL
978
78.1k
    9U, // AMOSWAP_D_RL
979
78.1k
    9U, // AMOSWAP_W
980
78.1k
    9U, // AMOSWAP_W_AQ
981
78.1k
    9U, // AMOSWAP_W_AQ_RL
982
78.1k
    9U, // AMOSWAP_W_RL
983
78.1k
    9U, // AMOXOR_D
984
78.1k
    9U, // AMOXOR_D_AQ
985
78.1k
    9U, // AMOXOR_D_AQ_RL
986
78.1k
    9U, // AMOXOR_D_RL
987
78.1k
    9U, // AMOXOR_W
988
78.1k
    9U, // AMOXOR_W_AQ
989
78.1k
    9U, // AMOXOR_W_AQ_RL
990
78.1k
    9U, // AMOXOR_W_RL
991
78.1k
    4U, // AND
992
78.1k
    4U, // ANDI
993
78.1k
    0U, // AUIPC
994
78.1k
    4U, // BEQ
995
78.1k
    4U, // BGE
996
78.1k
    4U, // BGEU
997
78.1k
    4U, // BLT
998
78.1k
    4U, // BLTU
999
78.1k
    4U, // BNE
1000
78.1k
    2U, // CSRRC
1001
78.1k
    2U, // CSRRCI
1002
78.1k
    2U, // CSRRS
1003
78.1k
    2U, // CSRRSI
1004
78.1k
    2U, // CSRRW
1005
78.1k
    2U, // CSRRWI
1006
78.1k
    0U, // C_ADD
1007
78.1k
    0U, // C_ADDI
1008
78.1k
    0U, // C_ADDI16SP
1009
78.1k
    4U, // C_ADDI4SPN
1010
78.1k
    0U, // C_ADDIW
1011
78.1k
    0U, // C_ADDW
1012
78.1k
    0U, // C_AND
1013
78.1k
    0U, // C_ANDI
1014
78.1k
    0U, // C_BEQZ
1015
78.1k
    0U, // C_BNEZ
1016
78.1k
    0U, // C_EBREAK
1017
78.1k
    13U,  // C_FLD
1018
78.1k
    13U,  // C_FLDSP
1019
78.1k
    13U,  // C_FLW
1020
78.1k
    13U,  // C_FLWSP
1021
78.1k
    13U,  // C_FSD
1022
78.1k
    13U,  // C_FSDSP
1023
78.1k
    13U,  // C_FSW
1024
78.1k
    13U,  // C_FSWSP
1025
78.1k
    0U, // C_J
1026
78.1k
    0U, // C_JAL
1027
78.1k
    0U, // C_JALR
1028
78.1k
    0U, // C_JR
1029
78.1k
    13U,  // C_LD
1030
78.1k
    13U,  // C_LDSP
1031
78.1k
    0U, // C_LI
1032
78.1k
    0U, // C_LUI
1033
78.1k
    13U,  // C_LW
1034
78.1k
    13U,  // C_LWSP
1035
78.1k
    0U, // C_MV
1036
78.1k
    0U, // C_NOP
1037
78.1k
    0U, // C_OR
1038
78.1k
    13U,  // C_SD
1039
78.1k
    13U,  // C_SDSP
1040
78.1k
    0U, // C_SLLI
1041
78.1k
    0U, // C_SRAI
1042
78.1k
    0U, // C_SRLI
1043
78.1k
    0U, // C_SUB
1044
78.1k
    0U, // C_SUBW
1045
78.1k
    13U,  // C_SW
1046
78.1k
    13U,  // C_SWSP
1047
78.1k
    0U, // C_UNIMP
1048
78.1k
    0U, // C_XOR
1049
78.1k
    4U, // DIV
1050
78.1k
    4U, // DIVU
1051
78.1k
    4U, // DIVUW
1052
78.1k
    4U, // DIVW
1053
78.1k
    0U, // EBREAK
1054
78.1k
    0U, // ECALL
1055
78.1k
    36U,  // FADD_D
1056
78.1k
    36U,  // FADD_S
1057
78.1k
    0U, // FCLASS_D
1058
78.1k
    0U, // FCLASS_S
1059
78.1k
    20U,  // FCVT_D_L
1060
78.1k
    20U,  // FCVT_D_LU
1061
78.1k
    0U, // FCVT_D_S
1062
78.1k
    0U, // FCVT_D_W
1063
78.1k
    0U, // FCVT_D_WU
1064
78.1k
    20U,  // FCVT_LU_D
1065
78.1k
    20U,  // FCVT_LU_S
1066
78.1k
    20U,  // FCVT_L_D
1067
78.1k
    20U,  // FCVT_L_S
1068
78.1k
    20U,  // FCVT_S_D
1069
78.1k
    20U,  // FCVT_S_L
1070
78.1k
    20U,  // FCVT_S_LU
1071
78.1k
    20U,  // FCVT_S_W
1072
78.1k
    20U,  // FCVT_S_WU
1073
78.1k
    20U,  // FCVT_WU_D
1074
78.1k
    20U,  // FCVT_WU_S
1075
78.1k
    20U,  // FCVT_W_D
1076
78.1k
    20U,  // FCVT_W_S
1077
78.1k
    36U,  // FDIV_D
1078
78.1k
    36U,  // FDIV_S
1079
78.1k
    0U, // FENCE
1080
78.1k
    0U, // FENCE_I
1081
78.1k
    0U, // FENCE_TSO
1082
78.1k
    4U, // FEQ_D
1083
78.1k
    4U, // FEQ_S
1084
78.1k
    13U,  // FLD
1085
78.1k
    4U, // FLE_D
1086
78.1k
    4U, // FLE_S
1087
78.1k
    4U, // FLT_D
1088
78.1k
    4U, // FLT_S
1089
78.1k
    13U,  // FLW
1090
78.1k
    100U, // FMADD_D
1091
78.1k
    100U, // FMADD_S
1092
78.1k
    4U, // FMAX_D
1093
78.1k
    4U, // FMAX_S
1094
78.1k
    4U, // FMIN_D
1095
78.1k
    4U, // FMIN_S
1096
78.1k
    100U, // FMSUB_D
1097
78.1k
    100U, // FMSUB_S
1098
78.1k
    36U,  // FMUL_D
1099
78.1k
    36U,  // FMUL_S
1100
78.1k
    0U, // FMV_D_X
1101
78.1k
    0U, // FMV_W_X
1102
78.1k
    0U, // FMV_X_D
1103
78.1k
    0U, // FMV_X_W
1104
78.1k
    100U, // FNMADD_D
1105
78.1k
    100U, // FNMADD_S
1106
78.1k
    100U, // FNMSUB_D
1107
78.1k
    100U, // FNMSUB_S
1108
78.1k
    13U,  // FSD
1109
78.1k
    4U, // FSGNJN_D
1110
78.1k
    4U, // FSGNJN_S
1111
78.1k
    4U, // FSGNJX_D
1112
78.1k
    4U, // FSGNJX_S
1113
78.1k
    4U, // FSGNJ_D
1114
78.1k
    4U, // FSGNJ_S
1115
78.1k
    20U,  // FSQRT_D
1116
78.1k
    20U,  // FSQRT_S
1117
78.1k
    36U,  // FSUB_D
1118
78.1k
    36U,  // FSUB_S
1119
78.1k
    13U,  // FSW
1120
78.1k
    0U, // JAL
1121
78.1k
    4U, // JALR
1122
78.1k
    13U,  // LB
1123
78.1k
    13U,  // LBU
1124
78.1k
    13U,  // LD
1125
78.1k
    13U,  // LH
1126
78.1k
    13U,  // LHU
1127
78.1k
    0U, // LR_D
1128
78.1k
    0U, // LR_D_AQ
1129
78.1k
    0U, // LR_D_AQ_RL
1130
78.1k
    0U, // LR_D_RL
1131
78.1k
    0U, // LR_W
1132
78.1k
    0U, // LR_W_AQ
1133
78.1k
    0U, // LR_W_AQ_RL
1134
78.1k
    0U, // LR_W_RL
1135
78.1k
    0U, // LUI
1136
78.1k
    13U,  // LW
1137
78.1k
    13U,  // LWU
1138
78.1k
    0U, // MRET
1139
78.1k
    4U, // MUL
1140
78.1k
    4U, // MULH
1141
78.1k
    4U, // MULHSU
1142
78.1k
    4U, // MULHU
1143
78.1k
    4U, // MULW
1144
78.1k
    4U, // OR
1145
78.1k
    4U, // ORI
1146
78.1k
    4U, // REM
1147
78.1k
    4U, // REMU
1148
78.1k
    4U, // REMUW
1149
78.1k
    4U, // REMW
1150
78.1k
    13U,  // SB
1151
78.1k
    9U, // SC_D
1152
78.1k
    9U, // SC_D_AQ
1153
78.1k
    9U, // SC_D_AQ_RL
1154
78.1k
    9U, // SC_D_RL
1155
78.1k
    9U, // SC_W
1156
78.1k
    9U, // SC_W_AQ
1157
78.1k
    9U, // SC_W_AQ_RL
1158
78.1k
    9U, // SC_W_RL
1159
78.1k
    13U,  // SD
1160
78.1k
    0U, // SFENCE_VMA
1161
78.1k
    13U,  // SH
1162
78.1k
    4U, // SLL
1163
78.1k
    4U, // SLLI
1164
78.1k
    4U, // SLLIW
1165
78.1k
    4U, // SLLW
1166
78.1k
    4U, // SLT
1167
78.1k
    4U, // SLTI
1168
78.1k
    4U, // SLTIU
1169
78.1k
    4U, // SLTU
1170
78.1k
    4U, // SRA
1171
78.1k
    4U, // SRAI
1172
78.1k
    4U, // SRAIW
1173
78.1k
    4U, // SRAW
1174
78.1k
    0U, // SRET
1175
78.1k
    4U, // SRL
1176
78.1k
    4U, // SRLI
1177
78.1k
    4U, // SRLIW
1178
78.1k
    4U, // SRLW
1179
78.1k
    4U, // SUB
1180
78.1k
    4U, // SUBW
1181
78.1k
    13U,  // SW
1182
78.1k
    0U, // UNIMP
1183
78.1k
    0U, // URET
1184
78.1k
    0U, // WFI
1185
78.1k
    4U, // XOR
1186
78.1k
    4U, // XORI
1187
78.1k
  };
1188
1189
  // Emit the opcode for the instruction.
1190
78.1k
  uint32_t Bits = 0;
1191
78.1k
  Bits |= OpInfo0[MCInst_getOpcode(MI)] << 0;
1192
78.1k
  Bits |= OpInfo1[MCInst_getOpcode(MI)] << 16;
1193
78.1k
  CS_ASSERT(Bits != 0 && "Cannot print this instruction.");
1194
78.1k
#ifndef CAPSTONE_DIET
1195
78.1k
  SStream_concat0(O, AsmStrs+(Bits & 4095)-1);
1196
78.1k
#endif
1197
1198
1199
  // Fragment 0 encoded into 2 bits for 4 unique commands.
1200
78.1k
  switch ((uint32_t)((Bits >> 12) & 3)) {
1201
0
  default:
1202
0
    CS_ASSERT(0 && "Invalid command number.");
1203
0
    return;
1204
85
  case 0:
1205
    // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
1206
85
    return;
1207
0
    break;
1208
77.3k
  case 1:
1209
    // PseudoCALL, PseudoLA, PseudoLI, PseudoLLA, PseudoTAIL, ADD, ADDI, ADDI...
1210
77.3k
    printOperand(MI, 0, O);
1211
77.3k
    break;
1212
0
  case 2:
1213
    // C_ADD, C_ADDI, C_ADDI16SP, C_ADDIW, C_ADDW, C_AND, C_ANDI, C_OR, C_SLL...
1214
0
    printOperand(MI, 1, O);
1215
0
    SStream_concat0(O, ", ");
1216
0
    printOperand(MI, 2, O);
1217
0
    return;
1218
0
    break;
1219
704
  case 3:
1220
    // FENCE
1221
704
    printFenceArg(MI, 0, O);
1222
704
    SStream_concat0(O, ", ");
1223
704
    printFenceArg(MI, 1, O);
1224
704
    return;
1225
0
    break;
1226
78.1k
  }
1227
1228
1229
  // Fragment 1 encoded into 2 bits for 3 unique commands.
1230
77.3k
  switch ((uint32_t)((Bits >> 14) & 3)) {
1231
0
  default:
1232
0
    CS_ASSERT(0 && "Invalid command number.");
1233
0
    return;
1234
0
  case 0:
1235
    // PseudoCALL, PseudoTAIL, C_J, C_JAL, C_JALR, C_JR
1236
0
    return;
1237
0
    break;
1238
76.5k
  case 1:
1239
    // PseudoLA, PseudoLI, PseudoLLA, ADD, ADDI, ADDIW, ADDW, AMOADD_D, AMOAD...
1240
76.5k
    SStream_concat0(O, ", ");
1241
76.5k
    break;
1242
881
  case 2:
1243
    // LR_D, LR_D_AQ, LR_D_AQ_RL, LR_D_RL, LR_W, LR_W_AQ, LR_W_AQ_RL, LR_W_RL
1244
881
    SStream_concat0(O, ", (");
1245
881
    printOperand(MI, 1, O);
1246
881
    SStream_concat0(O, ")");
1247
881
    return;
1248
0
    break;
1249
77.3k
  }
1250
1251
1252
  // Fragment 2 encoded into 2 bits for 3 unique commands.
1253
76.5k
  switch ((uint32_t)((Bits >> 16) & 3)) {
1254
0
  default:
1255
0
    CS_ASSERT(0 && "Invalid command number.");
1256
0
    return;
1257
16.6k
  case 0:
1258
    // PseudoLA, PseudoLI, PseudoLLA, ADD, ADDI, ADDIW, ADDW, AND, ANDI, AUIP...
1259
16.6k
    printOperand(MI, 1, O);
1260
16.6k
    break;
1261
12.4k
  case 1:
1262
    // AMOADD_D, AMOADD_D_AQ, AMOADD_D_AQ_RL, AMOADD_D_RL, AMOADD_W, AMOADD_W...
1263
12.4k
    printOperand(MI, 2, O);
1264
12.4k
    break;
1265
47.4k
  case 2:
1266
    // CSRRC, CSRRCI, CSRRS, CSRRSI, CSRRW, CSRRWI
1267
47.4k
    printCSRSystemRegister(MI, 1, O);
1268
47.4k
    SStream_concat0(O, ", ");
1269
47.4k
    printOperand(MI, 2, O);
1270
47.4k
    return;
1271
0
    break;
1272
76.5k
  }
1273
1274
1275
  // Fragment 3 encoded into 2 bits for 4 unique commands.
1276
29.0k
  switch ((uint32_t)((Bits >> 18) & 3)) {
1277
0
  default:
1278
0
    CS_ASSERT(0 && "Invalid command number.");
1279
0
    return;
1280
1.24k
  case 0:
1281
    // PseudoLA, PseudoLI, PseudoLLA, AUIPC, C_BEQZ, C_BNEZ, C_LI, C_LUI, C_M...
1282
1.24k
    return;
1283
0
    break;
1284
15.4k
  case 1:
1285
    // ADD, ADDI, ADDIW, ADDW, AND, ANDI, BEQ, BGE, BGEU, BLT, BLTU, BNE, C_A...
1286
15.4k
    SStream_concat0(O, ", ");
1287
15.4k
    break;
1288
8.12k
  case 2:
1289
    // AMOADD_D, AMOADD_D_AQ, AMOADD_D_AQ_RL, AMOADD_D_RL, AMOADD_W, AMOADD_W...
1290
8.12k
    SStream_concat0(O, ", (");
1291
8.12k
    printOperand(MI, 1, O);
1292
8.12k
    SStream_concat0(O, ")");
1293
8.12k
    return;
1294
0
    break;
1295
4.31k
  case 3:
1296
    // C_FLD, C_FLDSP, C_FLW, C_FLWSP, C_FSD, C_FSDSP, C_FSW, C_FSWSP, C_LD, ...
1297
4.31k
    SStream_concat0(O, "(");
1298
4.31k
    printOperand(MI, 1, O);
1299
4.31k
    SStream_concat0(O, ")");
1300
4.31k
    return;
1301
0
    break;
1302
29.0k
  }
1303
1304
1305
  // Fragment 4 encoded into 1 bits for 2 unique commands.
1306
15.4k
  if ((Bits >> 20) & 1) {
1307
    // FCVT_D_L, FCVT_D_LU, FCVT_LU_D, FCVT_LU_S, FCVT_L_D, FCVT_L_S, FCVT_S_...
1308
5.09k
    printFRMArg(MI, 2, O);
1309
5.09k
    return;
1310
10.3k
  } else {
1311
    // ADD, ADDI, ADDIW, ADDW, AND, ANDI, BEQ, BGE, BGEU, BLT, BLTU, BNE, C_A...
1312
10.3k
    printOperand(MI, 2, O);
1313
10.3k
  }
1314
1315
1316
  // Fragment 5 encoded into 1 bits for 2 unique commands.
1317
10.3k
  if ((Bits >> 21) & 1) {
1318
    // FADD_D, FADD_S, FDIV_D, FDIV_S, FMADD_D, FMADD_S, FMSUB_D, FMSUB_S, FM...
1319
5.09k
    SStream_concat0(O, ", ");
1320
5.21k
  } else {
1321
    // ADD, ADDI, ADDIW, ADDW, AND, ANDI, BEQ, BGE, BGEU, BLT, BLTU, BNE, C_A...
1322
5.21k
    return;
1323
5.21k
  }
1324
1325
1326
  // Fragment 6 encoded into 1 bits for 2 unique commands.
1327
5.09k
  if ((Bits >> 22) & 1) {
1328
    // FMADD_D, FMADD_S, FMSUB_D, FMSUB_S, FNMADD_D, FNMADD_S, FNMSUB_D, FNMS...
1329
1.65k
    printOperand(MI, 3, O);
1330
1.65k
    SStream_concat0(O, ", ");
1331
1.65k
    printFRMArg(MI, 4, O);
1332
1.65k
    return;
1333
3.43k
  } else {
1334
    // FADD_D, FADD_S, FDIV_D, FDIV_S, FMUL_D, FMUL_S, FSUB_D, FSUB_S
1335
3.43k
    printFRMArg(MI, 3, O);
1336
3.43k
    return;
1337
3.43k
  }
1338
1339
5.09k
}
1340
1341
1342
/// getRegisterName - This method is automatically generated by tblgen
1343
/// from the register set description.  This returns the assembler name
1344
/// for the specified register.
1345
static const char *
1346
getRegisterName(unsigned RegNo, unsigned AltIdx)
1347
185k
{
1348
185k
  CS_ASSERT(RegNo && RegNo < 97 && "Invalid register number!");
1349
1350
185k
#ifndef CAPSTONE_DIET
1351
185k
  static const char AsmStrsABIRegAltName[] = {
1352
185k
  /* 0 */ 'f', 's', '1', '0', 0,
1353
185k
  /* 5 */ 'f', 't', '1', '0', 0,
1354
185k
  /* 10 */ 'f', 'a', '0', 0,
1355
185k
  /* 14 */ 'f', 's', '0', 0,
1356
185k
  /* 18 */ 'f', 't', '0', 0,
1357
185k
  /* 22 */ 'f', 's', '1', '1', 0,
1358
185k
  /* 27 */ 'f', 't', '1', '1', 0,
1359
185k
  /* 32 */ 'f', 'a', '1', 0,
1360
185k
  /* 36 */ 'f', 's', '1', 0,
1361
185k
  /* 40 */ 'f', 't', '1', 0,
1362
185k
  /* 44 */ 'f', 'a', '2', 0,
1363
185k
  /* 48 */ 'f', 's', '2', 0,
1364
185k
  /* 52 */ 'f', 't', '2', 0,
1365
185k
  /* 56 */ 'f', 'a', '3', 0,
1366
185k
  /* 60 */ 'f', 's', '3', 0,
1367
185k
  /* 64 */ 'f', 't', '3', 0,
1368
185k
  /* 68 */ 'f', 'a', '4', 0,
1369
185k
  /* 72 */ 'f', 's', '4', 0,
1370
185k
  /* 76 */ 'f', 't', '4', 0,
1371
185k
  /* 80 */ 'f', 'a', '5', 0,
1372
185k
  /* 84 */ 'f', 's', '5', 0,
1373
185k
  /* 88 */ 'f', 't', '5', 0,
1374
185k
  /* 92 */ 'f', 'a', '6', 0,
1375
185k
  /* 96 */ 'f', 's', '6', 0,
1376
185k
  /* 100 */ 'f', 't', '6', 0,
1377
185k
  /* 104 */ 'f', 'a', '7', 0,
1378
185k
  /* 108 */ 'f', 's', '7', 0,
1379
185k
  /* 112 */ 'f', 't', '7', 0,
1380
185k
  /* 116 */ 'f', 's', '8', 0,
1381
185k
  /* 120 */ 'f', 't', '8', 0,
1382
185k
  /* 124 */ 'f', 's', '9', 0,
1383
185k
  /* 128 */ 'f', 't', '9', 0,
1384
185k
  /* 132 */ 'r', 'a', 0,
1385
185k
  /* 135 */ 'z', 'e', 'r', 'o', 0,
1386
185k
  /* 140 */ 'g', 'p', 0,
1387
185k
  /* 143 */ 's', 'p', 0,
1388
185k
  /* 146 */ 't', 'p', 0,
1389
185k
  };
1390
1391
185k
  static const uint8_t RegAsmOffsetABIRegAltName[] = {
1392
185k
    135, 132, 143, 140, 146, 19, 41, 53, 15, 37, 11, 33, 45, 57, 
1393
185k
    69, 81, 93, 105, 49, 61, 73, 85, 97, 109, 117, 125, 1, 23, 
1394
185k
    65, 77, 89, 101, 18, 18, 40, 40, 52, 52, 64, 64, 76, 76, 
1395
185k
    88, 88, 100, 100, 112, 112, 14, 14, 36, 36, 10, 10, 32, 32, 
1396
185k
    44, 44, 56, 56, 68, 68, 80, 80, 92, 92, 104, 104, 48, 48, 
1397
185k
    60, 60, 72, 72, 84, 84, 96, 96, 108, 108, 116, 116, 124, 124, 
1398
185k
    0, 0, 22, 22, 120, 120, 128, 128, 5, 5, 27, 27, 
1399
185k
  };
1400
1401
185k
  static const char AsmStrsNoRegAltName[] = {
1402
185k
  /* 0 */ 'f', '1', '0', 0,
1403
185k
  /* 4 */ 'x', '1', '0', 0,
1404
185k
  /* 8 */ 'f', '2', '0', 0,
1405
185k
  /* 12 */ 'x', '2', '0', 0,
1406
185k
  /* 16 */ 'f', '3', '0', 0,
1407
185k
  /* 20 */ 'x', '3', '0', 0,
1408
185k
  /* 24 */ 'f', '0', 0,
1409
185k
  /* 27 */ 'x', '0', 0,
1410
185k
  /* 30 */ 'f', '1', '1', 0,
1411
185k
  /* 34 */ 'x', '1', '1', 0,
1412
185k
  /* 38 */ 'f', '2', '1', 0,
1413
185k
  /* 42 */ 'x', '2', '1', 0,
1414
185k
  /* 46 */ 'f', '3', '1', 0,
1415
185k
  /* 50 */ 'x', '3', '1', 0,
1416
185k
  /* 54 */ 'f', '1', 0,
1417
185k
  /* 57 */ 'x', '1', 0,
1418
185k
  /* 60 */ 'f', '1', '2', 0,
1419
185k
  /* 64 */ 'x', '1', '2', 0,
1420
185k
  /* 68 */ 'f', '2', '2', 0,
1421
185k
  /* 72 */ 'x', '2', '2', 0,
1422
185k
  /* 76 */ 'f', '2', 0,
1423
185k
  /* 79 */ 'x', '2', 0,
1424
185k
  /* 82 */ 'f', '1', '3', 0,
1425
185k
  /* 86 */ 'x', '1', '3', 0,
1426
185k
  /* 90 */ 'f', '2', '3', 0,
1427
185k
  /* 94 */ 'x', '2', '3', 0,
1428
185k
  /* 98 */ 'f', '3', 0,
1429
185k
  /* 101 */ 'x', '3', 0,
1430
185k
  /* 104 */ 'f', '1', '4', 0,
1431
185k
  /* 108 */ 'x', '1', '4', 0,
1432
185k
  /* 112 */ 'f', '2', '4', 0,
1433
185k
  /* 116 */ 'x', '2', '4', 0,
1434
185k
  /* 120 */ 'f', '4', 0,
1435
185k
  /* 123 */ 'x', '4', 0,
1436
185k
  /* 126 */ 'f', '1', '5', 0,
1437
185k
  /* 130 */ 'x', '1', '5', 0,
1438
185k
  /* 134 */ 'f', '2', '5', 0,
1439
185k
  /* 138 */ 'x', '2', '5', 0,
1440
185k
  /* 142 */ 'f', '5', 0,
1441
185k
  /* 145 */ 'x', '5', 0,
1442
185k
  /* 148 */ 'f', '1', '6', 0,
1443
185k
  /* 152 */ 'x', '1', '6', 0,
1444
185k
  /* 156 */ 'f', '2', '6', 0,
1445
185k
  /* 160 */ 'x', '2', '6', 0,
1446
185k
  /* 164 */ 'f', '6', 0,
1447
185k
  /* 167 */ 'x', '6', 0,
1448
185k
  /* 170 */ 'f', '1', '7', 0,
1449
185k
  /* 174 */ 'x', '1', '7', 0,
1450
185k
  /* 178 */ 'f', '2', '7', 0,
1451
185k
  /* 182 */ 'x', '2', '7', 0,
1452
185k
  /* 186 */ 'f', '7', 0,
1453
185k
  /* 189 */ 'x', '7', 0,
1454
185k
  /* 192 */ 'f', '1', '8', 0,
1455
185k
  /* 196 */ 'x', '1', '8', 0,
1456
185k
  /* 200 */ 'f', '2', '8', 0,
1457
185k
  /* 204 */ 'x', '2', '8', 0,
1458
185k
  /* 208 */ 'f', '8', 0,
1459
185k
  /* 211 */ 'x', '8', 0,
1460
185k
  /* 214 */ 'f', '1', '9', 0,
1461
185k
  /* 218 */ 'x', '1', '9', 0,
1462
185k
  /* 222 */ 'f', '2', '9', 0,
1463
185k
  /* 226 */ 'x', '2', '9', 0,
1464
185k
  /* 230 */ 'f', '9', 0,
1465
185k
  /* 233 */ 'x', '9', 0,
1466
185k
  };
1467
1468
185k
  static const uint8_t RegAsmOffsetNoRegAltName[] = {
1469
185k
    27, 57, 79, 101, 123, 145, 167, 189, 211, 233, 4, 34, 64, 86, 
1470
185k
    108, 130, 152, 174, 196, 218, 12, 42, 72, 94, 116, 138, 160, 182, 
1471
185k
    204, 226, 20, 50, 24, 24, 54, 54, 76, 76, 98, 98, 120, 120, 
1472
185k
    142, 142, 164, 164, 186, 186, 208, 208, 230, 230, 0, 0, 30, 30, 
1473
185k
    60, 60, 82, 82, 104, 104, 126, 126, 148, 148, 170, 170, 192, 192, 
1474
185k
    214, 214, 8, 8, 38, 38, 68, 68, 90, 90, 112, 112, 134, 134, 
1475
185k
    156, 156, 178, 178, 200, 200, 222, 222, 16, 16, 46, 46, 
1476
185k
  };
1477
1478
185k
  switch(AltIdx) {
1479
0
  default:
1480
0
    CS_ASSERT(0 && "Invalid register alt name index!");
1481
0
    return 0;
1482
185k
  case RISCV_ABIRegAltName:
1483
185k
    CS_ASSERT(*(AsmStrsABIRegAltName+RegAsmOffsetABIRegAltName[RegNo-1]) &&
1484
185k
           "Invalid alt name index for register!");
1485
185k
    return AsmStrsABIRegAltName+RegAsmOffsetABIRegAltName[RegNo-1];
1486
0
  case RISCV_NoRegAltName:
1487
0
    CS_ASSERT(*(AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]) &&
1488
0
           "Invalid alt name index for register!");
1489
0
    return AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1];
1490
185k
  }
1491
#else
1492
  return NULL;
1493
#endif
1494
185k
}
1495
1496
#ifdef PRINT_ALIAS_INSTR
1497
#undef PRINT_ALIAS_INSTR
1498
1499
static bool RISCVInstPrinterValidateMCOperand(MCOperand *MCOp,
1500
                  unsigned PredicateIndex);
1501
1502
static bool printAliasInstr(MCInst *MI, SStream * OS, void *info)
1503
250k
{
1504
250k
  MCRegisterInfo *MRI = (MCRegisterInfo *) info;
1505
250k
  const char *AsmString;
1506
250k
  unsigned I = 0;
1507
250k
#define ASMSTRING_CONTAIN_SIZE 64
1508
250k
  unsigned AsmStringLen = 0;
1509
250k
  char tmpString_[ASMSTRING_CONTAIN_SIZE];
1510
250k
  char *tmpString = tmpString_;
1511
250k
  switch (MCInst_getOpcode(MI)) {
1512
21.2k
  default: return false;
1513
1.95k
  case RISCV_ADDI:
1514
1.95k
    if (MCInst_getNumOperands(MI) == 3 &&
1515
1.95k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1516
1.32k
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
1517
1.04k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1518
1.04k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
1519
      // (ADDI X0, X0, 0)
1520
329
      AsmString = "nop";
1521
329
      break;
1522
329
    }
1523
1.62k
    if (MCInst_getNumOperands(MI) == 3 &&
1524
1.62k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1525
1.62k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1526
1.62k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1527
1.62k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1528
1.62k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1529
1.62k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
1530
      // (ADDI GPR:$rd, GPR:$rs, 0)
1531
150
      AsmString = "mv $\x01, $\x02";
1532
150
      break;
1533
150
    }
1534
1.47k
    return false;
1535
754
  case RISCV_ADDIW:
1536
754
    if (MCInst_getNumOperands(MI) == 3 &&
1537
754
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1538
754
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1539
754
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1540
754
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1541
754
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1542
754
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
1543
      // (ADDIW GPR:$rd, GPR:$rs, 0)
1544
206
      AsmString = "sext.w $\x01, $\x02";
1545
206
      break;
1546
206
    }
1547
548
    return false;
1548
512
  case RISCV_BEQ:
1549
512
    if (MCInst_getNumOperands(MI) == 3 &&
1550
512
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1551
512
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1552
512
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
1553
112
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1554
      // (BEQ GPR:$rs, X0, simm13_lsb0:$offset)
1555
112
      AsmString = "beqz $\x01, $\x03";
1556
112
      break;
1557
112
    }
1558
400
    return false;
1559
872
  case RISCV_BGE:
1560
872
    if (MCInst_getNumOperands(MI) == 3 &&
1561
872
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1562
111
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1563
111
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1564
111
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1565
      // (BGE X0, GPR:$rs, simm13_lsb0:$offset)
1566
111
      AsmString = "blez $\x02, $\x03";
1567
111
      break;
1568
111
    }
1569
761
    if (MCInst_getNumOperands(MI) == 3 &&
1570
761
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1571
761
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1572
761
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
1573
303
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1574
      // (BGE GPR:$rs, X0, simm13_lsb0:$offset)
1575
303
      AsmString = "bgez $\x01, $\x03";
1576
303
      break;
1577
303
    }
1578
458
    return false;
1579
437
  case RISCV_BLT:
1580
437
    if (MCInst_getNumOperands(MI) == 3 &&
1581
437
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1582
437
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1583
437
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
1584
101
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1585
      // (BLT GPR:$rs, X0, simm13_lsb0:$offset)
1586
101
      AsmString = "bltz $\x01, $\x03";
1587
101
      break;
1588
101
    }
1589
336
    if (MCInst_getNumOperands(MI) == 3 &&
1590
336
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1591
149
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1592
149
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1593
149
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1594
      // (BLT X0, GPR:$rs, simm13_lsb0:$offset)
1595
149
      AsmString = "bgtz $\x02, $\x03";
1596
149
      break;
1597
149
    }
1598
187
    return false;
1599
1.25k
  case RISCV_BNE:
1600
1.25k
    if (MCInst_getNumOperands(MI) == 3 &&
1601
1.25k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1602
1.25k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1603
1.25k
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
1604
717
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 2), 1)) {
1605
      // (BNE GPR:$rs, X0, simm13_lsb0:$offset)
1606
717
      AsmString = "bnez $\x01, $\x03";
1607
717
      break;
1608
717
    }
1609
536
    return false;
1610
18.8k
  case RISCV_CSRRC:
1611
18.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1612
18.8k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1613
2.18k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1614
2.18k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1615
      // (CSRRC X0, csr_sysreg:$csr, GPR:$rs)
1616
2.18k
      AsmString = "csrc $\xFF\x02\x01, $\x03";
1617
2.18k
      break;
1618
2.18k
    }
1619
16.7k
    return false;
1620
24.8k
  case RISCV_CSRRCI:
1621
24.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1622
24.8k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0) {
1623
      // (CSRRCI X0, csr_sysreg:$csr, uimm5:$imm)
1624
2.60k
      AsmString = "csrci $\xFF\x02\x01, $\x03";
1625
2.60k
      break;
1626
2.60k
    }
1627
22.2k
    return false;
1628
49.5k
  case RISCV_CSRRS:
1629
49.5k
    if (MCInst_getNumOperands(MI) == 3 &&
1630
49.5k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1631
49.5k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1632
49.5k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1633
49.5k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3 &&
1634
2.07k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1635
      // (CSRRS GPR:$rd, 3, X0)
1636
240
      AsmString = "frcsr $\x01";
1637
240
      break;
1638
240
    }
1639
49.3k
    if (MCInst_getNumOperands(MI) == 3 &&
1640
49.3k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1641
49.3k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1642
49.3k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1643
49.3k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 2 &&
1644
1.28k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1645
      // (CSRRS GPR:$rd, 2, X0)
1646
439
      AsmString = "frrm $\x01";
1647
439
      break;
1648
439
    }
1649
48.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1650
48.8k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1651
48.8k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1652
48.8k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1653
48.8k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 1 &&
1654
1.36k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1655
      // (CSRRS GPR:$rd, 1, X0)
1656
271
      AsmString = "frflags $\x01";
1657
271
      break;
1658
271
    }
1659
48.6k
    if (MCInst_getNumOperands(MI) == 3 &&
1660
48.6k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1661
48.6k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1662
48.6k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1663
48.6k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3074 &&
1664
1.73k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1665
      // (CSRRS GPR:$rd, 3074, X0)
1666
1.10k
      AsmString = "rdinstret $\x01";
1667
1.10k
      break;
1668
1.10k
    }
1669
47.5k
    if (MCInst_getNumOperands(MI) == 3 &&
1670
47.5k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1671
47.5k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1672
47.5k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1673
47.5k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3072 &&
1674
2.41k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1675
      // (CSRRS GPR:$rd, 3072, X0)
1676
1.20k
      AsmString = "rdcycle $\x01";
1677
1.20k
      break;
1678
1.20k
    }
1679
46.3k
    if (MCInst_getNumOperands(MI) == 3 &&
1680
46.3k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1681
46.3k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1682
46.3k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1683
46.3k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3073 &&
1684
2.66k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1685
      // (CSRRS GPR:$rd, 3073, X0)
1686
183
      AsmString = "rdtime $\x01";
1687
183
      break;
1688
183
    }
1689
46.1k
    if (MCInst_getNumOperands(MI) == 3 &&
1690
46.1k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1691
46.1k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1692
46.1k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1693
46.1k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3202 &&
1694
2.60k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1695
      // (CSRRS GPR:$rd, 3202, X0)
1696
860
      AsmString = "rdinstreth $\x01";
1697
860
      break;
1698
860
    }
1699
45.2k
    if (MCInst_getNumOperands(MI) == 3 &&
1700
45.2k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1701
45.2k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1702
45.2k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1703
45.2k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3200 &&
1704
1.92k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1705
      // (CSRRS GPR:$rd, 3200, X0)
1706
940
      AsmString = "rdcycleh $\x01";
1707
940
      break;
1708
940
    }
1709
44.3k
    if (MCInst_getNumOperands(MI) == 3 &&
1710
44.3k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1711
44.3k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1712
44.3k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1713
44.3k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3201 &&
1714
588
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1715
      // (CSRRS GPR:$rd, 3201, X0)
1716
432
      AsmString = "rdtimeh $\x01";
1717
432
      break;
1718
432
    }
1719
43.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1720
43.8k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1721
43.8k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1722
43.8k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
1723
      // (CSRRS GPR:$rd, csr_sysreg:$csr, X0)
1724
6.09k
      AsmString = "csrr $\x01, $\xFF\x02\x01";
1725
6.09k
      break;
1726
6.09k
    }
1727
37.7k
    if (MCInst_getNumOperands(MI) == 3 &&
1728
37.7k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1729
8.86k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1730
8.86k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1731
      // (CSRRS X0, csr_sysreg:$csr, GPR:$rs)
1732
8.86k
      AsmString = "csrs $\xFF\x02\x01, $\x03";
1733
8.86k
      break;
1734
8.86k
    }
1735
28.9k
    return false;
1736
18.5k
  case RISCV_CSRRSI:
1737
18.5k
    if (MCInst_getNumOperands(MI) == 3 &&
1738
18.5k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0) {
1739
      // (CSRRSI X0, csr_sysreg:$csr, uimm5:$imm)
1740
846
      AsmString = "csrsi $\xFF\x02\x01, $\x03";
1741
846
      break;
1742
846
    }
1743
17.6k
    return false;
1744
29.3k
  case RISCV_CSRRW:
1745
29.3k
    if (MCInst_getNumOperands(MI) == 3 &&
1746
29.3k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1747
5.91k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1748
5.91k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3 &&
1749
718
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1750
718
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1751
      // (CSRRW X0, 3, GPR:$rs)
1752
718
      AsmString = "fscsr $\x03";
1753
718
      break;
1754
718
    }
1755
28.6k
    if (MCInst_getNumOperands(MI) == 3 &&
1756
28.6k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1757
5.19k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1758
5.19k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 2 &&
1759
851
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1760
851
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1761
      // (CSRRW X0, 2, GPR:$rs)
1762
851
      AsmString = "fsrm $\x03";
1763
851
      break;
1764
851
    }
1765
27.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1766
27.8k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1767
4.34k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1768
4.34k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 1 &&
1769
216
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1770
216
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1771
      // (CSRRW X0, 1, GPR:$rs)
1772
216
      AsmString = "fsflags $\x03";
1773
216
      break;
1774
216
    }
1775
27.6k
    if (MCInst_getNumOperands(MI) == 3 &&
1776
27.6k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1777
4.13k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1778
4.13k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1779
      // (CSRRW X0, csr_sysreg:$csr, GPR:$rs)
1780
4.13k
      AsmString = "csrw $\xFF\x02\x01, $\x03";
1781
4.13k
      break;
1782
4.13k
    }
1783
23.4k
    if (MCInst_getNumOperands(MI) == 3 &&
1784
23.4k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1785
23.4k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1786
23.4k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1787
23.4k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 3 &&
1788
423
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1789
423
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1790
      // (CSRRW GPR:$rd, 3, GPR:$rs)
1791
423
      AsmString = "fscsr $\x01, $\x03";
1792
423
      break;
1793
423
    }
1794
23.0k
    if (MCInst_getNumOperands(MI) == 3 &&
1795
23.0k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1796
23.0k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1797
23.0k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1798
23.0k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 2 &&
1799
1.21k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1800
1.21k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1801
      // (CSRRW GPR:$rd, 2, GPR:$rs)
1802
1.21k
      AsmString = "fsrm $\x01, $\x03";
1803
1.21k
      break;
1804
1.21k
    }
1805
21.8k
    if (MCInst_getNumOperands(MI) == 3 &&
1806
21.8k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1807
21.8k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1808
21.8k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1809
21.8k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 1 &&
1810
752
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1811
752
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
1812
      // (CSRRW GPR:$rd, 1, GPR:$rs)
1813
752
      AsmString = "fsflags $\x01, $\x03";
1814
752
      break;
1815
752
    }
1816
21.0k
    return false;
1817
19.4k
  case RISCV_CSRRWI:
1818
19.4k
    if (MCInst_getNumOperands(MI) == 3 &&
1819
19.4k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1820
3.67k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1821
3.67k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 2) {
1822
      // (CSRRWI X0, 2, uimm5:$imm)
1823
224
      AsmString = "fsrmi $\x03";
1824
224
      break;
1825
224
    }
1826
19.2k
    if (MCInst_getNumOperands(MI) == 3 &&
1827
19.2k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
1828
3.44k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1829
3.44k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 1) {
1830
      // (CSRRWI X0, 1, uimm5:$imm)
1831
606
      AsmString = "fsflagsi $\x03";
1832
606
      break;
1833
606
    }
1834
18.6k
    if (MCInst_getNumOperands(MI) == 3 &&
1835
18.6k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0) {
1836
      // (CSRRWI X0, csr_sysreg:$csr, uimm5:$imm)
1837
2.84k
      AsmString = "csrwi $\xFF\x02\x01, $\x03";
1838
2.84k
      break;
1839
2.84k
    }
1840
15.7k
    if (MCInst_getNumOperands(MI) == 3 &&
1841
15.7k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1842
15.7k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1843
15.7k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1844
15.7k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 2) {
1845
      // (CSRRWI GPR:$rd, 2, uimm5:$imm)
1846
632
      AsmString = "fsrmi $\x01, $\x03";
1847
632
      break;
1848
632
    }
1849
15.1k
    if (MCInst_getNumOperands(MI) == 3 &&
1850
15.1k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1851
15.1k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1852
15.1k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
1853
15.1k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 1) {
1854
      // (CSRRWI GPR:$rd, 1, uimm5:$imm)
1855
1.21k
      AsmString = "fsflagsi $\x01, $\x03";
1856
1.21k
      break;
1857
1.21k
    }
1858
13.9k
    return false;
1859
2.02k
  case RISCV_FADD_D:
1860
2.02k
    if (MCInst_getNumOperands(MI) == 4 &&
1861
2.02k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1862
2.02k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1863
2.02k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1864
2.02k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1865
2.02k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1866
2.02k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
1867
2.02k
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
1868
2.02k
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
1869
      // (FADD_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, { 1, 1, 1 })
1870
1.40k
      AsmString = "fadd.d $\x01, $\x02, $\x03";
1871
1.40k
      break;
1872
1.40k
    }
1873
625
    return false;
1874
3.04k
  case RISCV_FADD_S:
1875
3.04k
    if (MCInst_getNumOperands(MI) == 4 &&
1876
3.04k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1877
3.04k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1878
3.04k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1879
3.04k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1880
3.04k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
1881
3.04k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
1882
3.04k
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
1883
3.04k
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
1884
      // (FADD_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, { 1, 1, 1 })
1885
562
      AsmString = "fadd.s $\x01, $\x02, $\x03";
1886
562
      break;
1887
562
    }
1888
2.48k
    return false;
1889
3.04k
  case RISCV_FCVT_D_L:
1890
3.04k
    if (MCInst_getNumOperands(MI) == 3 &&
1891
3.04k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1892
3.04k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1893
3.04k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1894
3.04k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1895
3.04k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1896
3.04k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1897
      // (FCVT_D_L FPR64:$rd, GPR:$rs1, { 1, 1, 1 })
1898
1.35k
      AsmString = "fcvt.d.l $\x01, $\x02";
1899
1.35k
      break;
1900
1.35k
    }
1901
1.69k
    return false;
1902
1.46k
  case RISCV_FCVT_D_LU:
1903
1.46k
    if (MCInst_getNumOperands(MI) == 3 &&
1904
1.46k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1905
1.46k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1906
1.46k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1907
1.46k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1908
1.46k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1909
1.46k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1910
      // (FCVT_D_LU FPR64:$rd, GPR:$rs1, { 1, 1, 1 })
1911
901
      AsmString = "fcvt.d.lu $\x01, $\x02";
1912
901
      break;
1913
901
    }
1914
565
    return false;
1915
1.32k
  case RISCV_FCVT_LU_D:
1916
1.32k
    if (MCInst_getNumOperands(MI) == 3 &&
1917
1.32k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1918
1.32k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1919
1.32k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1920
1.32k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1921
1.32k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1922
1.32k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1923
      // (FCVT_LU_D GPR:$rd, FPR64:$rs1, { 1, 1, 1 })
1924
776
      AsmString = "fcvt.lu.d $\x01, $\x02";
1925
776
      break;
1926
776
    }
1927
545
    return false;
1928
1.96k
  case RISCV_FCVT_LU_S:
1929
1.96k
    if (MCInst_getNumOperands(MI) == 3 &&
1930
1.96k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1931
1.96k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1932
1.96k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1933
1.96k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1934
1.96k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1935
1.96k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1936
      // (FCVT_LU_S GPR:$rd, FPR32:$rs1, { 1, 1, 1 })
1937
806
      AsmString = "fcvt.lu.s $\x01, $\x02";
1938
806
      break;
1939
806
    }
1940
1.16k
    return false;
1941
1.27k
  case RISCV_FCVT_L_D:
1942
1.27k
    if (MCInst_getNumOperands(MI) == 3 &&
1943
1.27k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1944
1.27k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1945
1.27k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1946
1.27k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1947
1.27k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1948
1.27k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1949
      // (FCVT_L_D GPR:$rd, FPR64:$rs1, { 1, 1, 1 })
1950
368
      AsmString = "fcvt.l.d $\x01, $\x02";
1951
368
      break;
1952
368
    }
1953
910
    return false;
1954
923
  case RISCV_FCVT_L_S:
1955
923
    if (MCInst_getNumOperands(MI) == 3 &&
1956
923
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1957
923
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1958
923
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1959
923
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1960
923
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1961
923
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1962
      // (FCVT_L_S GPR:$rd, FPR32:$rs1, { 1, 1, 1 })
1963
515
      AsmString = "fcvt.l.s $\x01, $\x02";
1964
515
      break;
1965
515
    }
1966
408
    return false;
1967
528
  case RISCV_FCVT_S_D:
1968
528
    if (MCInst_getNumOperands(MI) == 3 &&
1969
528
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1970
528
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1971
528
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1972
528
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1973
528
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1974
528
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1975
      // (FCVT_S_D FPR32:$rd, FPR64:$rs1, { 1, 1, 1 })
1976
79
      AsmString = "fcvt.s.d $\x01, $\x02";
1977
79
      break;
1978
79
    }
1979
449
    return false;
1980
2.03k
  case RISCV_FCVT_S_L:
1981
2.03k
    if (MCInst_getNumOperands(MI) == 3 &&
1982
2.03k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1983
2.03k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1984
2.03k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1985
2.03k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1986
2.03k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
1987
2.03k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
1988
      // (FCVT_S_L FPR32:$rd, GPR:$rs1, { 1, 1, 1 })
1989
1.03k
      AsmString = "fcvt.s.l $\x01, $\x02";
1990
1.03k
      break;
1991
1.03k
    }
1992
1.00k
    return false;
1993
1.63k
  case RISCV_FCVT_S_LU:
1994
1.63k
    if (MCInst_getNumOperands(MI) == 3 &&
1995
1.63k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
1996
1.63k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
1997
1.63k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
1998
1.63k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
1999
1.63k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2000
1.63k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2001
      // (FCVT_S_LU FPR32:$rd, GPR:$rs1, { 1, 1, 1 })
2002
916
      AsmString = "fcvt.s.lu $\x01, $\x02";
2003
916
      break;
2004
916
    }
2005
719
    return false;
2006
751
  case RISCV_FCVT_S_W:
2007
751
    if (MCInst_getNumOperands(MI) == 3 &&
2008
751
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2009
751
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2010
751
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2011
751
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2012
751
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2013
751
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2014
      // (FCVT_S_W FPR32:$rd, GPR:$rs1, { 1, 1, 1 })
2015
593
      AsmString = "fcvt.s.w $\x01, $\x02";
2016
593
      break;
2017
593
    }
2018
158
    return false;
2019
1.17k
  case RISCV_FCVT_S_WU:
2020
1.17k
    if (MCInst_getNumOperands(MI) == 3 &&
2021
1.17k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2022
1.17k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2023
1.17k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2024
1.17k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2025
1.17k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2026
1.17k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2027
      // (FCVT_S_WU FPR32:$rd, GPR:$rs1, { 1, 1, 1 })
2028
341
      AsmString = "fcvt.s.wu $\x01, $\x02";
2029
341
      break;
2030
341
    }
2031
838
    return false;
2032
743
  case RISCV_FCVT_WU_D:
2033
743
    if (MCInst_getNumOperands(MI) == 3 &&
2034
743
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2035
743
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2036
743
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2037
743
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2038
743
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2039
743
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2040
      // (FCVT_WU_D GPR:$rd, FPR64:$rs1, { 1, 1, 1 })
2041
111
      AsmString = "fcvt.wu.d $\x01, $\x02";
2042
111
      break;
2043
111
    }
2044
632
    return false;
2045
1.74k
  case RISCV_FCVT_WU_S:
2046
1.74k
    if (MCInst_getNumOperands(MI) == 3 &&
2047
1.74k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2048
1.74k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2049
1.74k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2050
1.74k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2051
1.74k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2052
1.74k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2053
      // (FCVT_WU_S GPR:$rd, FPR32:$rs1, { 1, 1, 1 })
2054
594
      AsmString = "fcvt.wu.s $\x01, $\x02";
2055
594
      break;
2056
594
    }
2057
1.14k
    return false;
2058
1.45k
  case RISCV_FCVT_W_D:
2059
1.45k
    if (MCInst_getNumOperands(MI) == 3 &&
2060
1.45k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2061
1.45k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2062
1.45k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2063
1.45k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2064
1.45k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2065
1.45k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2066
      // (FCVT_W_D GPR:$rd, FPR64:$rs1, { 1, 1, 1 })
2067
458
      AsmString = "fcvt.w.d $\x01, $\x02";
2068
458
      break;
2069
458
    }
2070
997
    return false;
2071
865
  case RISCV_FCVT_W_S:
2072
865
    if (MCInst_getNumOperands(MI) == 3 &&
2073
865
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2074
865
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2075
865
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2076
865
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2077
865
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2078
865
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2079
      // (FCVT_W_S GPR:$rd, FPR32:$rs1, { 1, 1, 1 })
2080
460
      AsmString = "fcvt.w.s $\x01, $\x02";
2081
460
      break;
2082
460
    }
2083
405
    return false;
2084
794
  case RISCV_FDIV_D:
2085
794
    if (MCInst_getNumOperands(MI) == 4 &&
2086
794
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2087
794
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2088
794
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2089
794
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2090
794
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2091
794
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2092
794
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2093
794
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2094
      // (FDIV_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, { 1, 1, 1 })
2095
298
      AsmString = "fdiv.d $\x01, $\x02, $\x03";
2096
298
      break;
2097
298
    }
2098
496
    return false;
2099
1.80k
  case RISCV_FDIV_S:
2100
1.80k
    if (MCInst_getNumOperands(MI) == 4 &&
2101
1.80k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2102
1.80k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2103
1.80k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2104
1.80k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2105
1.80k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2106
1.80k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2107
1.80k
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2108
1.80k
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2109
      // (FDIV_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, { 1, 1, 1 })
2110
1.01k
      AsmString = "fdiv.s $\x01, $\x02, $\x03";
2111
1.01k
      break;
2112
1.01k
    }
2113
790
    return false;
2114
2.74k
  case RISCV_FENCE:
2115
2.74k
    if (MCInst_getNumOperands(MI) == 2 &&
2116
2.74k
        MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
2117
2.74k
        MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15 &&
2118
1.29k
        MCOperand_isImm(MCInst_getOperand(MI, 1)) &&
2119
1.29k
        MCOperand_getImm(MCInst_getOperand(MI, 1)) == 15) {
2120
      // (FENCE 15, 15)
2121
145
      AsmString = "fence";
2122
145
      break;
2123
145
    }
2124
2.60k
    return false;
2125
965
  case RISCV_FMADD_D:
2126
965
    if (MCInst_getNumOperands(MI) == 5 &&
2127
965
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2128
965
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2129
965
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2130
965
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2131
965
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2132
965
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2133
965
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2134
965
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2135
965
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2136
965
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2137
      // (FMADD_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, FPR64:$rs3, { 1, 1, 1 })
2138
337
      AsmString = "fmadd.d $\x01, $\x02, $\x03, $\x04";
2139
337
      break;
2140
337
    }
2141
628
    return false;
2142
498
  case RISCV_FMADD_S:
2143
498
    if (MCInst_getNumOperands(MI) == 5 &&
2144
498
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2145
498
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2146
498
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2147
498
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2148
498
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2149
498
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2150
498
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2151
498
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2152
498
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2153
498
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2154
      // (FMADD_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, { 1, 1, 1 })
2155
209
      AsmString = "fmadd.s $\x01, $\x02, $\x03, $\x04";
2156
209
      break;
2157
209
    }
2158
289
    return false;
2159
1.12k
  case RISCV_FMSUB_D:
2160
1.12k
    if (MCInst_getNumOperands(MI) == 5 &&
2161
1.12k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2162
1.12k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2163
1.12k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2164
1.12k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2165
1.12k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2166
1.12k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2167
1.12k
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2168
1.12k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2169
1.12k
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2170
1.12k
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2171
      // (FMSUB_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, FPR64:$rs3, { 1, 1, 1 })
2172
465
      AsmString = "fmsub.d $\x01, $\x02, $\x03, $\x04";
2173
465
      break;
2174
465
    }
2175
664
    return false;
2176
1.47k
  case RISCV_FMSUB_S:
2177
1.47k
    if (MCInst_getNumOperands(MI) == 5 &&
2178
1.47k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2179
1.47k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2180
1.47k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2181
1.47k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2182
1.47k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2183
1.47k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2184
1.47k
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2185
1.47k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2186
1.47k
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2187
1.47k
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2188
      // (FMSUB_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, { 1, 1, 1 })
2189
622
      AsmString = "fmsub.s $\x01, $\x02, $\x03, $\x04";
2190
622
      break;
2191
622
    }
2192
855
    return false;
2193
387
  case RISCV_FMUL_D:
2194
387
    if (MCInst_getNumOperands(MI) == 4 &&
2195
387
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2196
387
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2197
387
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2198
387
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2199
387
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2200
387
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2201
387
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2202
387
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2203
      // (FMUL_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, { 1, 1, 1 })
2204
153
      AsmString = "fmul.d $\x01, $\x02, $\x03";
2205
153
      break;
2206
153
    }
2207
234
    return false;
2208
1.37k
  case RISCV_FMUL_S:
2209
1.37k
    if (MCInst_getNumOperands(MI) == 4 &&
2210
1.37k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2211
1.37k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2212
1.37k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2213
1.37k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2214
1.37k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2215
1.37k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2216
1.37k
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2217
1.37k
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2218
      // (FMUL_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, { 1, 1, 1 })
2219
557
      AsmString = "fmul.s $\x01, $\x02, $\x03";
2220
557
      break;
2221
557
    }
2222
822
    return false;
2223
284
  case RISCV_FNMADD_D:
2224
284
    if (MCInst_getNumOperands(MI) == 5 &&
2225
284
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2226
284
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2227
284
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2228
284
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2229
284
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2230
284
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2231
284
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2232
284
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2233
284
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2234
284
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2235
      // (FNMADD_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, FPR64:$rs3, { 1, 1, 1 })
2236
134
      AsmString = "fnmadd.d $\x01, $\x02, $\x03, $\x04";
2237
134
      break;
2238
134
    }
2239
150
    return false;
2240
822
  case RISCV_FNMADD_S:
2241
822
    if (MCInst_getNumOperands(MI) == 5 &&
2242
822
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2243
822
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2244
822
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2245
822
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2246
822
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2247
822
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2248
822
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2249
822
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2250
822
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2251
822
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2252
      // (FNMADD_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, { 1, 1, 1 })
2253
470
      AsmString = "fnmadd.s $\x01, $\x02, $\x03, $\x04";
2254
470
      break;
2255
470
    }
2256
352
    return false;
2257
575
  case RISCV_FNMSUB_D:
2258
575
    if (MCInst_getNumOperands(MI) == 5 &&
2259
575
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2260
575
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2261
575
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2262
575
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2263
575
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2264
575
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2265
575
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2266
575
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2267
575
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2268
575
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2269
      // (FNMSUB_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, FPR64:$rs3, { 1, 1, 1 })
2270
152
      AsmString = "fnmsub.d $\x01, $\x02, $\x03, $\x04";
2271
152
      break;
2272
152
    }
2273
423
    return false;
2274
924
  case RISCV_FNMSUB_S:
2275
924
    if (MCInst_getNumOperands(MI) == 5 &&
2276
924
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2277
924
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2278
924
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2279
924
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2280
924
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2281
924
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2282
924
        MCOperand_isReg(MCInst_getOperand(MI, 3)) &&
2283
924
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 3))) &&
2284
924
        MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
2285
924
        MCOperand_getImm(MCInst_getOperand(MI, 4)) == 7) {
2286
      // (FNMSUB_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, { 1, 1, 1 })
2287
305
      AsmString = "fnmsub.s $\x01, $\x02, $\x03, $\x04";
2288
305
      break;
2289
305
    }
2290
619
    return false;
2291
1.49k
  case RISCV_FSGNJN_D:
2292
1.49k
    if (MCInst_getNumOperands(MI) == 3 &&
2293
1.49k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2294
1.49k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2295
1.49k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2296
1.49k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2297
1.49k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2298
1.49k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2299
      // (FSGNJN_D FPR64:$rd, FPR64:$rs, FPR64:$rs)
2300
144
      AsmString = "fneg.d $\x01, $\x02";
2301
144
      break;
2302
144
    }
2303
1.35k
    return false;
2304
1.30k
  case RISCV_FSGNJN_S:
2305
1.30k
    if (MCInst_getNumOperands(MI) == 3 &&
2306
1.30k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2307
1.30k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2308
1.30k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2309
1.30k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2310
1.30k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2311
1.30k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2312
      // (FSGNJN_S FPR32:$rd, FPR32:$rs, FPR32:$rs)
2313
480
      AsmString = "fneg.s $\x01, $\x02";
2314
480
      break;
2315
480
    }
2316
825
    return false;
2317
789
  case RISCV_FSGNJX_D:
2318
789
    if (MCInst_getNumOperands(MI) == 3 &&
2319
789
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2320
789
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2321
789
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2322
789
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2323
789
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2324
789
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2325
      // (FSGNJX_D FPR64:$rd, FPR64:$rs, FPR64:$rs)
2326
379
      AsmString = "fabs.d $\x01, $\x02";
2327
379
      break;
2328
379
    }
2329
410
    return false;
2330
1.44k
  case RISCV_FSGNJX_S:
2331
1.44k
    if (MCInst_getNumOperands(MI) == 3 &&
2332
1.44k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2333
1.44k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2334
1.44k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2335
1.44k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2336
1.44k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2337
1.44k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2338
      // (FSGNJX_S FPR32:$rd, FPR32:$rs, FPR32:$rs)
2339
462
      AsmString = "fabs.s $\x01, $\x02";
2340
462
      break;
2341
462
    }
2342
980
    return false;
2343
1.23k
  case RISCV_FSGNJ_D:
2344
1.23k
    if (MCInst_getNumOperands(MI) == 3 &&
2345
1.23k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2346
1.23k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2347
1.23k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2348
1.23k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2349
1.23k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2350
1.23k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2351
      // (FSGNJ_D FPR64:$rd, FPR64:$rs, FPR64:$rs)
2352
552
      AsmString = "fmv.d $\x01, $\x02";
2353
552
      break;
2354
552
    }
2355
680
    return false;
2356
1.84k
  case RISCV_FSGNJ_S:
2357
1.84k
    if (MCInst_getNumOperands(MI) == 3 &&
2358
1.84k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2359
1.84k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2360
1.84k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2361
1.84k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2362
1.84k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2363
1.84k
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
2364
      // (FSGNJ_S FPR32:$rd, FPR32:$rs, FPR32:$rs)
2365
766
      AsmString = "fmv.s $\x01, $\x02";
2366
766
      break;
2367
766
    }
2368
1.07k
    return false;
2369
1.63k
  case RISCV_FSQRT_D:
2370
1.63k
    if (MCInst_getNumOperands(MI) == 3 &&
2371
1.63k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2372
1.63k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2373
1.63k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2374
1.63k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2375
1.63k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2376
1.63k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2377
      // (FSQRT_D FPR64:$rd, FPR64:$rs1, { 1, 1, 1 })
2378
631
      AsmString = "fsqrt.d $\x01, $\x02";
2379
631
      break;
2380
631
    }
2381
1.00k
    return false;
2382
2.45k
  case RISCV_FSQRT_S:
2383
2.45k
    if (MCInst_getNumOperands(MI) == 3 &&
2384
2.45k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2385
2.45k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2386
2.45k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2387
2.45k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2388
2.45k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2389
2.45k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 7) {
2390
      // (FSQRT_S FPR32:$rd, FPR32:$rs1, { 1, 1, 1 })
2391
662
      AsmString = "fsqrt.s $\x01, $\x02";
2392
662
      break;
2393
662
    }
2394
1.78k
    return false;
2395
1.10k
  case RISCV_FSUB_D:
2396
1.10k
    if (MCInst_getNumOperands(MI) == 4 &&
2397
1.10k
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2398
1.10k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2399
1.10k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2400
1.10k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2401
1.10k
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2402
1.10k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR64RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2403
1.10k
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2404
1.10k
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2405
      // (FSUB_D FPR64:$rd, FPR64:$rs1, FPR64:$rs2, { 1, 1, 1 })
2406
504
      AsmString = "fsub.d $\x01, $\x02, $\x03";
2407
504
      break;
2408
504
    }
2409
604
    return false;
2410
596
  case RISCV_FSUB_S:
2411
596
    if (MCInst_getNumOperands(MI) == 4 &&
2412
596
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2413
596
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2414
596
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2415
596
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2416
596
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2417
596
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_FPR32RegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2))) &&
2418
596
        MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
2419
596
        MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
2420
      // (FSUB_S FPR32:$rd, FPR32:$rs1, FPR32:$rs2, { 1, 1, 1 })
2421
392
      AsmString = "fsub.s $\x01, $\x02, $\x03";
2422
392
      break;
2423
392
    }
2424
204
    return false;
2425
1.52k
  case RISCV_JAL:
2426
1.52k
    if (MCInst_getNumOperands(MI) == 2 &&
2427
1.52k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
2428
321
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 1), 2)) {
2429
      // (JAL X0, simm21_lsb0_jal:$offset)
2430
321
      AsmString = "j $\x02";
2431
321
      break;
2432
321
    }
2433
1.19k
    if (MCInst_getNumOperands(MI) == 2 &&
2434
1.19k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X1 &&
2435
184
        RISCVInstPrinterValidateMCOperand(MCInst_getOperand(MI, 1), 2)) {
2436
      // (JAL X1, simm21_lsb0_jal:$offset)
2437
184
      AsmString = "jal $\x02";
2438
184
      break;
2439
184
    }
2440
1.01k
    return false;
2441
3.27k
  case RISCV_JALR:
2442
3.27k
    if (MCInst_getNumOperands(MI) == 3 &&
2443
3.27k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
2444
1.82k
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X1 &&
2445
792
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2446
792
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
2447
      // (JALR X0, X1, 0)
2448
618
      AsmString = "ret";
2449
618
      break;
2450
618
    }
2451
2.65k
    if (MCInst_getNumOperands(MI) == 3 &&
2452
2.65k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
2453
1.20k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2454
1.20k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2455
1.20k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2456
1.20k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
2457
      // (JALR X0, GPR:$rs, 0)
2458
229
      AsmString = "jr $\x02";
2459
229
      break;
2460
229
    }
2461
2.42k
    if (MCInst_getNumOperands(MI) == 3 &&
2462
2.42k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X1 &&
2463
1.33k
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2464
1.33k
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2465
1.33k
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2466
1.33k
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
2467
      // (JALR X1, GPR:$rs, 0)
2468
999
      AsmString = "jalr $\x02";
2469
999
      break;
2470
999
    }
2471
1.42k
    return false;
2472
1.10k
  case RISCV_SFENCE_VMA:
2473
1.10k
    if (MCInst_getNumOperands(MI) == 2 &&
2474
1.10k
        MCOperand_getReg(MCInst_getOperand(MI, 0)) == RISCV_X0 &&
2475
414
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0) {
2476
      // (SFENCE_VMA X0, X0)
2477
146
      AsmString = "sfence.vma";
2478
146
      break;
2479
146
    }
2480
955
    if (MCInst_getNumOperands(MI) == 2 &&
2481
955
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2482
955
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2483
955
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0) {
2484
      // (SFENCE_VMA GPR:$rs, X0)
2485
396
      AsmString = "sfence.vma $\x01";
2486
396
      break;
2487
396
    }
2488
559
    return false;
2489
503
  case RISCV_SLT:
2490
503
    if (MCInst_getNumOperands(MI) == 3 &&
2491
503
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2492
503
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2493
503
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2494
503
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2495
503
        MCOperand_getReg(MCInst_getOperand(MI, 2)) == RISCV_X0) {
2496
      // (SLT GPR:$rd, GPR:$rs, X0)
2497
184
      AsmString = "sltz $\x01, $\x02";
2498
184
      break;
2499
184
    }
2500
319
    if (MCInst_getNumOperands(MI) == 3 &&
2501
319
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2502
319
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2503
319
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
2504
191
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2505
191
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
2506
      // (SLT GPR:$rd, X0, GPR:$rs)
2507
191
      AsmString = "sgtz $\x01, $\x03";
2508
191
      break;
2509
191
    }
2510
128
    return false;
2511
479
  case RISCV_SLTIU:
2512
479
    if (MCInst_getNumOperands(MI) == 3 &&
2513
479
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2514
479
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2515
479
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2516
479
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2517
479
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2518
479
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == 1) {
2519
      // (SLTIU GPR:$rd, GPR:$rs, 1)
2520
133
      AsmString = "seqz $\x01, $\x02";
2521
133
      break;
2522
133
    }
2523
346
    return false;
2524
274
  case RISCV_SLTU:
2525
274
    if (MCInst_getNumOperands(MI) == 3 &&
2526
274
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2527
274
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2528
274
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
2529
121
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2530
121
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
2531
      // (SLTU GPR:$rd, X0, GPR:$rs)
2532
121
      AsmString = "snez $\x01, $\x03";
2533
121
      break;
2534
121
    }
2535
153
    return false;
2536
227
  case RISCV_SUB:
2537
227
    if (MCInst_getNumOperands(MI) == 3 &&
2538
227
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2539
227
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2540
227
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
2541
139
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2542
139
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
2543
      // (SUB GPR:$rd, X0, GPR:$rs)
2544
139
      AsmString = "neg $\x01, $\x03";
2545
139
      break;
2546
139
    }
2547
88
    return false;
2548
942
  case RISCV_SUBW:
2549
942
    if (MCInst_getNumOperands(MI) == 3 &&
2550
942
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2551
942
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2552
942
        MCOperand_getReg(MCInst_getOperand(MI, 1)) == RISCV_X0 &&
2553
387
        MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
2554
387
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 2)))) {
2555
      // (SUBW GPR:$rd, X0, GPR:$rs)
2556
387
      AsmString = "negw $\x01, $\x03";
2557
387
      break;
2558
387
    }
2559
555
    return false;
2560
780
  case RISCV_XORI:
2561
780
    if (MCInst_getNumOperands(MI) == 3 &&
2562
780
        MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
2563
780
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 0))) &&
2564
780
        MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
2565
780
        MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, RISCV_GPRRegClassID), MCOperand_getReg(MCInst_getOperand(MI, 1))) &&
2566
780
        MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
2567
780
        MCOperand_getImm(MCInst_getOperand(MI, 2)) == -1) {
2568
      // (XORI GPR:$rd, GPR:$rs, -1)
2569
100
      AsmString = "not $\x01, $\x02";
2570
100
      break;
2571
100
    }
2572
680
    return false;
2573
250k
  }
2574
2575
67.5k
  AsmStringLen = strlen(AsmString);
2576
67.5k
  if (ASMSTRING_CONTAIN_SIZE - 1 < AsmStringLen)
2577
0
    tmpString = cs_strdup(AsmString);
2578
67.5k
  else
2579
67.5k
    tmpString = memcpy(tmpString, AsmString, 1 + AsmStringLen);
2580
2581
446k
  while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
2582
379k
         AsmString[I] != '$' && AsmString[I] != '\0')
2583
378k
    ++I;
2584
67.5k
  tmpString[I] = 0;
2585
67.5k
  SStream_concat0(OS, tmpString);
2586
67.5k
  if (ASMSTRING_CONTAIN_SIZE - 1 < AsmStringLen)
2587
    /* Free the possible cs_strdup() memory. PR#1424. */
2588
0
    cs_mem_free(tmpString);
2589
67.5k
#undef ASMSTRING_CONTAIN_SIZE
2590
2591
67.5k
  if (AsmString[I] != '\0') {
2592
66.2k
    if (AsmString[I] == ' ' || AsmString[I] == '\t') {
2593
66.2k
      SStream_concat0(OS, " ");
2594
66.2k
      ++I;
2595
66.2k
    }
2596
264k
    do {
2597
264k
      if (AsmString[I] == '$') {
2598
132k
        ++I;
2599
132k
        if (AsmString[I] == (char)0xff) {
2600
27.5k
          ++I;
2601
27.5k
          int OpIdx = AsmString[I++] - 1;
2602
27.5k
          int PrintMethodIdx = AsmString[I++] - 1;
2603
27.5k
          printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, OS);
2604
27.5k
        } else
2605
104k
          printOperand(MI, (unsigned)(AsmString[I++]) - 1, OS);
2606
132k
      } else {
2607
132k
        SStream_concat1(OS, AsmString[I++]);
2608
132k
      }
2609
264k
    } while (AsmString[I] != '\0');
2610
66.2k
  }
2611
2612
67.5k
  return true;
2613
250k
}
2614
2615
static void printCustomAliasOperand(
2616
         MCInst *MI, unsigned OpIdx,
2617
         unsigned PrintMethodIdx,
2618
27.5k
         SStream *OS) {
2619
27.5k
  switch (PrintMethodIdx) {
2620
0
  default:
2621
0
    CS_ASSERT(0 && "Unknown PrintMethod kind");
2622
0
    break;
2623
27.5k
  case 0:
2624
27.5k
    printCSRSystemRegister(MI, OpIdx, OS);
2625
27.5k
    break;
2626
27.5k
  }
2627
27.5k
}
2628
2629
static bool RISCVInstPrinterValidateMCOperand(MCOperand *MCOp,
2630
1.99k
                  unsigned PredicateIndex) {
2631
  // TODO: need some constant untils operate the MCOperand,
2632
  // but current CAPSTONE doesn't have.
2633
  // So, We just return true
2634
1.99k
  return true;
2635
2636
#if 0
2637
  switch (PredicateIndex) {
2638
  default:
2639
    llvm_unreachable("Unknown MCOperandPredicate kind");
2640
    break;
2641
  case 1: {
2642
2643
    int64_t Imm;
2644
    if (MCOp.evaluateAsConstantImm(Imm))
2645
      return isShiftedInt<12, 1>(Imm);
2646
    return MCOp.isBareSymbolRef();
2647
  
2648
    }
2649
  case 2: {
2650
2651
    int64_t Imm;
2652
    if (MCOp.evaluateAsConstantImm(Imm))
2653
      return isShiftedInt<20, 1>(Imm);
2654
    return MCOp.isBareSymbolRef();
2655
  
2656
    }
2657
  }
2658
#endif
2659
1.99k
}
2660
2661
#endif // PRINT_ALIAS_INSTR