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