Coverage Report

Created: 2018-11-16 02:38

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/Sparc/SparcGenAsmWriter.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Assembly Writer Source Fragment                                            *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
/// printInstruction - This method is automatically generated by tablegen
10
/// from the instruction set description.
11
7.98k
void SparcInstPrinter::printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O) {
12
7.98k
  static const char AsmStrs[] = {
13
7.98k
  /* 0 */ 'r', 'd', 32, '%', 'w', 'i', 'm', ',', 32, 0,
14
7.98k
  /* 10 */ 'r', 'd', 32, '%', 't', 'b', 'r', ',', 32, 0,
15
7.98k
  /* 20 */ 'r', 'd', 32, '%', 'p', 's', 'r', ',', 32, 0,
16
7.98k
  /* 30 */ 'f', 's', 'r', 'c', '1', 32, 0,
17
7.98k
  /* 37 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 32, 0,
18
7.98k
  /* 47 */ 'f', 'n', 'o', 't', '1', 32, 0,
19
7.98k
  /* 54 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 32, 0,
20
7.98k
  /* 63 */ 'f', 's', 'r', 'a', '3', '2', 32, 0,
21
7.98k
  /* 71 */ 'f', 'p', 's', 'u', 'b', '3', '2', 32, 0,
22
7.98k
  /* 80 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 32, 0,
23
7.98k
  /* 89 */ 'e', 'd', 'g', 'e', '3', '2', 32, 0,
24
7.98k
  /* 97 */ 'f', 'c', 'm', 'p', 'l', 'e', '3', '2', 32, 0,
25
7.98k
  /* 107 */ 'f', 'c', 'm', 'p', 'n', 'e', '3', '2', 32, 0,
26
7.98k
  /* 117 */ 'f', 'p', 'a', 'c', 'k', '3', '2', 32, 0,
27
7.98k
  /* 126 */ 'c', 'm', 'a', 's', 'k', '3', '2', 32, 0,
28
7.98k
  /* 135 */ 'f', 's', 'l', 'l', '3', '2', 32, 0,
29
7.98k
  /* 143 */ 'f', 's', 'r', 'l', '3', '2', 32, 0,
30
7.98k
  /* 151 */ 'f', 'c', 'm', 'p', 'e', 'q', '3', '2', 32, 0,
31
7.98k
  /* 161 */ 'f', 's', 'l', 'a', 's', '3', '2', 32, 0,
32
7.98k
  /* 170 */ 'f', 'c', 'm', 'p', 'g', 't', '3', '2', 32, 0,
33
7.98k
  /* 180 */ 'a', 'r', 'r', 'a', 'y', '3', '2', 32, 0,
34
7.98k
  /* 189 */ 'f', 's', 'r', 'c', '2', 32, 0,
35
7.98k
  /* 196 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 32, 0,
36
7.98k
  /* 206 */ 'f', 'n', 'o', 't', '2', 32, 0,
37
7.98k
  /* 213 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 32, 0,
38
7.98k
  /* 222 */ 'f', 'p', 'a', 'd', 'd', '6', '4', 32, 0,
39
7.98k
  /* 231 */ 'f', 's', 'r', 'a', '1', '6', 32, 0,
40
7.98k
  /* 239 */ 'f', 'p', 's', 'u', 'b', '1', '6', 32, 0,
41
7.98k
  /* 248 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 32, 0,
42
7.98k
  /* 257 */ 'e', 'd', 'g', 'e', '1', '6', 32, 0,
43
7.98k
  /* 265 */ 'f', 'c', 'm', 'p', 'l', 'e', '1', '6', 32, 0,
44
7.98k
  /* 275 */ 'f', 'c', 'm', 'p', 'n', 'e', '1', '6', 32, 0,
45
7.98k
  /* 285 */ 'f', 'p', 'a', 'c', 'k', '1', '6', 32, 0,
46
7.98k
  /* 294 */ 'c', 'm', 'a', 's', 'k', '1', '6', 32, 0,
47
7.98k
  /* 303 */ 'f', 's', 'l', 'l', '1', '6', 32, 0,
48
7.98k
  /* 311 */ 'f', 's', 'r', 'l', '1', '6', 32, 0,
49
7.98k
  /* 319 */ 'f', 'c', 'h', 'k', 's', 'm', '1', '6', 32, 0,
50
7.98k
  /* 329 */ 'f', 'm', 'e', 'a', 'n', '1', '6', 32, 0,
51
7.98k
  /* 338 */ 'f', 'c', 'm', 'p', 'e', 'q', '1', '6', 32, 0,
52
7.98k
  /* 348 */ 'f', 's', 'l', 'a', 's', '1', '6', 32, 0,
53
7.98k
  /* 357 */ 'f', 'c', 'm', 'p', 'g', 't', '1', '6', 32, 0,
54
7.98k
  /* 367 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 32, 0,
55
7.98k
  /* 377 */ 'f', 'm', 'u', 'l', 'd', '8', 'u', 'l', 'x', '1', '6', 32, 0,
56
7.98k
  /* 390 */ 'f', 'm', 'u', 'l', '8', 'u', 'l', 'x', '1', '6', 32, 0,
57
7.98k
  /* 402 */ 'f', 'm', 'u', 'l', 'd', '8', 's', 'u', 'x', '1', '6', 32, 0,
58
7.98k
  /* 415 */ 'f', 'm', 'u', 'l', '8', 's', 'u', 'x', '1', '6', 32, 0,
59
7.98k
  /* 427 */ 'a', 'r', 'r', 'a', 'y', '1', '6', 32, 0,
60
7.98k
  /* 436 */ 'e', 'd', 'g', 'e', '8', 32, 0,
61
7.98k
  /* 443 */ 'c', 'm', 'a', 's', 'k', '8', 32, 0,
62
7.98k
  /* 451 */ 'a', 'r', 'r', 'a', 'y', '8', 32, 0,
63
7.98k
  /* 459 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
64
7.98k
  /* 478 */ '!', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
65
7.98k
  /* 495 */ 'f', 'p', 's', 'u', 'b', '3', '2', 'S', 32, 0,
66
7.98k
  /* 505 */ 'f', 'p', 's', 'u', 'b', '1', '6', 'S', 32, 0,
67
7.98k
  /* 515 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', 32, 0,
68
7.98k
  /* 524 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', 32, 0,
69
7.98k
  /* 533 */ 'b', 'r', 'g', 'z', ',', 'a', 32, 0,
70
7.98k
  /* 541 */ 'b', 'r', 'l', 'z', ',', 'a', 32, 0,
71
7.98k
  /* 549 */ 'b', 'r', 'n', 'z', ',', 'a', 32, 0,
72
7.98k
  /* 557 */ 'b', 'r', 'z', ',', 'a', 32, 0,
73
7.98k
  /* 564 */ 's', 't', 'b', 'a', 32, 0,
74
7.98k
  /* 570 */ 's', 't', 'd', 'a', 32, 0,
75
7.98k
  /* 576 */ 's', 't', 'h', 'a', 32, 0,
76
7.98k
  /* 582 */ 's', 't', 'q', 'a', 32, 0,
77
7.98k
  /* 588 */ 's', 'r', 'a', 32, 0,
78
7.98k
  /* 593 */ 'f', 'a', 'l', 'i', 'g', 'n', 'd', 'a', 't', 'a', 32, 0,
79
7.98k
  /* 605 */ 's', 't', 'a', 32, 0,
80
7.98k
  /* 610 */ 's', 't', 'b', 32, 0,
81
7.98k
  /* 615 */ 's', 'u', 'b', 32, 0,
82
7.98k
  /* 620 */ 's', 'm', 'a', 'c', 32, 0,
83
7.98k
  /* 626 */ 'u', 'm', 'a', 'c', 32, 0,
84
7.98k
  /* 632 */ 't', 's', 'u', 'b', 'c', 'c', 32, 0,
85
7.98k
  /* 640 */ 'a', 'd', 'd', 'x', 'c', 'c', 'c', 32, 0,
86
7.98k
  /* 649 */ 't', 'a', 'd', 'd', 'c', 'c', 32, 0,
87
7.98k
  /* 657 */ 'a', 'n', 'd', 'c', 'c', 32, 0,
88
7.98k
  /* 664 */ 's', 'm', 'u', 'l', 'c', 'c', 32, 0,
89
7.98k
  /* 672 */ 'u', 'm', 'u', 'l', 'c', 'c', 32, 0,
90
7.98k
  /* 680 */ 'a', 'n', 'd', 'n', 'c', 'c', 32, 0,
91
7.98k
  /* 688 */ 'o', 'r', 'n', 'c', 'c', 32, 0,
92
7.98k
  /* 695 */ 'x', 'n', 'o', 'r', 'c', 'c', 32, 0,
93
7.98k
  /* 703 */ 'x', 'o', 'r', 'c', 'c', 32, 0,
94
7.98k
  /* 710 */ 'm', 'u', 'l', 's', 'c', 'c', 32, 0,
95
7.98k
  /* 718 */ 's', 'd', 'i', 'v', 'c', 'c', 32, 0,
96
7.98k
  /* 726 */ 'u', 'd', 'i', 'v', 'c', 'c', 32, 0,
97
7.98k
  /* 734 */ 's', 'u', 'b', 'x', 'c', 'c', 32, 0,
98
7.98k
  /* 742 */ 'a', 'd', 'd', 'x', 'c', 'c', 32, 0,
99
7.98k
  /* 750 */ 'p', 'o', 'p', 'c', 32, 0,
100
7.98k
  /* 756 */ 'a', 'd', 'd', 'x', 'c', 32, 0,
101
7.98k
  /* 763 */ 'f', 's', 'u', 'b', 'd', 32, 0,
102
7.98k
  /* 770 */ 'f', 'h', 's', 'u', 'b', 'd', 32, 0,
103
7.98k
  /* 778 */ 'a', 'd', 'd', 32, 0,
104
7.98k
  /* 783 */ 'f', 'a', 'd', 'd', 'd', 32, 0,
105
7.98k
  /* 790 */ 'f', 'h', 'a', 'd', 'd', 'd', 32, 0,
106
7.98k
  /* 798 */ 'f', 'n', 'h', 'a', 'd', 'd', 'd', 32, 0,
107
7.98k
  /* 807 */ 'f', 'n', 'a', 'd', 'd', 'd', 32, 0,
108
7.98k
  /* 815 */ 'f', 'c', 'm', 'p', 'e', 'd', 32, 0,
109
7.98k
  /* 823 */ 'f', 'n', 'e', 'g', 'd', 32, 0,
110
7.98k
  /* 830 */ 'f', 'm', 'u', 'l', 'd', 32, 0,
111
7.98k
  /* 837 */ 'f', 's', 'm', 'u', 'l', 'd', 32, 0,
112
7.98k
  /* 845 */ 'f', 'a', 'n', 'd', 32, 0,
113
7.98k
  /* 851 */ 'f', 'n', 'a', 'n', 'd', 32, 0,
114
7.98k
  /* 858 */ 'f', 'e', 'x', 'p', 'a', 'n', 'd', 32, 0,
115
7.98k
  /* 867 */ 'f', 'i', 't', 'o', 'd', 32, 0,
116
7.98k
  /* 874 */ 'f', 'q', 't', 'o', 'd', 32, 0,
117
7.98k
  /* 881 */ 'f', 's', 't', 'o', 'd', 32, 0,
118
7.98k
  /* 888 */ 'f', 'x', 't', 'o', 'd', 32, 0,
119
7.98k
  /* 895 */ 'f', 'c', 'm', 'p', 'd', 32, 0,
120
7.98k
  /* 902 */ 'f', 'l', 'c', 'm', 'p', 'd', 32, 0,
121
7.98k
  /* 910 */ 'r', 'd', 32, 0,
122
7.98k
  /* 914 */ 'f', 'a', 'b', 's', 'd', 32, 0,
123
7.98k
  /* 921 */ 'f', 's', 'q', 'r', 't', 'd', 32, 0,
124
7.98k
  /* 929 */ 's', 't', 'd', 32, 0,
125
7.98k
  /* 934 */ 'f', 'd', 'i', 'v', 'd', 32, 0,
126
7.98k
  /* 941 */ 'f', 'm', 'o', 'v', 'd', 32, 0,
127
7.98k
  /* 948 */ 'f', 'p', 'm', 'e', 'r', 'g', 'e', 32, 0,
128
7.98k
  /* 957 */ 'b', 's', 'h', 'u', 'f', 'f', 'l', 'e', 32, 0,
129
7.98k
  /* 967 */ 'f', 'o', 'n', 'e', 32, 0,
130
7.98k
  /* 973 */ 'r', 'e', 's', 't', 'o', 'r', 'e', 32, 0,
131
7.98k
  /* 982 */ 's', 'a', 'v', 'e', 32, 0,
132
7.98k
  /* 988 */ 'f', 'l', 'u', 's', 'h', 32, 0,
133
7.98k
  /* 995 */ 's', 't', 'h', 32, 0,
134
7.98k
  /* 1000 */ 's', 'e', 't', 'h', 'i', 32, 0,
135
7.98k
  /* 1007 */ 'u', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
136
7.98k
  /* 1016 */ 'x', 'm', 'u', 'l', 'x', 'h', 'i', 32, 0,
137
7.98k
  /* 1025 */ 'f', 'd', 't', 'o', 'i', 32, 0,
138
7.98k
  /* 1032 */ 'f', 'q', 't', 'o', 'i', 32, 0,
139
7.98k
  /* 1039 */ 'f', 's', 't', 'o', 'i', 32, 0,
140
7.98k
  /* 1046 */ 'b', 'm', 'a', 's', 'k', 32, 0,
141
7.98k
  /* 1053 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 32, 0,
142
7.98k
  /* 1062 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 32, 0,
143
7.98k
  /* 1071 */ 'e', 'd', 'g', 'e', '8', 'l', 32, 0,
144
7.98k
  /* 1079 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'l', 32, 0,
145
7.98k
  /* 1091 */ 'c', 'a', 'l', 'l', 32, 0,
146
7.98k
  /* 1097 */ 's', 'l', 'l', 32, 0,
147
7.98k
  /* 1102 */ 'j', 'm', 'p', 'l', 32, 0,
148
7.98k
  /* 1108 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 'l', 32, 0,
149
7.98k
  /* 1120 */ 's', 'r', 'l', 32, 0,
150
7.98k
  /* 1125 */ 's', 'm', 'u', 'l', 32, 0,
151
7.98k
  /* 1131 */ 'u', 'm', 'u', 'l', 32, 0,
152
7.98k
  /* 1137 */ 'e', 'd', 'g', 'e', '3', '2', 'n', 32, 0,
153
7.98k
  /* 1146 */ 'e', 'd', 'g', 'e', '1', '6', 'n', 32, 0,
154
7.98k
  /* 1155 */ 'e', 'd', 'g', 'e', '8', 'n', 32, 0,
155
7.98k
  /* 1163 */ 'a', 'n', 'd', 'n', 32, 0,
156
7.98k
  /* 1169 */ 'e', 'd', 'g', 'e', '3', '2', 'l', 'n', 32, 0,
157
7.98k
  /* 1179 */ 'e', 'd', 'g', 'e', '1', '6', 'l', 'n', 32, 0,
158
7.98k
  /* 1189 */ 'e', 'd', 'g', 'e', '8', 'l', 'n', 32, 0,
159
7.98k
  /* 1198 */ 'b', 'r', 'g', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
160
7.98k
  /* 1210 */ 'b', 'r', 'l', 'e', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
161
7.98k
  /* 1222 */ 'b', 'r', 'g', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
162
7.98k
  /* 1233 */ 'b', 'r', 'l', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
163
7.98k
  /* 1244 */ 'b', 'r', 'n', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
164
7.98k
  /* 1255 */ 'b', 'r', 'z', ',', 'a', ',', 'p', 'n', 32, 0,
165
7.98k
  /* 1265 */ 'b', 'r', 'g', 'e', 'z', ',', 'p', 'n', 32, 0,
166
7.98k
  /* 1275 */ 'b', 'r', 'l', 'e', 'z', ',', 'p', 'n', 32, 0,
167
7.98k
  /* 1285 */ 'b', 'r', 'g', 'z', ',', 'p', 'n', 32, 0,
168
7.98k
  /* 1294 */ 'b', 'r', 'l', 'z', ',', 'p', 'n', 32, 0,
169
7.98k
  /* 1303 */ 'b', 'r', 'n', 'z', ',', 'p', 'n', 32, 0,
170
7.98k
  /* 1312 */ 'b', 'r', 'z', ',', 'p', 'n', 32, 0,
171
7.98k
  /* 1320 */ 'o', 'r', 'n', 32, 0,
172
7.98k
  /* 1325 */ 'p', 'd', 'i', 's', 't', 'n', 32, 0,
173
7.98k
  /* 1333 */ 'f', 'z', 'e', 'r', 'o', 32, 0,
174
7.98k
  /* 1340 */ 'c', 'm', 'p', 32, 0,
175
7.98k
  /* 1345 */ 'u', 'n', 'i', 'm', 'p', 32, 0,
176
7.98k
  /* 1352 */ 'j', 'm', 'p', 32, 0,
177
7.98k
  /* 1357 */ 'f', 's', 'u', 'b', 'q', 32, 0,
178
7.98k
  /* 1364 */ 'f', 'a', 'd', 'd', 'q', 32, 0,
179
7.98k
  /* 1371 */ 'f', 'c', 'm', 'p', 'e', 'q', 32, 0,
180
7.98k
  /* 1379 */ 'f', 'n', 'e', 'g', 'q', 32, 0,
181
7.98k
  /* 1386 */ 'f', 'd', 'm', 'u', 'l', 'q', 32, 0,
182
7.98k
  /* 1394 */ 'f', 'm', 'u', 'l', 'q', 32, 0,
183
7.98k
  /* 1401 */ 'f', 'd', 't', 'o', 'q', 32, 0,
184
7.98k
  /* 1408 */ 'f', 'i', 't', 'o', 'q', 32, 0,
185
7.98k
  /* 1415 */ 'f', 's', 't', 'o', 'q', 32, 0,
186
7.98k
  /* 1422 */ 'f', 'x', 't', 'o', 'q', 32, 0,
187
7.98k
  /* 1429 */ 'f', 'c', 'm', 'p', 'q', 32, 0,
188
7.98k
  /* 1436 */ 'f', 'a', 'b', 's', 'q', 32, 0,
189
7.98k
  /* 1443 */ 'f', 's', 'q', 'r', 't', 'q', 32, 0,
190
7.98k
  /* 1451 */ 's', 't', 'q', 32, 0,
191
7.98k
  /* 1456 */ 'f', 'd', 'i', 'v', 'q', 32, 0,
192
7.98k
  /* 1463 */ 'f', 'm', 'o', 'v', 'q', 32, 0,
193
7.98k
  /* 1470 */ 'm', 'e', 'm', 'b', 'a', 'r', 32, 0,
194
7.98k
  /* 1478 */ 'a', 'l', 'i', 'g', 'n', 'a', 'd', 'd', 'r', 32, 0,
195
7.98k
  /* 1489 */ 'f', 'o', 'r', 32, 0,
196
7.98k
  /* 1494 */ 'f', 'n', 'o', 'r', 32, 0,
197
7.98k
  /* 1500 */ 'f', 'x', 'n', 'o', 'r', 32, 0,
198
7.98k
  /* 1507 */ 'f', 'x', 'o', 'r', 32, 0,
199
7.98k
  /* 1513 */ 'r', 'd', 'p', 'r', 32, 0,
200
7.98k
  /* 1519 */ 'w', 'r', 'p', 'r', 32, 0,
201
7.98k
  /* 1525 */ 'p', 'w', 'r', 32, 0,
202
7.98k
  /* 1530 */ 'f', 's', 'r', 'c', '1', 's', 32, 0,
203
7.98k
  /* 1538 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '1', 's', 32, 0,
204
7.98k
  /* 1549 */ 'f', 'n', 'o', 't', '1', 's', 32, 0,
205
7.98k
  /* 1557 */ 'f', 'o', 'r', 'n', 'o', 't', '1', 's', 32, 0,
206
7.98k
  /* 1567 */ 'f', 'p', 'a', 'd', 'd', '3', '2', 's', 32, 0,
207
7.98k
  /* 1577 */ 'f', 's', 'r', 'c', '2', 's', 32, 0,
208
7.98k
  /* 1585 */ 'f', 'a', 'n', 'd', 'n', 'o', 't', '2', 's', 32, 0,
209
7.98k
  /* 1596 */ 'f', 'n', 'o', 't', '2', 's', 32, 0,
210
7.98k
  /* 1604 */ 'f', 'o', 'r', 'n', 'o', 't', '2', 's', 32, 0,
211
7.98k
  /* 1614 */ 'f', 'p', 'a', 'd', 'd', '1', '6', 's', 32, 0,
212
7.98k
  /* 1624 */ 'f', 's', 'u', 'b', 's', 32, 0,
213
7.98k
  /* 1631 */ 'f', 'h', 's', 'u', 'b', 's', 32, 0,
214
7.98k
  /* 1639 */ 'f', 'a', 'd', 'd', 's', 32, 0,
215
7.98k
  /* 1646 */ 'f', 'h', 'a', 'd', 'd', 's', 32, 0,
216
7.98k
  /* 1654 */ 'f', 'n', 'h', 'a', 'd', 'd', 's', 32, 0,
217
7.98k
  /* 1663 */ 'f', 'n', 'a', 'd', 'd', 's', 32, 0,
218
7.98k
  /* 1671 */ 'f', 'a', 'n', 'd', 's', 32, 0,
219
7.98k
  /* 1678 */ 'f', 'n', 'a', 'n', 'd', 's', 32, 0,
220
7.98k
  /* 1686 */ 'f', 'o', 'n', 'e', 's', 32, 0,
221
7.98k
  /* 1693 */ 'f', 'c', 'm', 'p', 'e', 's', 32, 0,
222
7.98k
  /* 1701 */ 'f', 'n', 'e', 'g', 's', 32, 0,
223
7.98k
  /* 1708 */ 'f', 'm', 'u', 'l', 's', 32, 0,
224
7.98k
  /* 1715 */ 'f', 'z', 'e', 'r', 'o', 's', 32, 0,
225
7.98k
  /* 1723 */ 'f', 'd', 't', 'o', 's', 32, 0,
226
7.98k
  /* 1730 */ 'f', 'i', 't', 'o', 's', 32, 0,
227
7.98k
  /* 1737 */ 'f', 'q', 't', 'o', 's', 32, 0,
228
7.98k
  /* 1744 */ 'f', 'x', 't', 'o', 's', 32, 0,
229
7.98k
  /* 1751 */ 'f', 'c', 'm', 'p', 's', 32, 0,
230
7.98k
  /* 1758 */ 'f', 'l', 'c', 'm', 'p', 's', 32, 0,
231
7.98k
  /* 1766 */ 'f', 'o', 'r', 's', 32, 0,
232
7.98k
  /* 1772 */ 'f', 'n', 'o', 'r', 's', 32, 0,
233
7.98k
  /* 1779 */ 'f', 'x', 'n', 'o', 'r', 's', 32, 0,
234
7.98k
  /* 1787 */ 'f', 'x', 'o', 'r', 's', 32, 0,
235
7.98k
  /* 1794 */ 'f', 'a', 'b', 's', 's', 32, 0,
236
7.98k
  /* 1801 */ 'f', 's', 'q', 'r', 't', 's', 32, 0,
237
7.98k
  /* 1809 */ 'f', 'd', 'i', 'v', 's', 32, 0,
238
7.98k
  /* 1816 */ 'f', 'm', 'o', 'v', 's', 32, 0,
239
7.98k
  /* 1823 */ 's', 'e', 't', 32, 0,
240
7.98k
  /* 1828 */ 'l', 'z', 'c', 'n', 't', 32, 0,
241
7.98k
  /* 1835 */ 'p', 'd', 'i', 's', 't', 32, 0,
242
7.98k
  /* 1842 */ 'r', 'e', 't', 't', 32, 0,
243
7.98k
  /* 1848 */ 'f', 'm', 'u', 'l', '8', 'x', '1', '6', 'a', 'u', 32, 0,
244
7.98k
  /* 1860 */ 's', 'd', 'i', 'v', 32, 0,
245
7.98k
  /* 1866 */ 'u', 'd', 'i', 'v', 32, 0,
246
7.98k
  /* 1872 */ 't', 's', 'u', 'b', 'c', 'c', 't', 'v', 32, 0,
247
7.98k
  /* 1882 */ 't', 'a', 'd', 'd', 'c', 'c', 't', 'v', 32, 0,
248
7.98k
  /* 1892 */ 'm', 'o', 'v', 's', 't', 'o', 's', 'w', 32, 0,
249
7.98k
  /* 1902 */ 'm', 'o', 'v', 's', 't', 'o', 'u', 'w', 32, 0,
250
7.98k
  /* 1912 */ 's', 'r', 'a', 'x', 32, 0,
251
7.98k
  /* 1918 */ 's', 'u', 'b', 'x', 32, 0,
252
7.98k
  /* 1924 */ 'a', 'd', 'd', 'x', 32, 0,
253
7.98k
  /* 1930 */ 'f', 'p', 'a', 'c', 'k', 'f', 'i', 'x', 32, 0,
254
7.98k
  /* 1940 */ 's', 'l', 'l', 'x', 32, 0,
255
7.98k
  /* 1946 */ 's', 'r', 'l', 'x', 32, 0,
256
7.98k
  /* 1952 */ 'x', 'm', 'u', 'l', 'x', 32, 0,
257
7.98k
  /* 1959 */ 'f', 'd', 't', 'o', 'x', 32, 0,
258
7.98k
  /* 1966 */ 'm', 'o', 'v', 'd', 't', 'o', 'x', 32, 0,
259
7.98k
  /* 1975 */ 'f', 'q', 't', 'o', 'x', 32, 0,
260
7.98k
  /* 1982 */ 'f', 's', 't', 'o', 'x', 32, 0,
261
7.98k
  /* 1989 */ 's', 't', 'x', 32, 0,
262
7.98k
  /* 1994 */ 's', 'd', 'i', 'v', 'x', 32, 0,
263
7.98k
  /* 2001 */ 'u', 'd', 'i', 'v', 'x', 32, 0,
264
7.98k
  /* 2008 */ 'f', 'm', 'o', 'v', 'r', 'd', 'z', 32, 0,
265
7.98k
  /* 2017 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'e', 'z', 32, 0,
266
7.98k
  /* 2028 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'e', 'z', 32, 0,
267
7.98k
  /* 2039 */ 'b', 'r', 'g', 'e', 'z', 32, 0,
268
7.98k
  /* 2046 */ 'm', 'o', 'v', 'r', 'g', 'e', 'z', 32, 0,
269
7.98k
  /* 2055 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'e', 'z', 32, 0,
270
7.98k
  /* 2066 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'e', 'z', 32, 0,
271
7.98k
  /* 2077 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'e', 'z', 32, 0,
272
7.98k
  /* 2088 */ 'b', 'r', 'l', 'e', 'z', 32, 0,
273
7.98k
  /* 2095 */ 'm', 'o', 'v', 'r', 'l', 'e', 'z', 32, 0,
274
7.98k
  /* 2104 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'e', 'z', 32, 0,
275
7.98k
  /* 2115 */ 'f', 'm', 'o', 'v', 'r', 'd', 'g', 'z', 32, 0,
276
7.98k
  /* 2125 */ 'f', 'm', 'o', 'v', 'r', 'q', 'g', 'z', 32, 0,
277
7.98k
  /* 2135 */ 'b', 'r', 'g', 'z', 32, 0,
278
7.98k
  /* 2141 */ 'm', 'o', 'v', 'r', 'g', 'z', 32, 0,
279
7.98k
  /* 2149 */ 'f', 'm', 'o', 'v', 'r', 's', 'g', 'z', 32, 0,
280
7.98k
  /* 2159 */ 'f', 'm', 'o', 'v', 'r', 'd', 'l', 'z', 32, 0,
281
7.98k
  /* 2169 */ 'f', 'm', 'o', 'v', 'r', 'q', 'l', 'z', 32, 0,
282
7.98k
  /* 2179 */ 'b', 'r', 'l', 'z', 32, 0,
283
7.98k
  /* 2185 */ 'm', 'o', 'v', 'r', 'l', 'z', 32, 0,
284
7.98k
  /* 2193 */ 'f', 'm', 'o', 'v', 'r', 's', 'l', 'z', 32, 0,
285
7.98k
  /* 2203 */ 'f', 'm', 'o', 'v', 'r', 'd', 'n', 'z', 32, 0,
286
7.98k
  /* 2213 */ 'f', 'm', 'o', 'v', 'r', 'q', 'n', 'z', 32, 0,
287
7.98k
  /* 2223 */ 'b', 'r', 'n', 'z', 32, 0,
288
7.98k
  /* 2229 */ 'm', 'o', 'v', 'r', 'n', 'z', 32, 0,
289
7.98k
  /* 2237 */ 'f', 'm', 'o', 'v', 'r', 's', 'n', 'z', 32, 0,
290
7.98k
  /* 2247 */ 'f', 'm', 'o', 'v', 'r', 'q', 'z', 32, 0,
291
7.98k
  /* 2256 */ 'b', 'r', 'z', 32, 0,
292
7.98k
  /* 2261 */ 'm', 'o', 'v', 'r', 'z', 32, 0,
293
7.98k
  /* 2268 */ 'f', 'm', 'o', 'v', 'r', 's', 'z', 32, 0,
294
7.98k
  /* 2277 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
295
7.98k
  /* 2305 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
296
7.98k
  /* 2333 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
297
7.98k
  /* 2360 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'F', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
298
7.98k
  /* 2388 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'D', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
299
7.98k
  /* 2416 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'Q', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
300
7.98k
  /* 2444 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', 'P', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
301
7.98k
  /* 2471 */ ';', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', 'n', 't', '_', 'I', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
302
7.98k
  /* 2499 */ 'j', 'm', 'p', 32, '%', 'i', '7', '+', 0,
303
7.98k
  /* 2508 */ 'j', 'm', 'p', 32, '%', 'o', '7', '+', 0,
304
7.98k
  /* 2517 */ '#', 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,
305
7.98k
  /* 2548 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
306
7.98k
  /* 2572 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
307
7.98k
  /* 2597 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
308
7.98k
  /* 2620 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
309
7.98k
  /* 2643 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
310
7.98k
  /* 2665 */ 'f', 'l', 'u', 's', 'h', 32, '%', 'g', '0', 0,
311
7.98k
  /* 2675 */ 't', 'a', 32, '1', 0,
312
7.98k
  /* 2680 */ 't', 'a', 32, '3', 0,
313
7.98k
  /* 2685 */ 't', 'a', 32, '5', 0,
314
7.98k
  /* 2690 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
315
7.98k
  /* 2703 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
316
7.98k
  /* 2710 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
317
7.98k
  /* 2720 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
318
7.98k
  /* 2730 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
319
7.98k
  /* 2745 */ 's', 't', 'd', 32, '%', 'c', 'q', ',', 32, '[', 0,
320
7.98k
  /* 2756 */ 's', 't', 'd', 32, '%', 'f', 'q', ',', 32, '[', 0,
321
7.98k
  /* 2767 */ 's', 't', 32, '%', 'c', 's', 'r', ',', 32, '[', 0,
322
7.98k
  /* 2778 */ 's', 't', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
323
7.98k
  /* 2789 */ 's', 't', 'x', 32, '%', 'f', 's', 'r', ',', 32, '[', 0,
324
7.98k
  /* 2801 */ 'l', 'd', 's', 'b', 'a', 32, '[', 0,
325
7.98k
  /* 2809 */ 'l', 'd', 'u', 'b', 'a', 32, '[', 0,
326
7.98k
  /* 2817 */ 'l', 'd', 's', 't', 'u', 'b', 'a', 32, '[', 0,
327
7.98k
  /* 2827 */ 'l', 'd', 'd', 'a', 32, '[', 0,
328
7.98k
  /* 2834 */ 'l', 'd', 'a', 32, '[', 0,
329
7.98k
  /* 2840 */ 'l', 'd', 's', 'h', 'a', 32, '[', 0,
330
7.98k
  /* 2848 */ 'l', 'd', 'u', 'h', 'a', 32, '[', 0,
331
7.98k
  /* 2856 */ 's', 'w', 'a', 'p', 'a', 32, '[', 0,
332
7.98k
  /* 2864 */ 'l', 'd', 'q', 'a', 32, '[', 0,
333
7.98k
  /* 2871 */ 'c', 'a', 's', 'a', 32, '[', 0,
334
7.98k
  /* 2878 */ 'l', 'd', 's', 'b', 32, '[', 0,
335
7.98k
  /* 2885 */ 'l', 'd', 'u', 'b', 32, '[', 0,
336
7.98k
  /* 2892 */ 'l', 'd', 's', 't', 'u', 'b', 32, '[', 0,
337
7.98k
  /* 2901 */ 'l', 'd', 'd', 32, '[', 0,
338
7.98k
  /* 2907 */ 'l', 'd', 32, '[', 0,
339
7.98k
  /* 2912 */ 'l', 'd', 's', 'h', 32, '[', 0,
340
7.98k
  /* 2919 */ 'l', 'd', 'u', 'h', 32, '[', 0,
341
7.98k
  /* 2926 */ 's', 'w', 'a', 'p', 32, '[', 0,
342
7.98k
  /* 2933 */ 'l', 'd', 'q', 32, '[', 0,
343
7.98k
  /* 2939 */ 'c', 'a', 's', 32, '[', 0,
344
7.98k
  /* 2945 */ 'l', 'd', 's', 'w', 32, '[', 0,
345
7.98k
  /* 2952 */ 'l', 'd', 'x', 32, '[', 0,
346
7.98k
  /* 2958 */ 'c', 'a', 's', 'x', 32, '[', 0,
347
7.98k
  /* 2965 */ 'c', 'b', 0,
348
7.98k
  /* 2968 */ 'f', 'b', 0,
349
7.98k
  /* 2971 */ 'f', 'm', 'o', 'v', 'd', 0,
350
7.98k
  /* 2977 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
351
7.98k
  /* 2991 */ 's', 'i', 'a', 'm', 0,
352
7.98k
  /* 2996 */ 's', 'h', 'u', 't', 'd', 'o', 'w', 'n', 0,
353
7.98k
  /* 3005 */ 'n', 'o', 'p', 0,
354
7.98k
  /* 3009 */ 'f', 'm', 'o', 'v', 'q', 0,
355
7.98k
  /* 3015 */ 's', 't', 'b', 'a', 'r', 0,
356
7.98k
  /* 3021 */ 'f', 'm', 'o', 'v', 's', 0,
357
7.98k
  /* 3027 */ 't', 0,
358
7.98k
  /* 3029 */ 'm', 'o', 'v', 0,
359
7.98k
  /* 3033 */ 'f', 'l', 'u', 's', 'h', 'w', 0,
360
7.98k
  };
361
7.98k
362
7.98k
  static const uint32_t OpInfo0[] = {
363
7.98k
    0U, // PHI
364
7.98k
    0U, // INLINEASM
365
7.98k
    0U, // CFI_INSTRUCTION
366
7.98k
    0U, // EH_LABEL
367
7.98k
    0U, // GC_LABEL
368
7.98k
    0U, // ANNOTATION_LABEL
369
7.98k
    0U, // KILL
370
7.98k
    0U, // EXTRACT_SUBREG
371
7.98k
    0U, // INSERT_SUBREG
372
7.98k
    0U, // IMPLICIT_DEF
373
7.98k
    0U, // SUBREG_TO_REG
374
7.98k
    0U, // COPY_TO_REGCLASS
375
7.98k
    2711U,  // DBG_VALUE
376
7.98k
    2721U,  // DBG_LABEL
377
7.98k
    0U, // REG_SEQUENCE
378
7.98k
    0U, // COPY
379
7.98k
    2704U,  // BUNDLE
380
7.98k
    2731U,  // LIFETIME_START
381
7.98k
    2691U,  // LIFETIME_END
382
7.98k
    0U, // STACKMAP
383
7.98k
    2978U,  // FENTRY_CALL
384
7.98k
    0U, // PATCHPOINT
385
7.98k
    0U, // LOAD_STACK_GUARD
386
7.98k
    0U, // STATEPOINT
387
7.98k
    0U, // LOCAL_ESCAPE
388
7.98k
    0U, // FAULTING_OP
389
7.98k
    0U, // PATCHABLE_OP
390
7.98k
    2598U,  // PATCHABLE_FUNCTION_ENTER
391
7.98k
    2518U,  // PATCHABLE_RET
392
7.98k
    2644U,  // PATCHABLE_FUNCTION_EXIT
393
7.98k
    2621U,  // PATCHABLE_TAIL_CALL
394
7.98k
    2573U,  // PATCHABLE_EVENT_CALL
395
7.98k
    2549U,  // PATCHABLE_TYPED_EVENT_CALL
396
7.98k
    0U, // ICALL_BRANCH_FUNNEL
397
7.98k
    0U, // G_ADD
398
7.98k
    0U, // G_SUB
399
7.98k
    0U, // G_MUL
400
7.98k
    0U, // G_SDIV
401
7.98k
    0U, // G_UDIV
402
7.98k
    0U, // G_SREM
403
7.98k
    0U, // G_UREM
404
7.98k
    0U, // G_AND
405
7.98k
    0U, // G_OR
406
7.98k
    0U, // G_XOR
407
7.98k
    0U, // G_IMPLICIT_DEF
408
7.98k
    0U, // G_PHI
409
7.98k
    0U, // G_FRAME_INDEX
410
7.98k
    0U, // G_GLOBAL_VALUE
411
7.98k
    0U, // G_EXTRACT
412
7.98k
    0U, // G_UNMERGE_VALUES
413
7.98k
    0U, // G_INSERT
414
7.98k
    0U, // G_MERGE_VALUES
415
7.98k
    0U, // G_PTRTOINT
416
7.98k
    0U, // G_INTTOPTR
417
7.98k
    0U, // G_BITCAST
418
7.98k
    0U, // G_INTRINSIC_TRUNC
419
7.98k
    0U, // G_INTRINSIC_ROUND
420
7.98k
    0U, // G_LOAD
421
7.98k
    0U, // G_SEXTLOAD
422
7.98k
    0U, // G_ZEXTLOAD
423
7.98k
    0U, // G_STORE
424
7.98k
    0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
425
7.98k
    0U, // G_ATOMIC_CMPXCHG
426
7.98k
    0U, // G_ATOMICRMW_XCHG
427
7.98k
    0U, // G_ATOMICRMW_ADD
428
7.98k
    0U, // G_ATOMICRMW_SUB
429
7.98k
    0U, // G_ATOMICRMW_AND
430
7.98k
    0U, // G_ATOMICRMW_NAND
431
7.98k
    0U, // G_ATOMICRMW_OR
432
7.98k
    0U, // G_ATOMICRMW_XOR
433
7.98k
    0U, // G_ATOMICRMW_MAX
434
7.98k
    0U, // G_ATOMICRMW_MIN
435
7.98k
    0U, // G_ATOMICRMW_UMAX
436
7.98k
    0U, // G_ATOMICRMW_UMIN
437
7.98k
    0U, // G_BRCOND
438
7.98k
    0U, // G_BRINDIRECT
439
7.98k
    0U, // G_INTRINSIC
440
7.98k
    0U, // G_INTRINSIC_W_SIDE_EFFECTS
441
7.98k
    0U, // G_ANYEXT
442
7.98k
    0U, // G_TRUNC
443
7.98k
    0U, // G_CONSTANT
444
7.98k
    0U, // G_FCONSTANT
445
7.98k
    0U, // G_VASTART
446
7.98k
    0U, // G_VAARG
447
7.98k
    0U, // G_SEXT
448
7.98k
    0U, // G_ZEXT
449
7.98k
    0U, // G_SHL
450
7.98k
    0U, // G_LSHR
451
7.98k
    0U, // G_ASHR
452
7.98k
    0U, // G_ICMP
453
7.98k
    0U, // G_FCMP
454
7.98k
    0U, // G_SELECT
455
7.98k
    0U, // G_UADDO
456
7.98k
    0U, // G_UADDE
457
7.98k
    0U, // G_USUBO
458
7.98k
    0U, // G_USUBE
459
7.98k
    0U, // G_SADDO
460
7.98k
    0U, // G_SADDE
461
7.98k
    0U, // G_SSUBO
462
7.98k
    0U, // G_SSUBE
463
7.98k
    0U, // G_UMULO
464
7.98k
    0U, // G_SMULO
465
7.98k
    0U, // G_UMULH
466
7.98k
    0U, // G_SMULH
467
7.98k
    0U, // G_FADD
468
7.98k
    0U, // G_FSUB
469
7.98k
    0U, // G_FMUL
470
7.98k
    0U, // G_FMA
471
7.98k
    0U, // G_FDIV
472
7.98k
    0U, // G_FREM
473
7.98k
    0U, // G_FPOW
474
7.98k
    0U, // G_FEXP
475
7.98k
    0U, // G_FEXP2
476
7.98k
    0U, // G_FLOG
477
7.98k
    0U, // G_FLOG2
478
7.98k
    0U, // G_FNEG
479
7.98k
    0U, // G_FPEXT
480
7.98k
    0U, // G_FPTRUNC
481
7.98k
    0U, // G_FPTOSI
482
7.98k
    0U, // G_FPTOUI
483
7.98k
    0U, // G_SITOFP
484
7.98k
    0U, // G_UITOFP
485
7.98k
    0U, // G_FABS
486
7.98k
    0U, // G_GEP
487
7.98k
    0U, // G_PTR_MASK
488
7.98k
    0U, // G_BR
489
7.98k
    0U, // G_INSERT_VECTOR_ELT
490
7.98k
    0U, // G_EXTRACT_VECTOR_ELT
491
7.98k
    0U, // G_SHUFFLE_VECTOR
492
7.98k
    0U, // G_CTTZ
493
7.98k
    0U, // G_CTTZ_ZERO_UNDEF
494
7.98k
    0U, // G_CTLZ
495
7.98k
    0U, // G_CTLZ_ZERO_UNDEF
496
7.98k
    0U, // G_CTPOP
497
7.98k
    0U, // G_BSWAP
498
7.98k
    0U, // G_ADDRSPACE_CAST
499
7.98k
    0U, // G_BLOCK_ADDR
500
7.98k
    4556U,  // ADJCALLSTACKDOWN
501
7.98k
    70111U, // ADJCALLSTACKUP
502
7.98k
    8202U,  // GETPCX
503
7.98k
    2278U,  // SELECT_CC_DFP_FCC
504
7.98k
    2389U,  // SELECT_CC_DFP_ICC
505
7.98k
    2334U,  // SELECT_CC_FP_FCC
506
7.98k
    2445U,  // SELECT_CC_FP_ICC
507
7.98k
    2361U,  // SELECT_CC_Int_FCC
508
7.98k
    2472U,  // SELECT_CC_Int_ICC
509
7.98k
    2306U,  // SELECT_CC_QFP_FCC
510
7.98k
    2417U,  // SELECT_CC_QFP_ICC
511
7.98k
    2111264U, // SET
512
7.98k
    4207243U, // ADDCCri
513
7.98k
    4207243U, // ADDCCrr
514
7.98k
    4208517U, // ADDCri
515
7.98k
    4208517U, // ADDCrr
516
7.98k
    4207335U, // ADDEri
517
7.98k
    4207335U, // ADDErr
518
7.98k
    4207349U, // ADDXC
519
7.98k
    4207233U, // ADDXCCC
520
7.98k
    4207371U, // ADDXri
521
7.98k
    4207371U, // ADDXrr
522
7.98k
    4207371U, // ADDri
523
7.98k
    4207371U, // ADDrr
524
7.98k
    4208071U, // ALIGNADDR
525
7.98k
    4207701U, // ALIGNADDRL
526
7.98k
    4207250U, // ANDCCri
527
7.98k
    4207250U, // ANDCCrr
528
7.98k
    4207273U, // ANDNCCri
529
7.98k
    4207273U, // ANDNCCrr
530
7.98k
    4207756U, // ANDNri
531
7.98k
    4207756U, // ANDNrr
532
7.98k
    4207756U, // ANDXNrr
533
7.98k
    4207439U, // ANDXri
534
7.98k
    4207439U, // ANDXrr
535
7.98k
    4207439U, // ANDri
536
7.98k
    4207439U, // ANDrr
537
7.98k
    4207020U, // ARRAY16
538
7.98k
    4206773U, // ARRAY32
539
7.98k
    4207044U, // ARRAY8
540
7.98k
    70199U, // BA
541
7.98k
    2247575U, // BCOND
542
7.98k
    2313111U, // BCONDA
543
7.98k
    87369U, // BINDri
544
7.98k
    87369U, // BINDrr
545
7.98k
    4207639U, // BMASK
546
7.98k
    4344729U, // BPFCC
547
7.98k
    4410265U, // BPFCCA
548
7.98k
    281497U,  // BPFCCANT
549
7.98k
    347033U,  // BPFCCNT
550
7.98k
    5295U,  // BPGEZapn
551
7.98k
    4612U,  // BPGEZapt
552
7.98k
    5362U,  // BPGEZnapn
553
7.98k
    6136U,  // BPGEZnapt
554
7.98k
    5319U,  // BPGZapn
555
7.98k
    4630U,  // BPGZapt
556
7.98k
    5382U,  // BPGZnapn
557
7.98k
    6232U,  // BPGZnapt
558
7.98k
    2509719U, // BPICC
559
7.98k
    478103U,  // BPICCA
560
7.98k
    543639U,  // BPICCANT
561
7.98k
    609175U,  // BPICCNT
562
7.98k
    5307U,  // BPLEZapn
563
7.98k
    4621U,  // BPLEZapt
564
7.98k
    5372U,  // BPLEZnapn
565
7.98k
    6185U,  // BPLEZnapt
566
7.98k
    5330U,  // BPLZapn
567
7.98k
    4638U,  // BPLZapt
568
7.98k
    5391U,  // BPLZnapn
569
7.98k
    6276U,  // BPLZnapt
570
7.98k
    5341U,  // BPNZapn
571
7.98k
    4646U,  // BPNZapt
572
7.98k
    5400U,  // BPNZnapn
573
7.98k
    6320U,  // BPNZnapt
574
7.98k
    2771863U, // BPXCC
575
7.98k
    740247U,  // BPXCCA
576
7.98k
    805783U,  // BPXCCANT
577
7.98k
    871319U,  // BPXCCNT
578
7.98k
    5352U,  // BPZapn
579
7.98k
    4654U,  // BPZapt
580
7.98k
    5409U,  // BPZnapn
581
7.98k
    6353U,  // BPZnapt
582
7.98k
    4207550U, // BSHUFFLE
583
7.98k
    70724U, // CALL
584
7.98k
    87108U, // CALLri
585
7.98k
    87108U, // CALLrr
586
7.98k
    932664U,  // CASAasi10
587
7.98k
    7289656U, // CASArr
588
7.98k
    5258127U, // CASXrr
589
7.98k
    5258108U, // CASrr
590
7.98k
    2247574U, // CBCOND
591
7.98k
    2313110U, // CBCONDA
592
7.98k
    69927U, // CMASK16
593
7.98k
    69759U, // CMASK32
594
7.98k
    70076U, // CMASK8
595
7.98k
    5437U,  // CMPri
596
7.98k
    5437U,  // CMPrr
597
7.98k
    4206850U, // EDGE16
598
7.98k
    4207655U, // EDGE16L
599
7.98k
    4207772U, // EDGE16LN
600
7.98k
    4207739U, // EDGE16N
601
7.98k
    4206682U, // EDGE32
602
7.98k
    4207646U, // EDGE32L
603
7.98k
    4207762U, // EDGE32LN
604
7.98k
    4207730U, // EDGE32N
605
7.98k
    4207029U, // EDGE8
606
7.98k
    4207664U, // EDGE8L
607
7.98k
    4207782U, // EDGE8LN
608
7.98k
    4207748U, // EDGE8N
609
7.98k
    2110355U, // FABSD
610
7.98k
    2110877U, // FABSQ
611
7.98k
    2111235U, // FABSS
612
7.98k
    4207376U, // FADDD
613
7.98k
    4207957U, // FADDQ
614
7.98k
    4208232U, // FADDS
615
7.98k
    4207186U, // FALIGNADATA
616
7.98k
    4207438U, // FAND
617
7.98k
    4206630U, // FANDNOT1
618
7.98k
    4208131U, // FANDNOT1S
619
7.98k
    4206789U, // FANDNOT2
620
7.98k
    4208178U, // FANDNOT2S
621
7.98k
    4208264U, // FANDS
622
7.98k
    2247577U, // FBCOND
623
7.98k
    2313113U, // FBCONDA
624
7.98k
    4206912U, // FCHKSM16
625
7.98k
    4992U,  // FCMPD
626
7.98k
    4206931U, // FCMPEQ16
627
7.98k
    4206744U, // FCMPEQ32
628
7.98k
    4206950U, // FCMPGT16
629
7.98k
    4206763U, // FCMPGT32
630
7.98k
    4206858U, // FCMPLE16
631
7.98k
    4206690U, // FCMPLE32
632
7.98k
    4206868U, // FCMPNE16
633
7.98k
    4206700U, // FCMPNE32
634
7.98k
    5526U,  // FCMPQ
635
7.98k
    5848U,  // FCMPS
636
7.98k
    4207527U, // FDIVD
637
7.98k
    4208049U, // FDIVQ
638
7.98k
    4208402U, // FDIVS
639
7.98k
    4207979U, // FDMULQ
640
7.98k
    2110466U, // FDTOI
641
7.98k
    2110842U, // FDTOQ
642
7.98k
    2111164U, // FDTOS
643
7.98k
    2111400U, // FDTOX
644
7.98k
    2110299U, // FEXPAND
645
7.98k
    4207383U, // FHADDD
646
7.98k
    4208239U, // FHADDS
647
7.98k
    4207363U, // FHSUBD
648
7.98k
    4208224U, // FHSUBS
649
7.98k
    2110308U, // FITOD
650
7.98k
    2110849U, // FITOQ
651
7.98k
    2111171U, // FITOS
652
7.98k
    16782215U,  // FLCMPD
653
7.98k
    16783071U,  // FLCMPS
654
7.98k
    2666U,  // FLUSH
655
7.98k
    3034U,  // FLUSHW
656
7.98k
    87005U, // FLUSHri
657
7.98k
    87005U, // FLUSHrr
658
7.98k
    4206922U, // FMEAN16
659
7.98k
    2110382U, // FMOVD
660
7.98k
    1141660U, // FMOVD_FCC
661
7.98k
    151415708U, // FMOVD_ICC
662
7.98k
    151677852U, // FMOVD_XCC
663
7.98k
    2110904U, // FMOVQ
664
7.98k
    1141698U, // FMOVQ_FCC
665
7.98k
    151415746U, // FMOVQ_ICC
666
7.98k
    151677890U, // FMOVQ_XCC
667
7.98k
    4208610U, // FMOVRGEZD
668
7.98k
    4208621U, // FMOVRGEZQ
669
7.98k
    4208648U, // FMOVRGEZS
670
7.98k
    4208708U, // FMOVRGZD
671
7.98k
    4208718U, // FMOVRGZQ
672
7.98k
    4208742U, // FMOVRGZS
673
7.98k
    4208659U, // FMOVRLEZD
674
7.98k
    4208670U, // FMOVRLEZQ
675
7.98k
    4208697U, // FMOVRLEZS
676
7.98k
    4208752U, // FMOVRLZD
677
7.98k
    4208762U, // FMOVRLZQ
678
7.98k
    4208786U, // FMOVRLZS
679
7.98k
    4208796U, // FMOVRNZD
680
7.98k
    4208806U, // FMOVRNZQ
681
7.98k
    4208830U, // FMOVRNZS
682
7.98k
    4208601U, // FMOVRZD
683
7.98k
    4208840U, // FMOVRZQ
684
7.98k
    4208861U, // FMOVRZS
685
7.98k
    2111257U, // FMOVS
686
7.98k
    1141710U, // FMOVS_FCC
687
7.98k
    151415758U, // FMOVS_ICC
688
7.98k
    151677902U, // FMOVS_XCC
689
7.98k
    4207008U, // FMUL8SUX16
690
7.98k
    4206983U, // FMUL8ULX16
691
7.98k
    4206960U, // FMUL8X16
692
7.98k
    4207672U, // FMUL8X16AL
693
7.98k
    4208441U, // FMUL8X16AU
694
7.98k
    4207423U, // FMULD
695
7.98k
    4206995U, // FMULD8SUX16
696
7.98k
    4206970U, // FMULD8ULX16
697
7.98k
    4207987U, // FMULQ
698
7.98k
    4208301U, // FMULS
699
7.98k
    4207400U, // FNADDD
700
7.98k
    4208256U, // FNADDS
701
7.98k
    4207444U, // FNAND
702
7.98k
    4208271U, // FNANDS
703
7.98k
    2110264U, // FNEGD
704
7.98k
    2110820U, // FNEGQ
705
7.98k
    2111142U, // FNEGS
706
7.98k
    4207391U, // FNHADDD
707
7.98k
    4208247U, // FNHADDS
708
7.98k
    4207391U, // FNMULD
709
7.98k
    4208247U, // FNMULS
710
7.98k
    4208087U, // FNOR
711
7.98k
    4208365U, // FNORS
712
7.98k
    2109488U, // FNOT1
713
7.98k
    2110990U, // FNOT1S
714
7.98k
    2109647U, // FNOT2
715
7.98k
    2111037U, // FNOT2S
716
7.98k
    4208247U, // FNSMULD
717
7.98k
    70600U, // FONE
718
7.98k
    71319U, // FONES
719
7.98k
    4208082U, // FOR
720
7.98k
    4206647U, // FORNOT1
721
7.98k
    4208150U, // FORNOT1S
722
7.98k
    4206806U, // FORNOT2
723
7.98k
    4208197U, // FORNOT2S
724
7.98k
    4208359U, // FORS
725
7.98k
    2109726U, // FPACK16
726
7.98k
    4206710U, // FPACK32
727
7.98k
    2111371U, // FPACKFIX
728
7.98k
    4206841U, // FPADD16
729
7.98k
    4208207U, // FPADD16S
730
7.98k
    4206673U, // FPADD32
731
7.98k
    4208160U, // FPADD32S
732
7.98k
    4206815U, // FPADD64
733
7.98k
    4207541U, // FPMERGE
734
7.98k
    4206832U, // FPSUB16
735
7.98k
    4207098U, // FPSUB16S
736
7.98k
    4206664U, // FPSUB32
737
7.98k
    4207088U, // FPSUB32S
738
7.98k
    2110315U, // FQTOD
739
7.98k
    2110473U, // FQTOI
740
7.98k
    2111178U, // FQTOS
741
7.98k
    2111416U, // FQTOX
742
7.98k
    4206941U, // FSLAS16
743
7.98k
    4206754U, // FSLAS32
744
7.98k
    4206896U, // FSLL16
745
7.98k
    4206728U, // FSLL32
746
7.98k
    4207430U, // FSMULD
747
7.98k
    2110362U, // FSQRTD
748
7.98k
    2110884U, // FSQRTQ
749
7.98k
    2111242U, // FSQRTS
750
7.98k
    4206824U, // FSRA16
751
7.98k
    4206656U, // FSRA32
752
7.98k
    2109471U, // FSRC1
753
7.98k
    2110971U, // FSRC1S
754
7.98k
    2109630U, // FSRC2
755
7.98k
    2111018U, // FSRC2S
756
7.98k
    4206904U, // FSRL16
757
7.98k
    4206736U, // FSRL32
758
7.98k
    2110322U, // FSTOD
759
7.98k
    2110480U, // FSTOI
760
7.98k
    2110856U, // FSTOQ
761
7.98k
    2111423U, // FSTOX
762
7.98k
    4207356U, // FSUBD
763
7.98k
    4207950U, // FSUBQ
764
7.98k
    4208217U, // FSUBS
765
7.98k
    4208093U, // FXNOR
766
7.98k
    4208372U, // FXNORS
767
7.98k
    4208100U, // FXOR
768
7.98k
    4208380U, // FXORS
769
7.98k
    2110329U, // FXTOD
770
7.98k
    2110863U, // FXTOQ
771
7.98k
    2111185U, // FXTOS
772
7.98k
    70966U, // FZERO
773
7.98k
    71348U, // FZEROS
774
7.98k
    2126927U, // JMPLri
775
7.98k
    2126927U, // JMPLrr
776
7.98k
    160398099U, // LDArr
777
7.98k
    1203036U, // LDCSRri
778
7.98k
    1203036U, // LDCSRrr
779
7.98k
    3177308U, // LDCri
780
7.98k
    3177308U, // LDCrr
781
7.98k
    160398092U, // LDDArr
782
7.98k
    3177302U, // LDDCri
783
7.98k
    3177302U, // LDDCrr
784
7.98k
    160398092U, // LDDFArr
785
7.98k
    3177302U, // LDDFri
786
7.98k
    3177302U, // LDDFrr
787
7.98k
    3177302U, // LDDri
788
7.98k
    3177302U, // LDDrr
789
7.98k
    160398099U, // LDFArr
790
7.98k
    1268572U, // LDFSRri
791
7.98k
    1268572U, // LDFSRrr
792
7.98k
    3177308U, // LDFri
793
7.98k
    3177308U, // LDFrr
794
7.98k
    160398129U, // LDQFArr
795
7.98k
    3177334U, // LDQFri
796
7.98k
    3177334U, // LDQFrr
797
7.98k
    160398066U, // LDSBArr
798
7.98k
    3177279U, // LDSBri
799
7.98k
    3177279U, // LDSBrr
800
7.98k
    160398105U, // LDSHArr
801
7.98k
    3177313U, // LDSHri
802
7.98k
    3177313U, // LDSHrr
803
7.98k
    160398082U, // LDSTUBArr
804
7.98k
    3177293U, // LDSTUBri
805
7.98k
    3177293U, // LDSTUBrr
806
7.98k
    3177346U, // LDSWri
807
7.98k
    3177346U, // LDSWrr
808
7.98k
    160398074U, // LDUBArr
809
7.98k
    3177286U, // LDUBri
810
7.98k
    3177286U, // LDUBrr
811
7.98k
    160398113U, // LDUHArr
812
7.98k
    3177320U, // LDUHri
813
7.98k
    3177320U, // LDUHrr
814
7.98k
    1268617U, // LDXFSRri
815
7.98k
    1268617U, // LDXFSRrr
816
7.98k
    3177353U, // LDXri
817
7.98k
    3177353U, // LDXrr
818
7.98k
    3177308U, // LDri
819
7.98k
    3177308U, // LDrr
820
7.98k
    33547U, // LEAX_ADDri
821
7.98k
    33547U, // LEA_ADDri
822
7.98k
    2111269U, // LZCNT
823
7.98k
    71103U, // MEMBARi
824
7.98k
    2111407U, // MOVDTOX
825
7.98k
    1141718U, // MOVFCCri
826
7.98k
    1141718U, // MOVFCCrr
827
7.98k
    151415766U, // MOVICCri
828
7.98k
    151415766U, // MOVICCrr
829
7.98k
    4208639U, // MOVRGEZri
830
7.98k
    4208639U, // MOVRGEZrr
831
7.98k
    4208734U, // MOVRGZri
832
7.98k
    4208734U, // MOVRGZrr
833
7.98k
    4208688U, // MOVRLEZri
834
7.98k
    4208688U, // MOVRLEZrr
835
7.98k
    4208778U, // MOVRLZri
836
7.98k
    4208778U, // MOVRLZrr
837
7.98k
    4208822U, // MOVRNZri
838
7.98k
    4208822U, // MOVRNZrr
839
7.98k
    4208854U, // MOVRRZri
840
7.98k
    4208854U, // MOVRRZrr
841
7.98k
    2111333U, // MOVSTOSW
842
7.98k
    2111343U, // MOVSTOUW
843
7.98k
    2111407U, // MOVWTOS
844
7.98k
    151677910U, // MOVXCCri
845
7.98k
    151677910U, // MOVXCCrr
846
7.98k
    2111407U, // MOVXTOD
847
7.98k
    4207303U, // MULSCCri
848
7.98k
    4207303U, // MULSCCrr
849
7.98k
    4208546U, // MULXri
850
7.98k
    4208546U, // MULXrr
851
7.98k
    3006U,  // NOP
852
7.98k
    4207290U, // ORCCri
853
7.98k
    4207290U, // ORCCrr
854
7.98k
    4207281U, // ORNCCri
855
7.98k
    4207281U, // ORNCCrr
856
7.98k
    4207913U, // ORNri
857
7.98k
    4207913U, // ORNrr
858
7.98k
    4207913U, // ORXNrr
859
7.98k
    4208083U, // ORXri
860
7.98k
    4208083U, // ORXrr
861
7.98k
    4208083U, // ORri
862
7.98k
    4208083U, // ORrr
863
7.98k
    4208428U, // PDIST
864
7.98k
    4207918U, // PDISTN
865
7.98k
    2110191U, // POPCrr
866
7.98k
    33560054U,  // PWRPSRri
867
7.98k
    33560054U,  // PWRPSRrr
868
7.98k
    2110351U, // RDASR
869
7.98k
    2110954U, // RDPR
870
7.98k
    69653U, // RDPSR
871
7.98k
    69643U, // RDTBR
872
7.98k
    69633U, // RDWIM
873
7.98k
    4207566U, // RESTOREri
874
7.98k
    4207566U, // RESTORErr
875
7.98k
    72132U, // RET
876
7.98k
    72141U, // RETL
877
7.98k
    87859U, // RETTri
878
7.98k
    87859U, // RETTrr
879
7.98k
    4207575U, // SAVEri
880
7.98k
    4207575U, // SAVErr
881
7.98k
    4207311U, // SDIVCCri
882
7.98k
    4207311U, // SDIVCCrr
883
7.98k
    4208587U, // SDIVXri
884
7.98k
    4208587U, // SDIVXrr
885
7.98k
    4208453U, // SDIVri
886
7.98k
    4208453U, // SDIVrr
887
7.98k
    2110441U, // SETHIXi
888
7.98k
    2110441U, // SETHIi
889
7.98k
    2997U,  // SHUTDOWN
890
7.98k
    2992U,  // SIAM
891
7.98k
    4208533U, // SLLXri
892
7.98k
    4208533U, // SLLXrr
893
7.98k
    4207690U, // SLLri
894
7.98k
    4207690U, // SLLrr
895
7.98k
    4207213U, // SMACri
896
7.98k
    4207213U, // SMACrr
897
7.98k
    4207257U, // SMULCCri
898
7.98k
    4207257U, // SMULCCrr
899
7.98k
    4207718U, // SMULri
900
7.98k
    4207718U, // SMULrr
901
7.98k
    4208505U, // SRAXri
902
7.98k
    4208505U, // SRAXrr
903
7.98k
    4207181U, // SRAri
904
7.98k
    4207181U, // SRArr
905
7.98k
    4208539U, // SRLXri
906
7.98k
    4208539U, // SRLXrr
907
7.98k
    4207713U, // SRLri
908
7.98k
    4207713U, // SRLrr
909
7.98k
    9409118U, // STArr
910
7.98k
    3016U,  // STBAR
911
7.98k
    9409077U, // STBArr
912
7.98k
    1348195U, // STBri
913
7.98k
    1348195U, // STBrr
914
7.98k
    1333968U, // STCSRri
915
7.98k
    1333968U, // STCSRrr
916
7.98k
    1349423U, // STCri
917
7.98k
    1349423U, // STCrr
918
7.98k
    9409083U, // STDArr
919
7.98k
    1333946U, // STDCQri
920
7.98k
    1333946U, // STDCQrr
921
7.98k
    1348514U, // STDCri
922
7.98k
    1348514U, // STDCrr
923
7.98k
    9409083U, // STDFArr
924
7.98k
    1333957U, // STDFQri
925
7.98k
    1333957U, // STDFQrr
926
7.98k
    1348514U, // STDFri
927
7.98k
    1348514U, // STDFrr
928
7.98k
    1348514U, // STDri
929
7.98k
    1348514U, // STDrr
930
7.98k
    9409118U, // STFArr
931
7.98k
    1333979U, // STFSRri
932
7.98k
    1333979U, // STFSRrr
933
7.98k
    1349423U, // STFri
934
7.98k
    1349423U, // STFrr
935
7.98k
    9409089U, // STHArr
936
7.98k
    1348580U, // STHri
937
7.98k
    1348580U, // STHrr
938
7.98k
    9409095U, // STQFArr
939
7.98k
    1349036U, // STQFri
940
7.98k
    1349036U, // STQFrr
941
7.98k
    1333990U, // STXFSRri
942
7.98k
    1333990U, // STXFSRrr
943
7.98k
    1349574U, // STXri
944
7.98k
    1349574U, // STXrr
945
7.98k
    1349423U, // STri
946
7.98k
    1349423U, // STrr
947
7.98k
    4207226U, // SUBCCri
948
7.98k
    4207226U, // SUBCCrr
949
7.98k
    4208511U, // SUBCri
950
7.98k
    4208511U, // SUBCrr
951
7.98k
    4207327U, // SUBEri
952
7.98k
    4207327U, // SUBErr
953
7.98k
    4207208U, // SUBXri
954
7.98k
    4207208U, // SUBXrr
955
7.98k
    4207208U, // SUBri
956
7.98k
    4207208U, // SUBrr
957
7.98k
    160398121U, // SWAPArr
958
7.98k
    3177327U, // SWAPri
959
7.98k
    3177327U, // SWAPrr
960
7.98k
    2676U,  // TA1
961
7.98k
    2681U,  // TA3
962
7.98k
    2686U,  // TA5
963
7.98k
    4208475U, // TADDCCTVri
964
7.98k
    4208475U, // TADDCCTVrr
965
7.98k
    4207242U, // TADDCCri
966
7.98k
    4207242U, // TADDCCrr
967
7.98k
    52866004U,  // TICCri
968
7.98k
    52866004U,  // TICCrr
969
7.98k
    289420043U, // TLS_ADDXrr
970
7.98k
    289420043U, // TLS_ADDrr
971
7.98k
    5188U,  // TLS_CALL
972
7.98k
    288390025U, // TLS_LDXrr
973
7.98k
    288389980U, // TLS_LDrr
974
7.98k
    52603860U,  // TRAPri
975
7.98k
    52603860U,  // TRAPrr
976
7.98k
    4208465U, // TSUBCCTVri
977
7.98k
    4208465U, // TSUBCCTVrr
978
7.98k
    4207225U, // TSUBCCri
979
7.98k
    4207225U, // TSUBCCrr
980
7.98k
    53128148U,  // TXCCri
981
7.98k
    53128148U,  // TXCCrr
982
7.98k
    4207319U, // UDIVCCri
983
7.98k
    4207319U, // UDIVCCrr
984
7.98k
    4208594U, // UDIVXri
985
7.98k
    4208594U, // UDIVXrr
986
7.98k
    4208459U, // UDIVri
987
7.98k
    4208459U, // UDIVrr
988
7.98k
    4207219U, // UMACri
989
7.98k
    4207219U, // UMACrr
990
7.98k
    4207265U, // UMULCCri
991
7.98k
    4207265U, // UMULCCrr
992
7.98k
    4207600U, // UMULXHI
993
7.98k
    4207724U, // UMULri
994
7.98k
    4207724U, // UMULrr
995
7.98k
    70978U, // UNIMP
996
7.98k
    16782208U,  // V9FCMPD
997
7.98k
    16782128U,  // V9FCMPED
998
7.98k
    16782684U,  // V9FCMPEQ
999
7.98k
    16783006U,  // V9FCMPES
1000
7.98k
    16782742U,  // V9FCMPQ
1001
7.98k
    16783064U,  // V9FCMPS
1002
7.98k
    48028U, // V9FMOVD_FCC
1003
7.98k
    48066U, // V9FMOVQ_FCC
1004
7.98k
    48078U, // V9FMOVS_FCC
1005
7.98k
    48086U, // V9MOVFCCri
1006
7.98k
    48086U, // V9MOVFCCrr
1007
7.98k
    4208119U, // WRASRri
1008
7.98k
    4208119U, // WRASRrr
1009
7.98k
    4208112U, // WRPRri
1010
7.98k
    4208112U, // WRPRrr
1011
7.98k
    33560055U,  // WRPSRri
1012
7.98k
    33560055U,  // WRPSRrr
1013
7.98k
    67114487U,  // WRTBRri
1014
7.98k
    67114487U,  // WRTBRrr
1015
7.98k
    83891703U,  // WRWIMri
1016
7.98k
    83891703U,  // WRWIMrr
1017
7.98k
    4208545U, // XMULX
1018
7.98k
    4207609U, // XMULXHI
1019
7.98k
    4207288U, // XNORCCri
1020
7.98k
    4207288U, // XNORCCrr
1021
7.98k
    4208094U, // XNORXrr
1022
7.98k
    4208094U, // XNORri
1023
7.98k
    4208094U, // XNORrr
1024
7.98k
    4207296U, // XORCCri
1025
7.98k
    4207296U, // XORCCrr
1026
7.98k
    4208101U, // XORXri
1027
7.98k
    4208101U, // XORXrr
1028
7.98k
    4208101U, // XORri
1029
7.98k
    4208101U, // XORrr
1030
7.98k
  };
1031
7.98k
1032
7.98k
  O << "\t";
1033
7.98k
1034
7.98k
  // Emit the opcode for the instruction.
1035
7.98k
  uint32_t Bits = 0;
1036
7.98k
  Bits |= OpInfo0[MI->getOpcode()] << 0;
1037
7.98k
  assert(Bits != 0 && "Cannot print this instruction.");
1038
7.98k
  O << AsmStrs+(Bits & 4095)-1;
1039
7.98k
1040
7.98k
1041
7.98k
  // Fragment 0 encoded into 4 bits for 12 unique commands.
1042
7.98k
  switch ((Bits >> 12) & 15) {
1043
7.98k
  
default: 0
llvm_unreachable0
("Invalid command number.");
1044
7.98k
  case 0:
1045
561
    // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
1046
561
    return;
1047
7.98k
    
break0
;
1048
7.98k
  case 1:
1049
814
    // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BA, BPGEZapn, BPGEZapt, BPGEZnapn, B...
1050
814
    printOperand(MI, 0, STI, O);
1051
814
    break;
1052
7.98k
  case 2:
1053
0
    // GETPCX
1054
0
    printGetPCX(MI, 0, STI, O);
1055
0
    return;
1056
7.98k
    
break0
;
1057
7.98k
  case 3:
1058
3.19k
    // SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC,...
1059
3.19k
    printOperand(MI, 1, STI, O);
1060
3.19k
    break;
1061
7.98k
  case 4:
1062
369
    // BCOND, BCONDA, BPFCC, BPFCCA, BPFCCANT, BPFCCNT, BPICC, BPICCA, BPICCA...
1063
369
    printCCOperand(MI, 1, STI, O);
1064
369
    break;
1065
7.98k
  case 5:
1066
56
    // BINDri, BINDrr, CALLri, CALLrr, FLUSHri, FLUSHrr, LDCSRri, LDCSRrr, LD...
1067
56
    printMemOperand(MI, 0, STI, O);
1068
56
    break;
1069
7.98k
  case 6:
1070
13
    // FMOVD_FCC, FMOVD_ICC, FMOVD_XCC, FMOVQ_FCC, FMOVQ_ICC, FMOVQ_XCC, FMOV...
1071
13
    printCCOperand(MI, 3, STI, O);
1072
13
    break;
1073
7.98k
  case 7:
1074
1.28k
    // JMPLri, JMPLrr, LDArr, LDCri, LDCrr, LDDArr, LDDCri, LDDCrr, LDDFArr, ...
1075
1.28k
    printMemOperand(MI, 1, STI, O);
1076
1.28k
    break;
1077
7.98k
  case 8:
1078
125
    // LEAX_ADDri, LEA_ADDri
1079
125
    printMemOperand(MI, 1, STI, O, "arith");
1080
125
    O << ", ";
1081
125
    printOperand(MI, 0, STI, O);
1082
125
    return;
1083
7.98k
    
break0
;
1084
7.98k
  case 9:
1085
1.56k
    // STArr, STBArr, STBri, STBrr, STCri, STCrr, STDArr, STDCri, STDCrr, STD...
1086
1.56k
    printOperand(MI, 2, STI, O);
1087
1.56k
    O << ", [";
1088
1.56k
    printMemOperand(MI, 0, STI, O);
1089
1.56k
    break;
1090
7.98k
  case 10:
1091
0
    // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
1092
0
    printCCOperand(MI, 2, STI, O);
1093
0
    break;
1094
7.98k
  case 11:
1095
0
    // V9FMOVD_FCC, V9FMOVQ_FCC, V9FMOVS_FCC, V9MOVFCCri, V9MOVFCCrr
1096
0
    printCCOperand(MI, 4, STI, O);
1097
0
    O << ' ';
1098
0
    printOperand(MI, 1, STI, O);
1099
0
    O << ", ";
1100
0
    printOperand(MI, 2, STI, O);
1101
0
    O << ", ";
1102
0
    printOperand(MI, 0, STI, O);
1103
0
    return;
1104
7.98k
    
break0
;
1105
7.29k
  }
1106
7.29k
1107
7.29k
1108
7.29k
  // Fragment 1 encoded into 5 bits for 21 unique commands.
1109
7.29k
  switch ((Bits >> 16) & 31) {
1110
7.29k
  
default: 0
llvm_unreachable0
("Invalid command number.");
1111
7.29k
  case 0:
1112
3.45k
    // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
1113
3.45k
    O << ", ";
1114
3.45k
    break;
1115
7.29k
  case 1:
1116
546
    // ADJCALLSTACKUP, BA, BINDri, BINDrr, CALL, CALLri, CALLrr, CMASK16, CMA...
1117
546
    return;
1118
7.29k
    
break0
;
1119
7.29k
  case 2:
1120
157
    // BCOND, BPFCC, CBCOND, FBCOND, TRAPri, TRAPrr
1121
157
    O << ' ';
1122
157
    break;
1123
7.29k
  case 3:
1124
115
    // BCONDA, BPFCCA, CBCONDA, FBCONDA
1125
115
    O << ",a ";
1126
115
    break;
1127
7.29k
  case 4:
1128
0
    // BPFCCANT
1129
0
    O << ",a,pn ";
1130
0
    printOperand(MI, 2, STI, O);
1131
0
    O << ", ";
1132
0
    printOperand(MI, 0, STI, O);
1133
0
    return;
1134
7.29k
    
break0
;
1135
7.29k
  case 5:
1136
0
    // BPFCCNT
1137
0
    O << ",pn ";
1138
0
    printOperand(MI, 2, STI, O);
1139
0
    O << ", ";
1140
0
    printOperand(MI, 0, STI, O);
1141
0
    return;
1142
7.29k
    
break0
;
1143
7.29k
  case 6:
1144
14
    // BPICC, FMOVD_ICC, FMOVQ_ICC, FMOVS_ICC, MOVICCri, MOVICCrr, TICCri, TI...
1145
14
    O << " %icc, ";
1146
14
    break;
1147
7.29k
  case 7:
1148
25
    // BPICCA
1149
25
    O << ",a %icc, ";
1150
25
    printOperand(MI, 0, STI, O);
1151
25
    return;
1152
7.29k
    
break0
;
1153
7.29k
  case 8:
1154
0
    // BPICCANT
1155
0
    O << ",a,pn %icc, ";
1156
0
    printOperand(MI, 0, STI, O);
1157
0
    return;
1158
7.29k
    
break0
;
1159
7.29k
  case 9:
1160
0
    // BPICCNT
1161
0
    O << ",pn %icc, ";
1162
0
    printOperand(MI, 0, STI, O);
1163
0
    return;
1164
7.29k
    
break0
;
1165
7.29k
  case 10:
1166
33
    // BPXCC, FMOVD_XCC, FMOVQ_XCC, FMOVS_XCC, MOVXCCri, MOVXCCrr, TXCCri, TX...
1167
33
    O << " %xcc, ";
1168
33
    break;
1169
7.29k
  case 11:
1170
25
    // BPXCCA
1171
25
    O << ",a %xcc, ";
1172
25
    printOperand(MI, 0, STI, O);
1173
25
    return;
1174
7.29k
    
break0
;
1175
7.29k
  case 12:
1176
0
    // BPXCCANT
1177
0
    O << ",a,pn %xcc, ";
1178
0
    printOperand(MI, 0, STI, O);
1179
0
    return;
1180
7.29k
    
break0
;
1181
7.29k
  case 13:
1182
0
    // BPXCCNT
1183
0
    O << ",pn %xcc, ";
1184
0
    printOperand(MI, 0, STI, O);
1185
0
    return;
1186
7.29k
    
break0
;
1187
7.29k
  case 14:
1188
19
    // CASAasi10
1189
19
    O << "] 10, ";
1190
19
    printOperand(MI, 2, STI, O);
1191
19
    O << ", ";
1192
19
    printOperand(MI, 0, STI, O);
1193
19
    return;
1194
7.29k
    
break0
;
1195
7.29k
  case 15:
1196
53
    // CASArr, LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDS...
1197
53
    O << "] ";
1198
53
    break;
1199
7.29k
  case 16:
1200
1.26k
    // CASXrr, CASrr, LDCri, LDCrr, LDDCri, LDDCrr, LDDFri, LDDFrr, LDDri, LD...
1201
1.26k
    O << "], ";
1202
1.26k
    break;
1203
7.29k
  case 17:
1204
13
    // FMOVD_FCC, FMOVQ_FCC, FMOVS_FCC, MOVFCCri, MOVFCCrr
1205
13
    O << " %fcc0, ";
1206
13
    printOperand(MI, 1, STI, O);
1207
13
    O << ", ";
1208
13
    printOperand(MI, 0, STI, O);
1209
13
    return;
1210
7.29k
    
break0
;
1211
7.29k
  case 18:
1212
3
    // LDCSRri, LDCSRrr
1213
3
    O << "], %csr";
1214
3
    return;
1215
7.29k
    
break0
;
1216
7.29k
  case 19:
1217
6
    // LDFSRri, LDFSRrr, LDXFSRri, LDXFSRrr
1218
6
    O << "], %fsr";
1219
6
    return;
1220
7.29k
    
break0
;
1221
7.29k
  case 20:
1222
1.56k
    // STBri, STBrr, STCSRri, STCSRrr, STCri, STCrr, STDCQri, STDCQrr, STDCri...
1223
1.56k
    O << ']';
1224
1.56k
    return;
1225
7.29k
    
break0
;
1226
5.09k
  }
1227
5.09k
1228
5.09k
1229
5.09k
  // Fragment 2 encoded into 3 bits for 5 unique commands.
1230
5.09k
  switch ((Bits >> 21) & 7) {
1231
5.09k
  
default: 0
llvm_unreachable0
("Invalid command number.");
1232
5.09k
  case 0:
1233
294
    // ADJCALLSTACKDOWN, BPGEZapn, BPGEZapt, BPGEZnapn, BPGEZnapt, BPGZapn, B...
1234
294
    printOperand(MI, 1, STI, O);
1235
294
    break;
1236
5.09k
  case 1:
1237
2.17k
    // SET, BCOND, BCONDA, BPICC, BPXCC, CBCOND, CBCONDA, FABSD, FABSQ, FABSS...
1238
2.17k
    printOperand(MI, 0, STI, O);
1239
2.17k
    break;
1240
5.09k
  case 2:
1241
2.57k
    // ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDErr, ADDXC, ADDXCCC, ADDX...
1242
2.57k
    printOperand(MI, 2, STI, O);
1243
2.57k
    O << ", ";
1244
2.57k
    printOperand(MI, 0, STI, O);
1245
2.57k
    break;
1246
5.09k
  case 3:
1247
10
    // CASArr
1248
10
    printOperand(MI, 4, STI, O);
1249
10
    O << ", ";
1250
10
    printOperand(MI, 2, STI, O);
1251
10
    O << ", ";
1252
10
    printOperand(MI, 0, STI, O);
1253
10
    return;
1254
5.09k
    
break0
;
1255
5.09k
  case 4:
1256
43
    // LDArr, LDDArr, LDDFArr, LDFArr, LDQFArr, LDSBArr, LDSHArr, LDSTUBArr, ...
1257
43
    printOperand(MI, 3, STI, O);
1258
43
    break;
1259
5.08k
  }
1260
5.08k
1261
5.08k
1262
5.08k
  // Fragment 3 encoded into 3 bits for 6 unique commands.
1263
5.08k
  switch ((Bits >> 24) & 7) {
1264
5.08k
  
default: 0
llvm_unreachable0
("Invalid command number.");
1265
5.08k
  case 0:
1266
4.97k
    // ADJCALLSTACKDOWN, SET, ADDCCri, ADDCCrr, ADDCri, ADDCrr, ADDEri, ADDEr...
1267
4.97k
    return;
1268
5.08k
    
break0
;
1269
5.08k
  case 1:
1270
52
    // FLCMPD, FLCMPS, FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC,...
1271
52
    O << ", ";
1272
52
    break;
1273
5.08k
  case 2:
1274
22
    // PWRPSRri, PWRPSRrr, WRPSRri, WRPSRrr
1275
22
    O << ", %psr";
1276
22
    return;
1277
5.08k
    
break0
;
1278
5.08k
  case 3:
1279
0
    // TICCri, TICCrr, TRAPri, TRAPrr, TXCCri, TXCCrr
1280
0
    O << " + ";
1281
0
    printOperand(MI, 1, STI, O);
1282
0
    return;
1283
5.08k
    
break0
;
1284
5.08k
  case 4:
1285
19
    // WRTBRri, WRTBRrr
1286
19
    O << ", %tbr";
1287
19
    return;
1288
5.08k
    
break0
;
1289
5.08k
  case 5:
1290
19
    // WRWIMri, WRWIMrr
1291
19
    O << ", %wim";
1292
19
    return;
1293
5.08k
    
break0
;
1294
52
  }
1295
52
1296
52
1297
52
  // Fragment 4 encoded into 2 bits for 3 unique commands.
1298
52
  switch ((Bits >> 27) & 3) {
1299
52
  
default: 0
llvm_unreachable0
("Invalid command number.");
1300
52
  case 0:
1301
6
    // FLCMPD, FLCMPS, V9FCMPD, V9FCMPED, V9FCMPEQ, V9FCMPES, V9FCMPQ, V9FCMP...
1302
6
    printOperand(MI, 2, STI, O);
1303
6
    return;
1304
52
    
break0
;
1305
52
  case 1:
1306
24
    // FMOVD_ICC, FMOVD_XCC, FMOVQ_ICC, FMOVQ_XCC, FMOVS_ICC, FMOVS_XCC, LDAr...
1307
24
    printOperand(MI, 0, STI, O);
1308
24
    return;
1309
52
    
break0
;
1310
52
  case 2:
1311
22
    // TLS_ADDXrr, TLS_ADDrr, TLS_LDXrr, TLS_LDrr
1312
22
    printOperand(MI, 3, STI, O);
1313
22
    return;
1314
52
    
break0
;
1315
52
  }
1316
52
1317
52
}
1318
1319
1320
/// getRegisterName - This method is automatically generated by tblgen
1321
/// from the register set description.  This returns the assembler name
1322
/// for the specified register.
1323
16.8k
const char *SparcInstPrinter::getRegisterName(unsigned RegNo) {
1324
16.8k
  assert(RegNo && RegNo < 236 && "Invalid register number!");
1325
16.8k
1326
16.8k
  static const char AsmStrs[] = {
1327
16.8k
  /* 0 */ 'C', '1', '0', 0,
1328
16.8k
  /* 4 */ 'F', '1', '0', 0,
1329
16.8k
  /* 8 */ 'A', 'S', 'R', '1', '0', 0,
1330
16.8k
  /* 14 */ 'C', '2', '0', 0,
1331
16.8k
  /* 18 */ 'F', '2', '0', 0,
1332
16.8k
  /* 22 */ 'A', 'S', 'R', '2', '0', 0,
1333
16.8k
  /* 28 */ 'C', '3', '0', 0,
1334
16.8k
  /* 32 */ 'F', '3', '0', 0,
1335
16.8k
  /* 36 */ 'A', 'S', 'R', '3', '0', 0,
1336
16.8k
  /* 42 */ 'F', '4', '0', 0,
1337
16.8k
  /* 46 */ 'F', '5', '0', 0,
1338
16.8k
  /* 50 */ 'F', '6', '0', 0,
1339
16.8k
  /* 54 */ 'F', 'C', 'C', '0', 0,
1340
16.8k
  /* 59 */ 'F', '0', 0,
1341
16.8k
  /* 62 */ 'G', '0', 0,
1342
16.8k
  /* 65 */ 'I', '0', 0,
1343
16.8k
  /* 68 */ 'L', '0', 0,
1344
16.8k
  /* 71 */ 'O', '0', 0,
1345
16.8k
  /* 74 */ 'C', '1', '1', 0,
1346
16.8k
  /* 78 */ 'F', '1', '1', 0,
1347
16.8k
  /* 82 */ 'A', 'S', 'R', '1', '1', 0,
1348
16.8k
  /* 88 */ 'C', '2', '1', 0,
1349
16.8k
  /* 92 */ 'F', '2', '1', 0,
1350
16.8k
  /* 96 */ 'A', 'S', 'R', '2', '1', 0,
1351
16.8k
  /* 102 */ 'C', '3', '1', 0,
1352
16.8k
  /* 106 */ 'F', '3', '1', 0,
1353
16.8k
  /* 110 */ 'A', 'S', 'R', '3', '1', 0,
1354
16.8k
  /* 116 */ 'F', 'C', 'C', '1', 0,
1355
16.8k
  /* 121 */ 'F', '1', 0,
1356
16.8k
  /* 124 */ 'G', '1', 0,
1357
16.8k
  /* 127 */ 'I', '1', 0,
1358
16.8k
  /* 130 */ 'L', '1', 0,
1359
16.8k
  /* 133 */ 'O', '1', 0,
1360
16.8k
  /* 136 */ 'A', 'S', 'R', '1', 0,
1361
16.8k
  /* 141 */ 'C', '1', '2', 0,
1362
16.8k
  /* 145 */ 'F', '1', '2', 0,
1363
16.8k
  /* 149 */ 'A', 'S', 'R', '1', '2', 0,
1364
16.8k
  /* 155 */ 'C', '2', '2', 0,
1365
16.8k
  /* 159 */ 'F', '2', '2', 0,
1366
16.8k
  /* 163 */ 'A', 'S', 'R', '2', '2', 0,
1367
16.8k
  /* 169 */ 'F', '3', '2', 0,
1368
16.8k
  /* 173 */ 'F', '4', '2', 0,
1369
16.8k
  /* 177 */ 'F', '5', '2', 0,
1370
16.8k
  /* 181 */ 'F', '6', '2', 0,
1371
16.8k
  /* 185 */ 'F', 'C', 'C', '2', 0,
1372
16.8k
  /* 190 */ 'F', '2', 0,
1373
16.8k
  /* 193 */ 'G', '2', 0,
1374
16.8k
  /* 196 */ 'I', '2', 0,
1375
16.8k
  /* 199 */ 'L', '2', 0,
1376
16.8k
  /* 202 */ 'O', '2', 0,
1377
16.8k
  /* 205 */ 'A', 'S', 'R', '2', 0,
1378
16.8k
  /* 210 */ 'C', '1', '3', 0,
1379
16.8k
  /* 214 */ 'F', '1', '3', 0,
1380
16.8k
  /* 218 */ 'A', 'S', 'R', '1', '3', 0,
1381
16.8k
  /* 224 */ 'C', '2', '3', 0,
1382
16.8k
  /* 228 */ 'F', '2', '3', 0,
1383
16.8k
  /* 232 */ 'A', 'S', 'R', '2', '3', 0,
1384
16.8k
  /* 238 */ 'F', 'C', 'C', '3', 0,
1385
16.8k
  /* 243 */ 'F', '3', 0,
1386
16.8k
  /* 246 */ 'G', '3', 0,
1387
16.8k
  /* 249 */ 'I', '3', 0,
1388
16.8k
  /* 252 */ 'L', '3', 0,
1389
16.8k
  /* 255 */ 'O', '3', 0,
1390
16.8k
  /* 258 */ 'A', 'S', 'R', '3', 0,
1391
16.8k
  /* 263 */ 'C', '1', '4', 0,
1392
16.8k
  /* 267 */ 'F', '1', '4', 0,
1393
16.8k
  /* 271 */ 'A', 'S', 'R', '1', '4', 0,
1394
16.8k
  /* 277 */ 'C', '2', '4', 0,
1395
16.8k
  /* 281 */ 'F', '2', '4', 0,
1396
16.8k
  /* 285 */ 'A', 'S', 'R', '2', '4', 0,
1397
16.8k
  /* 291 */ 'F', '3', '4', 0,
1398
16.8k
  /* 295 */ 'F', '4', '4', 0,
1399
16.8k
  /* 299 */ 'F', '5', '4', 0,
1400
16.8k
  /* 303 */ 'C', '4', 0,
1401
16.8k
  /* 306 */ 'F', '4', 0,
1402
16.8k
  /* 309 */ 'G', '4', 0,
1403
16.8k
  /* 312 */ 'I', '4', 0,
1404
16.8k
  /* 315 */ 'L', '4', 0,
1405
16.8k
  /* 318 */ 'O', '4', 0,
1406
16.8k
  /* 321 */ 'A', 'S', 'R', '4', 0,
1407
16.8k
  /* 326 */ 'C', '1', '5', 0,
1408
16.8k
  /* 330 */ 'F', '1', '5', 0,
1409
16.8k
  /* 334 */ 'A', 'S', 'R', '1', '5', 0,
1410
16.8k
  /* 340 */ 'C', '2', '5', 0,
1411
16.8k
  /* 344 */ 'F', '2', '5', 0,
1412
16.8k
  /* 348 */ 'A', 'S', 'R', '2', '5', 0,
1413
16.8k
  /* 354 */ 'C', '5', 0,
1414
16.8k
  /* 357 */ 'F', '5', 0,
1415
16.8k
  /* 360 */ 'G', '5', 0,
1416
16.8k
  /* 363 */ 'I', '5', 0,
1417
16.8k
  /* 366 */ 'L', '5', 0,
1418
16.8k
  /* 369 */ 'O', '5', 0,
1419
16.8k
  /* 372 */ 'A', 'S', 'R', '5', 0,
1420
16.8k
  /* 377 */ 'C', '1', '6', 0,
1421
16.8k
  /* 381 */ 'F', '1', '6', 0,
1422
16.8k
  /* 385 */ 'A', 'S', 'R', '1', '6', 0,
1423
16.8k
  /* 391 */ 'C', '2', '6', 0,
1424
16.8k
  /* 395 */ 'F', '2', '6', 0,
1425
16.8k
  /* 399 */ 'A', 'S', 'R', '2', '6', 0,
1426
16.8k
  /* 405 */ 'F', '3', '6', 0,
1427
16.8k
  /* 409 */ 'F', '4', '6', 0,
1428
16.8k
  /* 413 */ 'F', '5', '6', 0,
1429
16.8k
  /* 417 */ 'C', '6', 0,
1430
16.8k
  /* 420 */ 'F', '6', 0,
1431
16.8k
  /* 423 */ 'G', '6', 0,
1432
16.8k
  /* 426 */ 'I', '6', 0,
1433
16.8k
  /* 429 */ 'L', '6', 0,
1434
16.8k
  /* 432 */ 'O', '6', 0,
1435
16.8k
  /* 435 */ 'A', 'S', 'R', '6', 0,
1436
16.8k
  /* 440 */ 'C', '1', '7', 0,
1437
16.8k
  /* 444 */ 'F', '1', '7', 0,
1438
16.8k
  /* 448 */ 'A', 'S', 'R', '1', '7', 0,
1439
16.8k
  /* 454 */ 'C', '2', '7', 0,
1440
16.8k
  /* 458 */ 'F', '2', '7', 0,
1441
16.8k
  /* 462 */ 'A', 'S', 'R', '2', '7', 0,
1442
16.8k
  /* 468 */ 'C', '7', 0,
1443
16.8k
  /* 471 */ 'F', '7', 0,
1444
16.8k
  /* 474 */ 'G', '7', 0,
1445
16.8k
  /* 477 */ 'I', '7', 0,
1446
16.8k
  /* 480 */ 'L', '7', 0,
1447
16.8k
  /* 483 */ 'O', '7', 0,
1448
16.8k
  /* 486 */ 'A', 'S', 'R', '7', 0,
1449
16.8k
  /* 491 */ 'C', '1', '8', 0,
1450
16.8k
  /* 495 */ 'F', '1', '8', 0,
1451
16.8k
  /* 499 */ 'A', 'S', 'R', '1', '8', 0,
1452
16.8k
  /* 505 */ 'C', '2', '8', 0,
1453
16.8k
  /* 509 */ 'F', '2', '8', 0,
1454
16.8k
  /* 513 */ 'A', 'S', 'R', '2', '8', 0,
1455
16.8k
  /* 519 */ 'F', '3', '8', 0,
1456
16.8k
  /* 523 */ 'F', '4', '8', 0,
1457
16.8k
  /* 527 */ 'F', '5', '8', 0,
1458
16.8k
  /* 531 */ 'C', '8', 0,
1459
16.8k
  /* 534 */ 'F', '8', 0,
1460
16.8k
  /* 537 */ 'A', 'S', 'R', '8', 0,
1461
16.8k
  /* 542 */ 'C', '1', '9', 0,
1462
16.8k
  /* 546 */ 'F', '1', '9', 0,
1463
16.8k
  /* 550 */ 'A', 'S', 'R', '1', '9', 0,
1464
16.8k
  /* 556 */ 'C', '2', '9', 0,
1465
16.8k
  /* 560 */ 'F', '2', '9', 0,
1466
16.8k
  /* 564 */ 'A', 'S', 'R', '2', '9', 0,
1467
16.8k
  /* 570 */ 'C', '9', 0,
1468
16.8k
  /* 573 */ 'F', '9', 0,
1469
16.8k
  /* 576 */ 'A', 'S', 'R', '9', 0,
1470
16.8k
  /* 581 */ 'T', 'B', 'A', 0,
1471
16.8k
  /* 585 */ 'I', 'C', 'C', 0,
1472
16.8k
  /* 589 */ 'T', 'N', 'P', 'C', 0,
1473
16.8k
  /* 594 */ 'T', 'P', 'C', 0,
1474
16.8k
  /* 598 */ 'C', 'A', 'N', 'R', 'E', 'S', 'T', 'O', 'R', 'E', 0,
1475
16.8k
  /* 609 */ 'P', 'S', 'T', 'A', 'T', 'E', 0,
1476
16.8k
  /* 616 */ 'T', 'S', 'T', 'A', 'T', 'E', 0,
1477
16.8k
  /* 623 */ 'W', 'S', 'T', 'A', 'T', 'E', 0,
1478
16.8k
  /* 630 */ 'C', 'A', 'N', 'S', 'A', 'V', 'E', 0,
1479
16.8k
  /* 638 */ 'T', 'I', 'C', 'K', 0,
1480
16.8k
  /* 643 */ 'P', 'I', 'L', 0,
1481
16.8k
  /* 647 */ 'T', 'L', 0,
1482
16.8k
  /* 650 */ 'W', 'I', 'M', 0,
1483
16.8k
  /* 654 */ 'C', 'L', 'E', 'A', 'N', 'W', 'I', 'N', 0,
1484
16.8k
  /* 663 */ 'O', 'T', 'H', 'E', 'R', 'W', 'I', 'N', 0,
1485
16.8k
  /* 672 */ 'F', 'P', 0,
1486
16.8k
  /* 675 */ 'S', 'P', 0,
1487
16.8k
  /* 678 */ 'C', 'W', 'P', 0,
1488
16.8k
  /* 682 */ 'F', 'Q', 0,
1489
16.8k
  /* 685 */ 'C', 'P', 'Q', 0,
1490
16.8k
  /* 689 */ 'T', 'B', 'R', 0,
1491
16.8k
  /* 693 */ 'F', 'S', 'R', 0,
1492
16.8k
  /* 697 */ 'C', 'P', 'S', 'R', 0,
1493
16.8k
  /* 702 */ 'T', 'T', 0,
1494
16.8k
  /* 705 */ 'Y', 0,
1495
16.8k
  };
1496
16.8k
1497
16.8k
  static const uint16_t RegAsmOffset[] = {
1498
16.8k
    598, 630, 654, 685, 697, 678, 682, 693, 585, 663, 643, 698, 609, 581, 
1499
16.8k
    689, 638, 647, 589, 594, 616, 702, 650, 623, 705, 136, 205, 258, 321, 
1500
16.8k
    372, 435, 486, 537, 576, 8, 82, 149, 218, 271, 334, 385, 448, 499, 
1501
16.8k
    550, 22, 96, 163, 232, 285, 348, 399, 462, 513, 564, 36, 110, 56, 
1502
16.8k
    118, 187, 240, 303, 354, 417, 468, 531, 570, 0, 74, 141, 210, 263, 
1503
16.8k
    326, 377, 440, 491, 542, 14, 88, 155, 224, 277, 340, 391, 454, 505, 
1504
16.8k
    556, 28, 102, 59, 190, 306, 420, 534, 4, 145, 267, 381, 495, 18, 
1505
16.8k
    159, 281, 395, 509, 32, 169, 291, 405, 519, 42, 173, 295, 409, 523, 
1506
16.8k
    46, 177, 299, 413, 527, 50, 181, 59, 121, 190, 243, 306, 357, 420, 
1507
16.8k
    471, 534, 573, 4, 78, 145, 214, 267, 330, 381, 444, 495, 546, 18, 
1508
16.8k
    92, 159, 228, 281, 344, 395, 458, 509, 560, 32, 106, 54, 116, 185, 
1509
16.8k
    238, 62, 124, 193, 246, 309, 360, 423, 474, 65, 127, 196, 249, 312, 
1510
16.8k
    363, 672, 477, 68, 130, 199, 252, 315, 366, 429, 480, 71, 133, 202, 
1511
16.8k
    255, 318, 369, 675, 483, 59, 306, 534, 145, 381, 18, 281, 509, 169, 
1512
16.8k
    405, 42, 295, 523, 177, 413, 50, 56, 187, 303, 417, 531, 0, 141, 
1513
16.8k
    263, 377, 491, 14, 155, 277, 391, 505, 28, 62, 193, 309, 423, 65, 
1514
16.8k
    196, 312, 426, 68, 199, 315, 429, 71, 202, 318, 432, 
1515
16.8k
  };
1516
16.8k
1517
16.8k
  assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
1518
16.8k
          "Invalid alt name index for register!");
1519
16.8k
  return AsmStrs+RegAsmOffset[RegNo-1];
1520
16.8k
}
1521
1522
#ifdef PRINT_ALIAS_INSTR
1523
#undef PRINT_ALIAS_INSTR
1524
1525
10.7k
bool SparcInstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
1526
10.7k
  const char *AsmString;
1527
10.7k
  switch (MI->getOpcode()) {
1528
10.7k
  
default: return false7.58k
;
1529
10.7k
  case SP::BCOND:
1530
169
    if (MI->getNumOperands() == 2 &&
1531
169
        MI->getOperand(1).isImm() &&
1532
169
        MI->getOperand(1).getImm() == 8) {
1533
2
      // (BCOND brtarget:$imm, { 1, 0, 0, 0 })
1534
2
      AsmString = "ba $\x01";
1535
2
      break;
1536
2
    }
1537
167
    if (MI->getNumOperands() == 2 &&
1538
167
        MI->getOperand(1).isImm() &&
1539
167
        MI->getOperand(1).getImm() == 0) {
1540
0
      // (BCOND brtarget:$imm, { 0, 0, 0, 0 })
1541
0
      AsmString = "bn $\x01";
1542
0
      break;
1543
0
    }
1544
167
    if (MI->getNumOperands() == 2 &&
1545
167
        MI->getOperand(1).isImm() &&
1546
167
        MI->getOperand(1).getImm() == 9) {
1547
73
      // (BCOND brtarget:$imm, { 1, 0, 0, 1 })
1548
73
      AsmString = "bne $\x01";
1549
73
      break;
1550
73
    }
1551
94
    if (MI->getNumOperands() == 2 &&
1552
94
        MI->getOperand(1).isImm() &&
1553
94
        MI->getOperand(1).getImm() == 1) {
1554
30
      // (BCOND brtarget:$imm, { 0, 0, 0, 1 })
1555
30
      AsmString = "be $\x01";
1556
30
      break;
1557
30
    }
1558
64
    if (MI->getNumOperands() == 2 &&
1559
64
        MI->getOperand(1).isImm() &&
1560
64
        MI->getOperand(1).getImm() == 10) {
1561
11
      // (BCOND brtarget:$imm, { 1, 0, 1, 0 })
1562
11
      AsmString = "bg $\x01";
1563
11
      break;
1564
11
    }
1565
53
    if (MI->getNumOperands() == 2 &&
1566
53
        MI->getOperand(1).isImm() &&
1567
53
        MI->getOperand(1).getImm() == 2) {
1568
4
      // (BCOND brtarget:$imm, { 0, 0, 1, 0 })
1569
4
      AsmString = "ble $\x01";
1570
4
      break;
1571
4
    }
1572
49
    if (MI->getNumOperands() == 2 &&
1573
49
        MI->getOperand(1).isImm() &&
1574
49
        MI->getOperand(1).getImm() == 11) {
1575
3
      // (BCOND brtarget:$imm, { 1, 0, 1, 1 })
1576
3
      AsmString = "bge $\x01";
1577
3
      break;
1578
3
    }
1579
46
    if (MI->getNumOperands() == 2 &&
1580
46
        MI->getOperand(1).isImm() &&
1581
46
        MI->getOperand(1).getImm() == 3) {
1582
11
      // (BCOND brtarget:$imm, { 0, 0, 1, 1 })
1583
11
      AsmString = "bl $\x01";
1584
11
      break;
1585
11
    }
1586
35
    if (MI->getNumOperands() == 2 &&
1587
35
        MI->getOperand(1).isImm() &&
1588
35
        MI->getOperand(1).getImm() == 12) {
1589
4
      // (BCOND brtarget:$imm, { 1, 1, 0, 0 })
1590
4
      AsmString = "bgu $\x01";
1591
4
      break;
1592
4
    }
1593
31
    if (MI->getNumOperands() == 2 &&
1594
31
        MI->getOperand(1).isImm() &&
1595
31
        MI->getOperand(1).getImm() == 4) {
1596
5
      // (BCOND brtarget:$imm, { 0, 1, 0, 0 })
1597
5
      AsmString = "bleu $\x01";
1598
5
      break;
1599
5
    }
1600
26
    if (MI->getNumOperands() == 2 &&
1601
26
        MI->getOperand(1).isImm() &&
1602
26
        MI->getOperand(1).getImm() == 13) {
1603
5
      // (BCOND brtarget:$imm, { 1, 1, 0, 1 })
1604
5
      AsmString = "bcc $\x01";
1605
5
      break;
1606
5
    }
1607
21
    if (MI->getNumOperands() == 2 &&
1608
21
        MI->getOperand(1).isImm() &&
1609
21
        MI->getOperand(1).getImm() == 5) {
1610
9
      // (BCOND brtarget:$imm, { 0, 1, 0, 1 })
1611
9
      AsmString = "bcs $\x01";
1612
9
      break;
1613
9
    }
1614
12
    if (MI->getNumOperands() == 2 &&
1615
12
        MI->getOperand(1).isImm() &&
1616
12
        MI->getOperand(1).getImm() == 14) {
1617
3
      // (BCOND brtarget:$imm, { 1, 1, 1, 0 })
1618
3
      AsmString = "bpos $\x01";
1619
3
      break;
1620
3
    }
1621
9
    if (MI->getNumOperands() == 2 &&
1622
9
        MI->getOperand(1).isImm() &&
1623
9
        MI->getOperand(1).getImm() == 6) {
1624
3
      // (BCOND brtarget:$imm, { 0, 1, 1, 0 })
1625
3
      AsmString = "bneg $\x01";
1626
3
      break;
1627
3
    }
1628
6
    if (MI->getNumOperands() == 2 &&
1629
6
        MI->getOperand(1).isImm() &&
1630
6
        MI->getOperand(1).getImm() == 15) {
1631
3
      // (BCOND brtarget:$imm, { 1, 1, 1, 1 })
1632
3
      AsmString = "bvc $\x01";
1633
3
      break;
1634
3
    }
1635
3
    if (MI->getNumOperands() == 2 &&
1636
3
        MI->getOperand(1).isImm() &&
1637
3
        MI->getOperand(1).getImm() == 7) {
1638
3
      // (BCOND brtarget:$imm, { 0, 1, 1, 1 })
1639
3
      AsmString = "bvs $\x01";
1640
3
      break;
1641
3
    }
1642
0
    return false;
1643
30
  case SP::BCONDA:
1644
30
    if (MI->getNumOperands() == 2 &&
1645
30
        MI->getOperand(1).isImm() &&
1646
30
        MI->getOperand(1).getImm() == 8) {
1647
2
      // (BCONDA brtarget:$imm, { 1, 0, 0, 0 })
1648
2
      AsmString = "ba,a $\x01";
1649
2
      break;
1650
2
    }
1651
28
    if (MI->getNumOperands() == 2 &&
1652
28
        MI->getOperand(1).isImm() &&
1653
28
        MI->getOperand(1).getImm() == 0) {
1654
0
      // (BCONDA brtarget:$imm, { 0, 0, 0, 0 })
1655
0
      AsmString = "bn,a $\x01";
1656
0
      break;
1657
0
    }
1658
28
    if (MI->getNumOperands() == 2 &&
1659
28
        MI->getOperand(1).isImm() &&
1660
28
        MI->getOperand(1).getImm() == 9) {
1661
2
      // (BCONDA brtarget:$imm, { 1, 0, 0, 1 })
1662
2
      AsmString = "bne,a $\x01";
1663
2
      break;
1664
2
    }
1665
26
    if (MI->getNumOperands() == 2 &&
1666
26
        MI->getOperand(1).isImm() &&
1667
26
        MI->getOperand(1).getImm() == 1) {
1668
2
      // (BCONDA brtarget:$imm, { 0, 0, 0, 1 })
1669
2
      AsmString = "be,a $\x01";
1670
2
      break;
1671
2
    }
1672
24
    if (MI->getNumOperands() == 2 &&
1673
24
        MI->getOperand(1).isImm() &&
1674
24
        MI->getOperand(1).getImm() == 10) {
1675
2
      // (BCONDA brtarget:$imm, { 1, 0, 1, 0 })
1676
2
      AsmString = "bg,a $\x01";
1677
2
      break;
1678
2
    }
1679
22
    if (MI->getNumOperands() == 2 &&
1680
22
        MI->getOperand(1).isImm() &&
1681
22
        MI->getOperand(1).getImm() == 2) {
1682
2
      // (BCONDA brtarget:$imm, { 0, 0, 1, 0 })
1683
2
      AsmString = "ble,a $\x01";
1684
2
      break;
1685
2
    }
1686
20
    if (MI->getNumOperands() == 2 &&
1687
20
        MI->getOperand(1).isImm() &&
1688
20
        MI->getOperand(1).getImm() == 11) {
1689
2
      // (BCONDA brtarget:$imm, { 1, 0, 1, 1 })
1690
2
      AsmString = "bge,a $\x01";
1691
2
      break;
1692
2
    }
1693
18
    if (MI->getNumOperands() == 2 &&
1694
18
        MI->getOperand(1).isImm() &&
1695
18
        MI->getOperand(1).getImm() == 3) {
1696
2
      // (BCONDA brtarget:$imm, { 0, 0, 1, 1 })
1697
2
      AsmString = "bl,a $\x01";
1698
2
      break;
1699
2
    }
1700
16
    if (MI->getNumOperands() == 2 &&
1701
16
        MI->getOperand(1).isImm() &&
1702
16
        MI->getOperand(1).getImm() == 12) {
1703
2
      // (BCONDA brtarget:$imm, { 1, 1, 0, 0 })
1704
2
      AsmString = "bgu,a $\x01";
1705
2
      break;
1706
2
    }
1707
14
    if (MI->getNumOperands() == 2 &&
1708
14
        MI->getOperand(1).isImm() &&
1709
14
        MI->getOperand(1).getImm() == 4) {
1710
2
      // (BCONDA brtarget:$imm, { 0, 1, 0, 0 })
1711
2
      AsmString = "bleu,a $\x01";
1712
2
      break;
1713
2
    }
1714
12
    if (MI->getNumOperands() == 2 &&
1715
12
        MI->getOperand(1).isImm() &&
1716
12
        MI->getOperand(1).getImm() == 13) {
1717
2
      // (BCONDA brtarget:$imm, { 1, 1, 0, 1 })
1718
2
      AsmString = "bcc,a $\x01";
1719
2
      break;
1720
2
    }
1721
10
    if (MI->getNumOperands() == 2 &&
1722
10
        MI->getOperand(1).isImm() &&
1723
10
        MI->getOperand(1).getImm() == 5) {
1724
2
      // (BCONDA brtarget:$imm, { 0, 1, 0, 1 })
1725
2
      AsmString = "bcs,a $\x01";
1726
2
      break;
1727
2
    }
1728
8
    if (MI->getNumOperands() == 2 &&
1729
8
        MI->getOperand(1).isImm() &&
1730
8
        MI->getOperand(1).getImm() == 14) {
1731
2
      // (BCONDA brtarget:$imm, { 1, 1, 1, 0 })
1732
2
      AsmString = "bpos,a $\x01";
1733
2
      break;
1734
2
    }
1735
6
    if (MI->getNumOperands() == 2 &&
1736
6
        MI->getOperand(1).isImm() &&
1737
6
        MI->getOperand(1).getImm() == 6) {
1738
2
      // (BCONDA brtarget:$imm, { 0, 1, 1, 0 })
1739
2
      AsmString = "bneg,a $\x01";
1740
2
      break;
1741
2
    }
1742
4
    if (MI->getNumOperands() == 2 &&
1743
4
        MI->getOperand(1).isImm() &&
1744
4
        MI->getOperand(1).getImm() == 15) {
1745
2
      // (BCONDA brtarget:$imm, { 1, 1, 1, 1 })
1746
2
      AsmString = "bvc,a $\x01";
1747
2
      break;
1748
2
    }
1749
2
    if (MI->getNumOperands() == 2 &&
1750
2
        MI->getOperand(1).isImm() &&
1751
2
        MI->getOperand(1).getImm() == 7) {
1752
2
      // (BCONDA brtarget:$imm, { 0, 1, 1, 1 })
1753
2
      AsmString = "bvs,a $\x01";
1754
2
      break;
1755
2
    }
1756
0
    return false;
1757
15
  case SP::BPFCCANT:
1758
15
    if (MI->getNumOperands() == 3 &&
1759
15
        MI->getOperand(1).isImm() &&
1760
15
        MI->getOperand(1).getImm() == 8 &&
1761
15
        
MI->getOperand(2).isReg()0
&&
1762
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())0
&&
1763
15
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
1764
0
      // (BPFCCANT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
1765
0
      AsmString = "fba,a,pn $\x03, $\x01";
1766
0
      break;
1767
0
    }
1768
15
    if (MI->getNumOperands() == 3 &&
1769
15
        MI->getOperand(1).isImm() &&
1770
15
        MI->getOperand(1).getImm() == 0 &&
1771
15
        
MI->getOperand(2).isReg()0
&&
1772
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())0
&&
1773
15
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
1774
0
      // (BPFCCANT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
1775
0
      AsmString = "fbn,a,pn $\x03, $\x01";
1776
0
      break;
1777
0
    }
1778
15
    if (MI->getNumOperands() == 3 &&
1779
15
        MI->getOperand(1).isImm() &&
1780
15
        MI->getOperand(1).getImm() == 7 &&
1781
15
        
MI->getOperand(2).isReg()1
&&
1782
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1783
15
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1784
1
      // (BPFCCANT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
1785
1
      AsmString = "fbu,a,pn $\x03, $\x01";
1786
1
      break;
1787
1
    }
1788
14
    if (MI->getNumOperands() == 3 &&
1789
14
        MI->getOperand(1).isImm() &&
1790
14
        MI->getOperand(1).getImm() == 6 &&
1791
14
        
MI->getOperand(2).isReg()1
&&
1792
14
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1793
14
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1794
1
      // (BPFCCANT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
1795
1
      AsmString = "fbg,a,pn $\x03, $\x01";
1796
1
      break;
1797
1
    }
1798
13
    if (MI->getNumOperands() == 3 &&
1799
13
        MI->getOperand(1).isImm() &&
1800
13
        MI->getOperand(1).getImm() == 5 &&
1801
13
        
MI->getOperand(2).isReg()1
&&
1802
13
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1803
13
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1804
1
      // (BPFCCANT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
1805
1
      AsmString = "fbug,a,pn $\x03, $\x01";
1806
1
      break;
1807
1
    }
1808
12
    if (MI->getNumOperands() == 3 &&
1809
12
        MI->getOperand(1).isImm() &&
1810
12
        MI->getOperand(1).getImm() == 4 &&
1811
12
        
MI->getOperand(2).isReg()1
&&
1812
12
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1813
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1814
1
      // (BPFCCANT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
1815
1
      AsmString = "fbl,a,pn $\x03, $\x01";
1816
1
      break;
1817
1
    }
1818
11
    if (MI->getNumOperands() == 3 &&
1819
11
        MI->getOperand(1).isImm() &&
1820
11
        MI->getOperand(1).getImm() == 3 &&
1821
11
        
MI->getOperand(2).isReg()1
&&
1822
11
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1823
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1824
1
      // (BPFCCANT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
1825
1
      AsmString = "fbul,a,pn $\x03, $\x01";
1826
1
      break;
1827
1
    }
1828
10
    if (MI->getNumOperands() == 3 &&
1829
10
        MI->getOperand(1).isImm() &&
1830
10
        MI->getOperand(1).getImm() == 2 &&
1831
10
        
MI->getOperand(2).isReg()1
&&
1832
10
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1833
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1834
1
      // (BPFCCANT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
1835
1
      AsmString = "fblg,a,pn $\x03, $\x01";
1836
1
      break;
1837
1
    }
1838
9
    if (MI->getNumOperands() == 3 &&
1839
9
        MI->getOperand(1).isImm() &&
1840
9
        MI->getOperand(1).getImm() == 1 &&
1841
9
        
MI->getOperand(2).isReg()2
&&
1842
9
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())2
&&
1843
9
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
1844
2
      // (BPFCCANT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
1845
2
      AsmString = "fbne,a,pn $\x03, $\x01";
1846
2
      break;
1847
2
    }
1848
7
    if (MI->getNumOperands() == 3 &&
1849
7
        MI->getOperand(1).isImm() &&
1850
7
        MI->getOperand(1).getImm() == 9 &&
1851
7
        
MI->getOperand(2).isReg()1
&&
1852
7
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1853
7
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1854
1
      // (BPFCCANT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
1855
1
      AsmString = "fbe,a,pn $\x03, $\x01";
1856
1
      break;
1857
1
    }
1858
6
    if (MI->getNumOperands() == 3 &&
1859
6
        MI->getOperand(1).isImm() &&
1860
6
        MI->getOperand(1).getImm() == 10 &&
1861
6
        
MI->getOperand(2).isReg()1
&&
1862
6
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1863
6
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1864
1
      // (BPFCCANT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
1865
1
      AsmString = "fbue,a,pn $\x03, $\x01";
1866
1
      break;
1867
1
    }
1868
5
    if (MI->getNumOperands() == 3 &&
1869
5
        MI->getOperand(1).isImm() &&
1870
5
        MI->getOperand(1).getImm() == 11 &&
1871
5
        
MI->getOperand(2).isReg()1
&&
1872
5
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1873
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1874
1
      // (BPFCCANT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
1875
1
      AsmString = "fbge,a,pn $\x03, $\x01";
1876
1
      break;
1877
1
    }
1878
4
    if (MI->getNumOperands() == 3 &&
1879
4
        MI->getOperand(1).isImm() &&
1880
4
        MI->getOperand(1).getImm() == 12 &&
1881
4
        
MI->getOperand(2).isReg()1
&&
1882
4
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1883
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1884
1
      // (BPFCCANT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
1885
1
      AsmString = "fbuge,a,pn $\x03, $\x01";
1886
1
      break;
1887
1
    }
1888
3
    if (MI->getNumOperands() == 3 &&
1889
3
        MI->getOperand(1).isImm() &&
1890
3
        MI->getOperand(1).getImm() == 13 &&
1891
3
        
MI->getOperand(2).isReg()1
&&
1892
3
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1893
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1894
1
      // (BPFCCANT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
1895
1
      AsmString = "fble,a,pn $\x03, $\x01";
1896
1
      break;
1897
1
    }
1898
2
    if (MI->getNumOperands() == 3 &&
1899
2
        MI->getOperand(1).isImm() &&
1900
2
        MI->getOperand(1).getImm() == 14 &&
1901
2
        
MI->getOperand(2).isReg()1
&&
1902
2
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1903
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1904
1
      // (BPFCCANT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
1905
1
      AsmString = "fbule,a,pn $\x03, $\x01";
1906
1
      break;
1907
1
    }
1908
1
    if (MI->getNumOperands() == 3 &&
1909
1
        MI->getOperand(1).isImm() &&
1910
1
        MI->getOperand(1).getImm() == 15 &&
1911
1
        MI->getOperand(2).isReg() &&
1912
1
        MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
1913
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
1914
1
      // (BPFCCANT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
1915
1
      AsmString = "fbo,a,pn $\x03, $\x01";
1916
1
      break;
1917
1
    }
1918
0
    return false;
1919
15
  case SP::BPFCCNT:
1920
15
    if (MI->getNumOperands() == 3 &&
1921
15
        MI->getOperand(1).isImm() &&
1922
15
        MI->getOperand(1).getImm() == 8 &&
1923
15
        
MI->getOperand(2).isReg()0
&&
1924
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())0
&&
1925
15
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
1926
0
      // (BPFCCNT brtarget:$imm, { 1, 0, 0, 0 }, FCCRegs:$cc)
1927
0
      AsmString = "fba,pn $\x03, $\x01";
1928
0
      break;
1929
0
    }
1930
15
    if (MI->getNumOperands() == 3 &&
1931
15
        MI->getOperand(1).isImm() &&
1932
15
        MI->getOperand(1).getImm() == 0 &&
1933
15
        
MI->getOperand(2).isReg()0
&&
1934
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())0
&&
1935
15
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
1936
0
      // (BPFCCNT brtarget:$imm, { 0, 0, 0, 0 }, FCCRegs:$cc)
1937
0
      AsmString = "fbn,pn $\x03, $\x01";
1938
0
      break;
1939
0
    }
1940
15
    if (MI->getNumOperands() == 3 &&
1941
15
        MI->getOperand(1).isImm() &&
1942
15
        MI->getOperand(1).getImm() == 7 &&
1943
15
        
MI->getOperand(2).isReg()1
&&
1944
15
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1945
15
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1946
1
      // (BPFCCNT brtarget:$imm, { 0, 1, 1, 1 }, FCCRegs:$cc)
1947
1
      AsmString = "fbu,pn $\x03, $\x01";
1948
1
      break;
1949
1
    }
1950
14
    if (MI->getNumOperands() == 3 &&
1951
14
        MI->getOperand(1).isImm() &&
1952
14
        MI->getOperand(1).getImm() == 6 &&
1953
14
        
MI->getOperand(2).isReg()1
&&
1954
14
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1955
14
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1956
1
      // (BPFCCNT brtarget:$imm, { 0, 1, 1, 0 }, FCCRegs:$cc)
1957
1
      AsmString = "fbg,pn $\x03, $\x01";
1958
1
      break;
1959
1
    }
1960
13
    if (MI->getNumOperands() == 3 &&
1961
13
        MI->getOperand(1).isImm() &&
1962
13
        MI->getOperand(1).getImm() == 5 &&
1963
13
        
MI->getOperand(2).isReg()1
&&
1964
13
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1965
13
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1966
1
      // (BPFCCNT brtarget:$imm, { 0, 1, 0, 1 }, FCCRegs:$cc)
1967
1
      AsmString = "fbug,pn $\x03, $\x01";
1968
1
      break;
1969
1
    }
1970
12
    if (MI->getNumOperands() == 3 &&
1971
12
        MI->getOperand(1).isImm() &&
1972
12
        MI->getOperand(1).getImm() == 4 &&
1973
12
        
MI->getOperand(2).isReg()1
&&
1974
12
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1975
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1976
1
      // (BPFCCNT brtarget:$imm, { 0, 1, 0, 0 }, FCCRegs:$cc)
1977
1
      AsmString = "fbl,pn $\x03, $\x01";
1978
1
      break;
1979
1
    }
1980
11
    if (MI->getNumOperands() == 3 &&
1981
11
        MI->getOperand(1).isImm() &&
1982
11
        MI->getOperand(1).getImm() == 3 &&
1983
11
        
MI->getOperand(2).isReg()1
&&
1984
11
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1985
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1986
1
      // (BPFCCNT brtarget:$imm, { 0, 0, 1, 1 }, FCCRegs:$cc)
1987
1
      AsmString = "fbul,pn $\x03, $\x01";
1988
1
      break;
1989
1
    }
1990
10
    if (MI->getNumOperands() == 3 &&
1991
10
        MI->getOperand(1).isImm() &&
1992
10
        MI->getOperand(1).getImm() == 2 &&
1993
10
        
MI->getOperand(2).isReg()1
&&
1994
10
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
1995
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
1996
1
      // (BPFCCNT brtarget:$imm, { 0, 0, 1, 0 }, FCCRegs:$cc)
1997
1
      AsmString = "fblg,pn $\x03, $\x01";
1998
1
      break;
1999
1
    }
2000
9
    if (MI->getNumOperands() == 3 &&
2001
9
        MI->getOperand(1).isImm() &&
2002
9
        MI->getOperand(1).getImm() == 1 &&
2003
9
        
MI->getOperand(2).isReg()1
&&
2004
9
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2005
9
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2006
1
      // (BPFCCNT brtarget:$imm, { 0, 0, 0, 1 }, FCCRegs:$cc)
2007
1
      AsmString = "fbne,pn $\x03, $\x01";
2008
1
      break;
2009
1
    }
2010
8
    if (MI->getNumOperands() == 3 &&
2011
8
        MI->getOperand(1).isImm() &&
2012
8
        MI->getOperand(1).getImm() == 9 &&
2013
8
        
MI->getOperand(2).isReg()1
&&
2014
8
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2015
8
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2016
1
      // (BPFCCNT brtarget:$imm, { 1, 0, 0, 1 }, FCCRegs:$cc)
2017
1
      AsmString = "fbe,pn $\x03, $\x01";
2018
1
      break;
2019
1
    }
2020
7
    if (MI->getNumOperands() == 3 &&
2021
7
        MI->getOperand(1).isImm() &&
2022
7
        MI->getOperand(1).getImm() == 10 &&
2023
7
        
MI->getOperand(2).isReg()2
&&
2024
7
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())2
&&
2025
7
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
2026
2
      // (BPFCCNT brtarget:$imm, { 1, 0, 1, 0 }, FCCRegs:$cc)
2027
2
      AsmString = "fbue,pn $\x03, $\x01";
2028
2
      break;
2029
2
    }
2030
5
    if (MI->getNumOperands() == 3 &&
2031
5
        MI->getOperand(1).isImm() &&
2032
5
        MI->getOperand(1).getImm() == 11 &&
2033
5
        
MI->getOperand(2).isReg()1
&&
2034
5
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2035
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2036
1
      // (BPFCCNT brtarget:$imm, { 1, 0, 1, 1 }, FCCRegs:$cc)
2037
1
      AsmString = "fbge,pn $\x03, $\x01";
2038
1
      break;
2039
1
    }
2040
4
    if (MI->getNumOperands() == 3 &&
2041
4
        MI->getOperand(1).isImm() &&
2042
4
        MI->getOperand(1).getImm() == 12 &&
2043
4
        
MI->getOperand(2).isReg()1
&&
2044
4
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2045
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2046
1
      // (BPFCCNT brtarget:$imm, { 1, 1, 0, 0 }, FCCRegs:$cc)
2047
1
      AsmString = "fbuge,pn $\x03, $\x01";
2048
1
      break;
2049
1
    }
2050
3
    if (MI->getNumOperands() == 3 &&
2051
3
        MI->getOperand(1).isImm() &&
2052
3
        MI->getOperand(1).getImm() == 13 &&
2053
3
        
MI->getOperand(2).isReg()1
&&
2054
3
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2055
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2056
1
      // (BPFCCNT brtarget:$imm, { 1, 1, 0, 1 }, FCCRegs:$cc)
2057
1
      AsmString = "fble,pn $\x03, $\x01";
2058
1
      break;
2059
1
    }
2060
2
    if (MI->getNumOperands() == 3 &&
2061
2
        MI->getOperand(1).isImm() &&
2062
2
        MI->getOperand(1).getImm() == 14 &&
2063
2
        
MI->getOperand(2).isReg()1
&&
2064
2
        
MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg())1
&&
2065
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2066
1
      // (BPFCCNT brtarget:$imm, { 1, 1, 1, 0 }, FCCRegs:$cc)
2067
1
      AsmString = "fbule,pn $\x03, $\x01";
2068
1
      break;
2069
1
    }
2070
1
    if (MI->getNumOperands() == 3 &&
2071
1
        MI->getOperand(1).isImm() &&
2072
1
        MI->getOperand(1).getImm() == 15 &&
2073
1
        MI->getOperand(2).isReg() &&
2074
1
        MRI.getRegClass(Sparc::FCCRegsRegClassID).contains(MI->getOperand(2).getReg()) &&
2075
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2076
1
      // (BPFCCNT brtarget:$imm, { 1, 1, 1, 1 }, FCCRegs:$cc)
2077
1
      AsmString = "fbo,pn $\x03, $\x01";
2078
1
      break;
2079
1
    }
2080
0
    return false;
2081
14
  case SP::BPICCANT:
2082
14
    if (MI->getNumOperands() == 2 &&
2083
14
        MI->getOperand(1).isImm() &&
2084
14
        MI->getOperand(1).getImm() == 8 &&
2085
14
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2086
0
      // (BPICCANT brtarget:$imm, { 1, 0, 0, 0 })
2087
0
      AsmString = "ba,a,pn %icc, $\x01";
2088
0
      break;
2089
0
    }
2090
14
    if (MI->getNumOperands() == 2 &&
2091
14
        MI->getOperand(1).isImm() &&
2092
14
        MI->getOperand(1).getImm() == 0 &&
2093
14
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2094
0
      // (BPICCANT brtarget:$imm, { 0, 0, 0, 0 })
2095
0
      AsmString = "bn,a,pn %icc, $\x01";
2096
0
      break;
2097
0
    }
2098
14
    if (MI->getNumOperands() == 2 &&
2099
14
        MI->getOperand(1).isImm() &&
2100
14
        MI->getOperand(1).getImm() == 9 &&
2101
14
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2102
1
      // (BPICCANT brtarget:$imm, { 1, 0, 0, 1 })
2103
1
      AsmString = "bne,a,pn %icc, $\x01";
2104
1
      break;
2105
1
    }
2106
13
    if (MI->getNumOperands() == 2 &&
2107
13
        MI->getOperand(1).isImm() &&
2108
13
        MI->getOperand(1).getImm() == 1 &&
2109
13
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2110
1
      // (BPICCANT brtarget:$imm, { 0, 0, 0, 1 })
2111
1
      AsmString = "be,a,pn %icc, $\x01";
2112
1
      break;
2113
1
    }
2114
12
    if (MI->getNumOperands() == 2 &&
2115
12
        MI->getOperand(1).isImm() &&
2116
12
        MI->getOperand(1).getImm() == 10 &&
2117
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2118
1
      // (BPICCANT brtarget:$imm, { 1, 0, 1, 0 })
2119
1
      AsmString = "bg,a,pn %icc, $\x01";
2120
1
      break;
2121
1
    }
2122
11
    if (MI->getNumOperands() == 2 &&
2123
11
        MI->getOperand(1).isImm() &&
2124
11
        MI->getOperand(1).getImm() == 2 &&
2125
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2126
1
      // (BPICCANT brtarget:$imm, { 0, 0, 1, 0 })
2127
1
      AsmString = "ble,a,pn %icc, $\x01";
2128
1
      break;
2129
1
    }
2130
10
    if (MI->getNumOperands() == 2 &&
2131
10
        MI->getOperand(1).isImm() &&
2132
10
        MI->getOperand(1).getImm() == 11 &&
2133
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2134
1
      // (BPICCANT brtarget:$imm, { 1, 0, 1, 1 })
2135
1
      AsmString = "bge,a,pn %icc, $\x01";
2136
1
      break;
2137
1
    }
2138
9
    if (MI->getNumOperands() == 2 &&
2139
9
        MI->getOperand(1).isImm() &&
2140
9
        MI->getOperand(1).getImm() == 3 &&
2141
9
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2142
1
      // (BPICCANT brtarget:$imm, { 0, 0, 1, 1 })
2143
1
      AsmString = "bl,a,pn %icc, $\x01";
2144
1
      break;
2145
1
    }
2146
8
    if (MI->getNumOperands() == 2 &&
2147
8
        MI->getOperand(1).isImm() &&
2148
8
        MI->getOperand(1).getImm() == 12 &&
2149
8
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2150
1
      // (BPICCANT brtarget:$imm, { 1, 1, 0, 0 })
2151
1
      AsmString = "bgu,a,pn %icc, $\x01";
2152
1
      break;
2153
1
    }
2154
7
    if (MI->getNumOperands() == 2 &&
2155
7
        MI->getOperand(1).isImm() &&
2156
7
        MI->getOperand(1).getImm() == 4 &&
2157
7
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2158
1
      // (BPICCANT brtarget:$imm, { 0, 1, 0, 0 })
2159
1
      AsmString = "bleu,a,pn %icc, $\x01";
2160
1
      break;
2161
1
    }
2162
6
    if (MI->getNumOperands() == 2 &&
2163
6
        MI->getOperand(1).isImm() &&
2164
6
        MI->getOperand(1).getImm() == 13 &&
2165
6
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2166
1
      // (BPICCANT brtarget:$imm, { 1, 1, 0, 1 })
2167
1
      AsmString = "bcc,a,pn %icc, $\x01";
2168
1
      break;
2169
1
    }
2170
5
    if (MI->getNumOperands() == 2 &&
2171
5
        MI->getOperand(1).isImm() &&
2172
5
        MI->getOperand(1).getImm() == 5 &&
2173
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2174
1
      // (BPICCANT brtarget:$imm, { 0, 1, 0, 1 })
2175
1
      AsmString = "bcs,a,pn %icc, $\x01";
2176
1
      break;
2177
1
    }
2178
4
    if (MI->getNumOperands() == 2 &&
2179
4
        MI->getOperand(1).isImm() &&
2180
4
        MI->getOperand(1).getImm() == 14 &&
2181
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2182
1
      // (BPICCANT brtarget:$imm, { 1, 1, 1, 0 })
2183
1
      AsmString = "bpos,a,pn %icc, $\x01";
2184
1
      break;
2185
1
    }
2186
3
    if (MI->getNumOperands() == 2 &&
2187
3
        MI->getOperand(1).isImm() &&
2188
3
        MI->getOperand(1).getImm() == 6 &&
2189
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2190
1
      // (BPICCANT brtarget:$imm, { 0, 1, 1, 0 })
2191
1
      AsmString = "bneg,a,pn %icc, $\x01";
2192
1
      break;
2193
1
    }
2194
2
    if (MI->getNumOperands() == 2 &&
2195
2
        MI->getOperand(1).isImm() &&
2196
2
        MI->getOperand(1).getImm() == 15 &&
2197
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2198
1
      // (BPICCANT brtarget:$imm, { 1, 1, 1, 1 })
2199
1
      AsmString = "bvc,a,pn %icc, $\x01";
2200
1
      break;
2201
1
    }
2202
1
    if (MI->getNumOperands() == 2 &&
2203
1
        MI->getOperand(1).isImm() &&
2204
1
        MI->getOperand(1).getImm() == 7 &&
2205
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2206
1
      // (BPICCANT brtarget:$imm, { 0, 1, 1, 1 })
2207
1
      AsmString = "bvs,a,pn %icc, $\x01";
2208
1
      break;
2209
1
    }
2210
0
    return false;
2211
14
  case SP::BPICCNT:
2212
14
    if (MI->getNumOperands() == 2 &&
2213
14
        MI->getOperand(1).isImm() &&
2214
14
        MI->getOperand(1).getImm() == 8 &&
2215
14
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2216
0
      // (BPICCNT brtarget:$imm, { 1, 0, 0, 0 })
2217
0
      AsmString = "ba,pn %icc, $\x01";
2218
0
      break;
2219
0
    }
2220
14
    if (MI->getNumOperands() == 2 &&
2221
14
        MI->getOperand(1).isImm() &&
2222
14
        MI->getOperand(1).getImm() == 0 &&
2223
14
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2224
0
      // (BPICCNT brtarget:$imm, { 0, 0, 0, 0 })
2225
0
      AsmString = "bn,pn %icc, $\x01";
2226
0
      break;
2227
0
    }
2228
14
    if (MI->getNumOperands() == 2 &&
2229
14
        MI->getOperand(1).isImm() &&
2230
14
        MI->getOperand(1).getImm() == 9 &&
2231
14
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2232
1
      // (BPICCNT brtarget:$imm, { 1, 0, 0, 1 })
2233
1
      AsmString = "bne,pn %icc, $\x01";
2234
1
      break;
2235
1
    }
2236
13
    if (MI->getNumOperands() == 2 &&
2237
13
        MI->getOperand(1).isImm() &&
2238
13
        MI->getOperand(1).getImm() == 1 &&
2239
13
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2240
1
      // (BPICCNT brtarget:$imm, { 0, 0, 0, 1 })
2241
1
      AsmString = "be,pn %icc, $\x01";
2242
1
      break;
2243
1
    }
2244
12
    if (MI->getNumOperands() == 2 &&
2245
12
        MI->getOperand(1).isImm() &&
2246
12
        MI->getOperand(1).getImm() == 10 &&
2247
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2248
1
      // (BPICCNT brtarget:$imm, { 1, 0, 1, 0 })
2249
1
      AsmString = "bg,pn %icc, $\x01";
2250
1
      break;
2251
1
    }
2252
11
    if (MI->getNumOperands() == 2 &&
2253
11
        MI->getOperand(1).isImm() &&
2254
11
        MI->getOperand(1).getImm() == 2 &&
2255
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2256
1
      // (BPICCNT brtarget:$imm, { 0, 0, 1, 0 })
2257
1
      AsmString = "ble,pn %icc, $\x01";
2258
1
      break;
2259
1
    }
2260
10
    if (MI->getNumOperands() == 2 &&
2261
10
        MI->getOperand(1).isImm() &&
2262
10
        MI->getOperand(1).getImm() == 11 &&
2263
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2264
1
      // (BPICCNT brtarget:$imm, { 1, 0, 1, 1 })
2265
1
      AsmString = "bge,pn %icc, $\x01";
2266
1
      break;
2267
1
    }
2268
9
    if (MI->getNumOperands() == 2 &&
2269
9
        MI->getOperand(1).isImm() &&
2270
9
        MI->getOperand(1).getImm() == 3 &&
2271
9
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2272
1
      // (BPICCNT brtarget:$imm, { 0, 0, 1, 1 })
2273
1
      AsmString = "bl,pn %icc, $\x01";
2274
1
      break;
2275
1
    }
2276
8
    if (MI->getNumOperands() == 2 &&
2277
8
        MI->getOperand(1).isImm() &&
2278
8
        MI->getOperand(1).getImm() == 12 &&
2279
8
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2280
1
      // (BPICCNT brtarget:$imm, { 1, 1, 0, 0 })
2281
1
      AsmString = "bgu,pn %icc, $\x01";
2282
1
      break;
2283
1
    }
2284
7
    if (MI->getNumOperands() == 2 &&
2285
7
        MI->getOperand(1).isImm() &&
2286
7
        MI->getOperand(1).getImm() == 4 &&
2287
7
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2288
1
      // (BPICCNT brtarget:$imm, { 0, 1, 0, 0 })
2289
1
      AsmString = "bleu,pn %icc, $\x01";
2290
1
      break;
2291
1
    }
2292
6
    if (MI->getNumOperands() == 2 &&
2293
6
        MI->getOperand(1).isImm() &&
2294
6
        MI->getOperand(1).getImm() == 13 &&
2295
6
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2296
1
      // (BPICCNT brtarget:$imm, { 1, 1, 0, 1 })
2297
1
      AsmString = "bcc,pn %icc, $\x01";
2298
1
      break;
2299
1
    }
2300
5
    if (MI->getNumOperands() == 2 &&
2301
5
        MI->getOperand(1).isImm() &&
2302
5
        MI->getOperand(1).getImm() == 5 &&
2303
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2304
1
      // (BPICCNT brtarget:$imm, { 0, 1, 0, 1 })
2305
1
      AsmString = "bcs,pn %icc, $\x01";
2306
1
      break;
2307
1
    }
2308
4
    if (MI->getNumOperands() == 2 &&
2309
4
        MI->getOperand(1).isImm() &&
2310
4
        MI->getOperand(1).getImm() == 14 &&
2311
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2312
1
      // (BPICCNT brtarget:$imm, { 1, 1, 1, 0 })
2313
1
      AsmString = "bpos,pn %icc, $\x01";
2314
1
      break;
2315
1
    }
2316
3
    if (MI->getNumOperands() == 2 &&
2317
3
        MI->getOperand(1).isImm() &&
2318
3
        MI->getOperand(1).getImm() == 6 &&
2319
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2320
1
      // (BPICCNT brtarget:$imm, { 0, 1, 1, 0 })
2321
1
      AsmString = "bneg,pn %icc, $\x01";
2322
1
      break;
2323
1
    }
2324
2
    if (MI->getNumOperands() == 2 &&
2325
2
        MI->getOperand(1).isImm() &&
2326
2
        MI->getOperand(1).getImm() == 15 &&
2327
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
2328
1
      // (BPICCNT brtarget:$imm, { 1, 1, 1, 1 })
2329
1
      AsmString = "bvc,pn %icc, $\x01";
2330
1
      break;
2331
1
    }
2332
1
    if (MI->getNumOperands() == 2 &&
2333
1
        MI->getOperand(1).isImm() &&
2334
1
        MI->getOperand(1).getImm() == 7 &&
2335
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2336
1
      // (BPICCNT brtarget:$imm, { 0, 1, 1, 1 })
2337
1
      AsmString = "bvs,pn %icc, $\x01";
2338
1
      break;
2339
1
    }
2340
0
    return false;
2341
14
  case SP::BPXCCANT:
2342
14
    if (MI->getNumOperands() == 2 &&
2343
14
        MI->getOperand(1).isImm() &&
2344
14
        MI->getOperand(1).getImm() == 8) {
2345
0
      // (BPXCCANT brtarget:$imm, { 1, 0, 0, 0 })
2346
0
      AsmString = "ba,a,pn %xcc, $\x01";
2347
0
      break;
2348
0
    }
2349
14
    if (MI->getNumOperands() == 2 &&
2350
14
        MI->getOperand(1).isImm() &&
2351
14
        MI->getOperand(1).getImm() == 0) {
2352
0
      // (BPXCCANT brtarget:$imm, { 0, 0, 0, 0 })
2353
0
      AsmString = "bn,a,pn %xcc, $\x01";
2354
0
      break;
2355
0
    }
2356
14
    if (MI->getNumOperands() == 2 &&
2357
14
        MI->getOperand(1).isImm() &&
2358
14
        MI->getOperand(1).getImm() == 9) {
2359
1
      // (BPXCCANT brtarget:$imm, { 1, 0, 0, 1 })
2360
1
      AsmString = "bne,a,pn %xcc, $\x01";
2361
1
      break;
2362
1
    }
2363
13
    if (MI->getNumOperands() == 2 &&
2364
13
        MI->getOperand(1).isImm() &&
2365
13
        MI->getOperand(1).getImm() == 1) {
2366
1
      // (BPXCCANT brtarget:$imm, { 0, 0, 0, 1 })
2367
1
      AsmString = "be,a,pn %xcc, $\x01";
2368
1
      break;
2369
1
    }
2370
12
    if (MI->getNumOperands() == 2 &&
2371
12
        MI->getOperand(1).isImm() &&
2372
12
        MI->getOperand(1).getImm() == 10) {
2373
1
      // (BPXCCANT brtarget:$imm, { 1, 0, 1, 0 })
2374
1
      AsmString = "bg,a,pn %xcc, $\x01";
2375
1
      break;
2376
1
    }
2377
11
    if (MI->getNumOperands() == 2 &&
2378
11
        MI->getOperand(1).isImm() &&
2379
11
        MI->getOperand(1).getImm() == 2) {
2380
1
      // (BPXCCANT brtarget:$imm, { 0, 0, 1, 0 })
2381
1
      AsmString = "ble,a,pn %xcc, $\x01";
2382
1
      break;
2383
1
    }
2384
10
    if (MI->getNumOperands() == 2 &&
2385
10
        MI->getOperand(1).isImm() &&
2386
10
        MI->getOperand(1).getImm() == 11) {
2387
1
      // (BPXCCANT brtarget:$imm, { 1, 0, 1, 1 })
2388
1
      AsmString = "bge,a,pn %xcc, $\x01";
2389
1
      break;
2390
1
    }
2391
9
    if (MI->getNumOperands() == 2 &&
2392
9
        MI->getOperand(1).isImm() &&
2393
9
        MI->getOperand(1).getImm() == 3) {
2394
1
      // (BPXCCANT brtarget:$imm, { 0, 0, 1, 1 })
2395
1
      AsmString = "bl,a,pn %xcc, $\x01";
2396
1
      break;
2397
1
    }
2398
8
    if (MI->getNumOperands() == 2 &&
2399
8
        MI->getOperand(1).isImm() &&
2400
8
        MI->getOperand(1).getImm() == 12) {
2401
1
      // (BPXCCANT brtarget:$imm, { 1, 1, 0, 0 })
2402
1
      AsmString = "bgu,a,pn %xcc, $\x01";
2403
1
      break;
2404
1
    }
2405
7
    if (MI->getNumOperands() == 2 &&
2406
7
        MI->getOperand(1).isImm() &&
2407
7
        MI->getOperand(1).getImm() == 4) {
2408
1
      // (BPXCCANT brtarget:$imm, { 0, 1, 0, 0 })
2409
1
      AsmString = "bleu,a,pn %xcc, $\x01";
2410
1
      break;
2411
1
    }
2412
6
    if (MI->getNumOperands() == 2 &&
2413
6
        MI->getOperand(1).isImm() &&
2414
6
        MI->getOperand(1).getImm() == 13) {
2415
1
      // (BPXCCANT brtarget:$imm, { 1, 1, 0, 1 })
2416
1
      AsmString = "bcc,a,pn %xcc, $\x01";
2417
1
      break;
2418
1
    }
2419
5
    if (MI->getNumOperands() == 2 &&
2420
5
        MI->getOperand(1).isImm() &&
2421
5
        MI->getOperand(1).getImm() == 5) {
2422
1
      // (BPXCCANT brtarget:$imm, { 0, 1, 0, 1 })
2423
1
      AsmString = "bcs,a,pn %xcc, $\x01";
2424
1
      break;
2425
1
    }
2426
4
    if (MI->getNumOperands() == 2 &&
2427
4
        MI->getOperand(1).isImm() &&
2428
4
        MI->getOperand(1).getImm() == 14) {
2429
1
      // (BPXCCANT brtarget:$imm, { 1, 1, 1, 0 })
2430
1
      AsmString = "bpos,a,pn %xcc, $\x01";
2431
1
      break;
2432
1
    }
2433
3
    if (MI->getNumOperands() == 2 &&
2434
3
        MI->getOperand(1).isImm() &&
2435
3
        MI->getOperand(1).getImm() == 6) {
2436
1
      // (BPXCCANT brtarget:$imm, { 0, 1, 1, 0 })
2437
1
      AsmString = "bneg,a,pn %xcc, $\x01";
2438
1
      break;
2439
1
    }
2440
2
    if (MI->getNumOperands() == 2 &&
2441
2
        MI->getOperand(1).isImm() &&
2442
2
        MI->getOperand(1).getImm() == 15) {
2443
1
      // (BPXCCANT brtarget:$imm, { 1, 1, 1, 1 })
2444
1
      AsmString = "bvc,a,pn %xcc, $\x01";
2445
1
      break;
2446
1
    }
2447
1
    if (MI->getNumOperands() == 2 &&
2448
1
        MI->getOperand(1).isImm() &&
2449
1
        MI->getOperand(1).getImm() == 7) {
2450
1
      // (BPXCCANT brtarget:$imm, { 0, 1, 1, 1 })
2451
1
      AsmString = "bvs,a,pn %xcc, $\x01";
2452
1
      break;
2453
1
    }
2454
0
    return false;
2455
14
  case SP::BPXCCNT:
2456
14
    if (MI->getNumOperands() == 2 &&
2457
14
        MI->getOperand(1).isImm() &&
2458
14
        MI->getOperand(1).getImm() == 8) {
2459
0
      // (BPXCCNT brtarget:$imm, { 1, 0, 0, 0 })
2460
0
      AsmString = "ba,pn %xcc, $\x01";
2461
0
      break;
2462
0
    }
2463
14
    if (MI->getNumOperands() == 2 &&
2464
14
        MI->getOperand(1).isImm() &&
2465
14
        MI->getOperand(1).getImm() == 0) {
2466
0
      // (BPXCCNT brtarget:$imm, { 0, 0, 0, 0 })
2467
0
      AsmString = "bn,pn %xcc, $\x01";
2468
0
      break;
2469
0
    }
2470
14
    if (MI->getNumOperands() == 2 &&
2471
14
        MI->getOperand(1).isImm() &&
2472
14
        MI->getOperand(1).getImm() == 9) {
2473
1
      // (BPXCCNT brtarget:$imm, { 1, 0, 0, 1 })
2474
1
      AsmString = "bne,pn %xcc, $\x01";
2475
1
      break;
2476
1
    }
2477
13
    if (MI->getNumOperands() == 2 &&
2478
13
        MI->getOperand(1).isImm() &&
2479
13
        MI->getOperand(1).getImm() == 1) {
2480
1
      // (BPXCCNT brtarget:$imm, { 0, 0, 0, 1 })
2481
1
      AsmString = "be,pn %xcc, $\x01";
2482
1
      break;
2483
1
    }
2484
12
    if (MI->getNumOperands() == 2 &&
2485
12
        MI->getOperand(1).isImm() &&
2486
12
        MI->getOperand(1).getImm() == 10) {
2487
1
      // (BPXCCNT brtarget:$imm, { 1, 0, 1, 0 })
2488
1
      AsmString = "bg,pn %xcc, $\x01";
2489
1
      break;
2490
1
    }
2491
11
    if (MI->getNumOperands() == 2 &&
2492
11
        MI->getOperand(1).isImm() &&
2493
11
        MI->getOperand(1).getImm() == 2) {
2494
1
      // (BPXCCNT brtarget:$imm, { 0, 0, 1, 0 })
2495
1
      AsmString = "ble,pn %xcc, $\x01";
2496
1
      break;
2497
1
    }
2498
10
    if (MI->getNumOperands() == 2 &&
2499
10
        MI->getOperand(1).isImm() &&
2500
10
        MI->getOperand(1).getImm() == 11) {
2501
1
      // (BPXCCNT brtarget:$imm, { 1, 0, 1, 1 })
2502
1
      AsmString = "bge,pn %xcc, $\x01";
2503
1
      break;
2504
1
    }
2505
9
    if (MI->getNumOperands() == 2 &&
2506
9
        MI->getOperand(1).isImm() &&
2507
9
        MI->getOperand(1).getImm() == 3) {
2508
1
      // (BPXCCNT brtarget:$imm, { 0, 0, 1, 1 })
2509
1
      AsmString = "bl,pn %xcc, $\x01";
2510
1
      break;
2511
1
    }
2512
8
    if (MI->getNumOperands() == 2 &&
2513
8
        MI->getOperand(1).isImm() &&
2514
8
        MI->getOperand(1).getImm() == 12) {
2515
1
      // (BPXCCNT brtarget:$imm, { 1, 1, 0, 0 })
2516
1
      AsmString = "bgu,pn %xcc, $\x01";
2517
1
      break;
2518
1
    }
2519
7
    if (MI->getNumOperands() == 2 &&
2520
7
        MI->getOperand(1).isImm() &&
2521
7
        MI->getOperand(1).getImm() == 4) {
2522
1
      // (BPXCCNT brtarget:$imm, { 0, 1, 0, 0 })
2523
1
      AsmString = "bleu,pn %xcc, $\x01";
2524
1
      break;
2525
1
    }
2526
6
    if (MI->getNumOperands() == 2 &&
2527
6
        MI->getOperand(1).isImm() &&
2528
6
        MI->getOperand(1).getImm() == 13) {
2529
1
      // (BPXCCNT brtarget:$imm, { 1, 1, 0, 1 })
2530
1
      AsmString = "bcc,pn %xcc, $\x01";
2531
1
      break;
2532
1
    }
2533
5
    if (MI->getNumOperands() == 2 &&
2534
5
        MI->getOperand(1).isImm() &&
2535
5
        MI->getOperand(1).getImm() == 5) {
2536
1
      // (BPXCCNT brtarget:$imm, { 0, 1, 0, 1 })
2537
1
      AsmString = "bcs,pn %xcc, $\x01";
2538
1
      break;
2539
1
    }
2540
4
    if (MI->getNumOperands() == 2 &&
2541
4
        MI->getOperand(1).isImm() &&
2542
4
        MI->getOperand(1).getImm() == 14) {
2543
1
      // (BPXCCNT brtarget:$imm, { 1, 1, 1, 0 })
2544
1
      AsmString = "bpos,pn %xcc, $\x01";
2545
1
      break;
2546
1
    }
2547
3
    if (MI->getNumOperands() == 2 &&
2548
3
        MI->getOperand(1).isImm() &&
2549
3
        MI->getOperand(1).getImm() == 6) {
2550
1
      // (BPXCCNT brtarget:$imm, { 0, 1, 1, 0 })
2551
1
      AsmString = "bneg,pn %xcc, $\x01";
2552
1
      break;
2553
1
    }
2554
2
    if (MI->getNumOperands() == 2 &&
2555
2
        MI->getOperand(1).isImm() &&
2556
2
        MI->getOperand(1).getImm() == 15) {
2557
1
      // (BPXCCNT brtarget:$imm, { 1, 1, 1, 1 })
2558
1
      AsmString = "bvc,pn %xcc, $\x01";
2559
1
      break;
2560
1
    }
2561
1
    if (MI->getNumOperands() == 2 &&
2562
1
        MI->getOperand(1).isImm() &&
2563
1
        MI->getOperand(1).getImm() == 7) {
2564
1
      // (BPXCCNT brtarget:$imm, { 0, 1, 1, 1 })
2565
1
      AsmString = "bvs,pn %xcc, $\x01";
2566
1
      break;
2567
1
    }
2568
0
    return false;
2569
2
  case SP::FMOVD_ICC:
2570
2
    if (MI->getNumOperands() == 4 &&
2571
2
        MI->getOperand(0).isReg() &&
2572
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2573
2
        MI->getOperand(1).isReg() &&
2574
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2575
2
        MI->getOperand(3).isImm() &&
2576
2
        MI->getOperand(3).getImm() == 8 &&
2577
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2578
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
2579
0
      AsmString = "fmovda %icc, $\x02, $\x01";
2580
0
      break;
2581
0
    }
2582
2
    if (MI->getNumOperands() == 4 &&
2583
2
        MI->getOperand(0).isReg() &&
2584
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2585
2
        MI->getOperand(1).isReg() &&
2586
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2587
2
        MI->getOperand(3).isImm() &&
2588
2
        MI->getOperand(3).getImm() == 0 &&
2589
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2590
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
2591
0
      AsmString = "fmovdn %icc, $\x02, $\x01";
2592
0
      break;
2593
0
    }
2594
2
    if (MI->getNumOperands() == 4 &&
2595
2
        MI->getOperand(0).isReg() &&
2596
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2597
2
        MI->getOperand(1).isReg() &&
2598
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2599
2
        MI->getOperand(3).isImm() &&
2600
2
        MI->getOperand(3).getImm() == 9 &&
2601
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
2602
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
2603
0
      AsmString = "fmovdne %icc, $\x02, $\x01";
2604
0
      break;
2605
0
    }
2606
2
    if (MI->getNumOperands() == 4 &&
2607
2
        MI->getOperand(0).isReg() &&
2608
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2609
2
        MI->getOperand(1).isReg() &&
2610
2
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2611
2
        MI->getOperand(3).isImm() &&
2612
2
        MI->getOperand(3).getImm() == 1 &&
2613
2
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2614
2
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
2615
2
      AsmString = "fmovde %icc, $\x02, $\x01";
2616
2
      break;
2617
2
    }
2618
0
    if (MI->getNumOperands() == 4 &&
2619
0
        MI->getOperand(0).isReg() &&
2620
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2621
0
        MI->getOperand(1).isReg() &&
2622
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2623
0
        MI->getOperand(3).isImm() &&
2624
0
        MI->getOperand(3).getImm() == 10 &&
2625
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2626
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
2627
0
      AsmString = "fmovdg %icc, $\x02, $\x01";
2628
0
      break;
2629
0
    }
2630
0
    if (MI->getNumOperands() == 4 &&
2631
0
        MI->getOperand(0).isReg() &&
2632
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2633
0
        MI->getOperand(1).isReg() &&
2634
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2635
0
        MI->getOperand(3).isImm() &&
2636
0
        MI->getOperand(3).getImm() == 2 &&
2637
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2638
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
2639
0
      AsmString = "fmovdle %icc, $\x02, $\x01";
2640
0
      break;
2641
0
    }
2642
0
    if (MI->getNumOperands() == 4 &&
2643
0
        MI->getOperand(0).isReg() &&
2644
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2645
0
        MI->getOperand(1).isReg() &&
2646
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2647
0
        MI->getOperand(3).isImm() &&
2648
0
        MI->getOperand(3).getImm() == 11 &&
2649
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2650
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
2651
0
      AsmString = "fmovdge %icc, $\x02, $\x01";
2652
0
      break;
2653
0
    }
2654
0
    if (MI->getNumOperands() == 4 &&
2655
0
        MI->getOperand(0).isReg() &&
2656
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2657
0
        MI->getOperand(1).isReg() &&
2658
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2659
0
        MI->getOperand(3).isImm() &&
2660
0
        MI->getOperand(3).getImm() == 3 &&
2661
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2662
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
2663
0
      AsmString = "fmovdl %icc, $\x02, $\x01";
2664
0
      break;
2665
0
    }
2666
0
    if (MI->getNumOperands() == 4 &&
2667
0
        MI->getOperand(0).isReg() &&
2668
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2669
0
        MI->getOperand(1).isReg() &&
2670
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2671
0
        MI->getOperand(3).isImm() &&
2672
0
        MI->getOperand(3).getImm() == 12 &&
2673
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2674
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
2675
0
      AsmString = "fmovdgu %icc, $\x02, $\x01";
2676
0
      break;
2677
0
    }
2678
0
    if (MI->getNumOperands() == 4 &&
2679
0
        MI->getOperand(0).isReg() &&
2680
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2681
0
        MI->getOperand(1).isReg() &&
2682
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2683
0
        MI->getOperand(3).isImm() &&
2684
0
        MI->getOperand(3).getImm() == 4 &&
2685
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2686
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
2687
0
      AsmString = "fmovdleu %icc, $\x02, $\x01";
2688
0
      break;
2689
0
    }
2690
0
    if (MI->getNumOperands() == 4 &&
2691
0
        MI->getOperand(0).isReg() &&
2692
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2693
0
        MI->getOperand(1).isReg() &&
2694
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2695
0
        MI->getOperand(3).isImm() &&
2696
0
        MI->getOperand(3).getImm() == 13 &&
2697
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2698
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
2699
0
      AsmString = "fmovdcc %icc, $\x02, $\x01";
2700
0
      break;
2701
0
    }
2702
0
    if (MI->getNumOperands() == 4 &&
2703
0
        MI->getOperand(0).isReg() &&
2704
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2705
0
        MI->getOperand(1).isReg() &&
2706
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2707
0
        MI->getOperand(3).isImm() &&
2708
0
        MI->getOperand(3).getImm() == 5 &&
2709
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2710
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
2711
0
      AsmString = "fmovdcs %icc, $\x02, $\x01";
2712
0
      break;
2713
0
    }
2714
0
    if (MI->getNumOperands() == 4 &&
2715
0
        MI->getOperand(0).isReg() &&
2716
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2717
0
        MI->getOperand(1).isReg() &&
2718
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2719
0
        MI->getOperand(3).isImm() &&
2720
0
        MI->getOperand(3).getImm() == 14 &&
2721
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2722
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
2723
0
      AsmString = "fmovdpos %icc, $\x02, $\x01";
2724
0
      break;
2725
0
    }
2726
0
    if (MI->getNumOperands() == 4 &&
2727
0
        MI->getOperand(0).isReg() &&
2728
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2729
0
        MI->getOperand(1).isReg() &&
2730
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2731
0
        MI->getOperand(3).isImm() &&
2732
0
        MI->getOperand(3).getImm() == 6 &&
2733
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2734
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
2735
0
      AsmString = "fmovdneg %icc, $\x02, $\x01";
2736
0
      break;
2737
0
    }
2738
0
    if (MI->getNumOperands() == 4 &&
2739
0
        MI->getOperand(0).isReg() &&
2740
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2741
0
        MI->getOperand(1).isReg() &&
2742
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2743
0
        MI->getOperand(3).isImm() &&
2744
0
        MI->getOperand(3).getImm() == 15 &&
2745
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2746
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
2747
0
      AsmString = "fmovdvc %icc, $\x02, $\x01";
2748
0
      break;
2749
0
    }
2750
0
    if (MI->getNumOperands() == 4 &&
2751
0
        MI->getOperand(0).isReg() &&
2752
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2753
0
        MI->getOperand(1).isReg() &&
2754
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2755
0
        MI->getOperand(3).isImm() &&
2756
0
        MI->getOperand(3).getImm() == 7 &&
2757
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2758
0
      // (FMOVD_ICC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
2759
0
      AsmString = "fmovdvs %icc, $\x02, $\x01";
2760
0
      break;
2761
0
    }
2762
0
    return false;
2763
1
  case SP::FMOVD_XCC:
2764
1
    if (MI->getNumOperands() == 4 &&
2765
1
        MI->getOperand(0).isReg() &&
2766
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2767
1
        MI->getOperand(1).isReg() &&
2768
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2769
1
        MI->getOperand(3).isImm() &&
2770
1
        MI->getOperand(3).getImm() == 8) {
2771
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 0 })
2772
0
      AsmString = "fmovda %xcc, $\x02, $\x01";
2773
0
      break;
2774
0
    }
2775
1
    if (MI->getNumOperands() == 4 &&
2776
1
        MI->getOperand(0).isReg() &&
2777
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2778
1
        MI->getOperand(1).isReg() &&
2779
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2780
1
        MI->getOperand(3).isImm() &&
2781
1
        MI->getOperand(3).getImm() == 0) {
2782
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 0 })
2783
0
      AsmString = "fmovdn %xcc, $\x02, $\x01";
2784
0
      break;
2785
0
    }
2786
1
    if (MI->getNumOperands() == 4 &&
2787
1
        MI->getOperand(0).isReg() &&
2788
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2789
1
        MI->getOperand(1).isReg() &&
2790
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2791
1
        MI->getOperand(3).isImm() &&
2792
1
        MI->getOperand(3).getImm() == 9) {
2793
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 0, 1 })
2794
0
      AsmString = "fmovdne %xcc, $\x02, $\x01";
2795
0
      break;
2796
0
    }
2797
1
    if (MI->getNumOperands() == 4 &&
2798
1
        MI->getOperand(0).isReg() &&
2799
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2800
1
        MI->getOperand(1).isReg() &&
2801
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2802
1
        MI->getOperand(3).isImm() &&
2803
1
        MI->getOperand(3).getImm() == 1) {
2804
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 0, 1 })
2805
0
      AsmString = "fmovde %xcc, $\x02, $\x01";
2806
0
      break;
2807
0
    }
2808
1
    if (MI->getNumOperands() == 4 &&
2809
1
        MI->getOperand(0).isReg() &&
2810
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2811
1
        MI->getOperand(1).isReg() &&
2812
1
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2813
1
        MI->getOperand(3).isImm() &&
2814
1
        MI->getOperand(3).getImm() == 10) {
2815
1
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 0 })
2816
1
      AsmString = "fmovdg %xcc, $\x02, $\x01";
2817
1
      break;
2818
1
    }
2819
0
    if (MI->getNumOperands() == 4 &&
2820
0
        MI->getOperand(0).isReg() &&
2821
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2822
0
        MI->getOperand(1).isReg() &&
2823
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2824
0
        MI->getOperand(3).isImm() &&
2825
0
        MI->getOperand(3).getImm() == 2) {
2826
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 0 })
2827
0
      AsmString = "fmovdle %xcc, $\x02, $\x01";
2828
0
      break;
2829
0
    }
2830
0
    if (MI->getNumOperands() == 4 &&
2831
0
        MI->getOperand(0).isReg() &&
2832
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2833
0
        MI->getOperand(1).isReg() &&
2834
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2835
0
        MI->getOperand(3).isImm() &&
2836
0
        MI->getOperand(3).getImm() == 11) {
2837
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 0, 1, 1 })
2838
0
      AsmString = "fmovdge %xcc, $\x02, $\x01";
2839
0
      break;
2840
0
    }
2841
0
    if (MI->getNumOperands() == 4 &&
2842
0
        MI->getOperand(0).isReg() &&
2843
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2844
0
        MI->getOperand(1).isReg() &&
2845
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2846
0
        MI->getOperand(3).isImm() &&
2847
0
        MI->getOperand(3).getImm() == 3) {
2848
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 0, 1, 1 })
2849
0
      AsmString = "fmovdl %xcc, $\x02, $\x01";
2850
0
      break;
2851
0
    }
2852
0
    if (MI->getNumOperands() == 4 &&
2853
0
        MI->getOperand(0).isReg() &&
2854
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2855
0
        MI->getOperand(1).isReg() &&
2856
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2857
0
        MI->getOperand(3).isImm() &&
2858
0
        MI->getOperand(3).getImm() == 12) {
2859
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 0 })
2860
0
      AsmString = "fmovdgu %xcc, $\x02, $\x01";
2861
0
      break;
2862
0
    }
2863
0
    if (MI->getNumOperands() == 4 &&
2864
0
        MI->getOperand(0).isReg() &&
2865
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2866
0
        MI->getOperand(1).isReg() &&
2867
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2868
0
        MI->getOperand(3).isImm() &&
2869
0
        MI->getOperand(3).getImm() == 4) {
2870
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 0 })
2871
0
      AsmString = "fmovdleu %xcc, $\x02, $\x01";
2872
0
      break;
2873
0
    }
2874
0
    if (MI->getNumOperands() == 4 &&
2875
0
        MI->getOperand(0).isReg() &&
2876
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2877
0
        MI->getOperand(1).isReg() &&
2878
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2879
0
        MI->getOperand(3).isImm() &&
2880
0
        MI->getOperand(3).getImm() == 13) {
2881
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 0, 1 })
2882
0
      AsmString = "fmovdcc %xcc, $\x02, $\x01";
2883
0
      break;
2884
0
    }
2885
0
    if (MI->getNumOperands() == 4 &&
2886
0
        MI->getOperand(0).isReg() &&
2887
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2888
0
        MI->getOperand(1).isReg() &&
2889
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2890
0
        MI->getOperand(3).isImm() &&
2891
0
        MI->getOperand(3).getImm() == 5) {
2892
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 0, 1 })
2893
0
      AsmString = "fmovdcs %xcc, $\x02, $\x01";
2894
0
      break;
2895
0
    }
2896
0
    if (MI->getNumOperands() == 4 &&
2897
0
        MI->getOperand(0).isReg() &&
2898
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2899
0
        MI->getOperand(1).isReg() &&
2900
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2901
0
        MI->getOperand(3).isImm() &&
2902
0
        MI->getOperand(3).getImm() == 14) {
2903
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 0 })
2904
0
      AsmString = "fmovdpos %xcc, $\x02, $\x01";
2905
0
      break;
2906
0
    }
2907
0
    if (MI->getNumOperands() == 4 &&
2908
0
        MI->getOperand(0).isReg() &&
2909
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2910
0
        MI->getOperand(1).isReg() &&
2911
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2912
0
        MI->getOperand(3).isImm() &&
2913
0
        MI->getOperand(3).getImm() == 6) {
2914
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 0 })
2915
0
      AsmString = "fmovdneg %xcc, $\x02, $\x01";
2916
0
      break;
2917
0
    }
2918
0
    if (MI->getNumOperands() == 4 &&
2919
0
        MI->getOperand(0).isReg() &&
2920
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2921
0
        MI->getOperand(1).isReg() &&
2922
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2923
0
        MI->getOperand(3).isImm() &&
2924
0
        MI->getOperand(3).getImm() == 15) {
2925
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 1, 1, 1, 1 })
2926
0
      AsmString = "fmovdvc %xcc, $\x02, $\x01";
2927
0
      break;
2928
0
    }
2929
0
    if (MI->getNumOperands() == 4 &&
2930
0
        MI->getOperand(0).isReg() &&
2931
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2932
0
        MI->getOperand(1).isReg() &&
2933
0
        MRI.getRegClass(Sparc::DFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2934
0
        MI->getOperand(3).isImm() &&
2935
0
        MI->getOperand(3).getImm() == 7) {
2936
0
      // (FMOVD_XCC DFPRegs:$rd, DFPRegs:$rs2, { 0, 1, 1, 1 })
2937
0
      AsmString = "fmovdvs %xcc, $\x02, $\x01";
2938
0
      break;
2939
0
    }
2940
0
    return false;
2941
0
  case SP::FMOVQ_ICC:
2942
0
    if (MI->getNumOperands() == 4 &&
2943
0
        MI->getOperand(0).isReg() &&
2944
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2945
0
        MI->getOperand(1).isReg() &&
2946
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2947
0
        MI->getOperand(3).isImm() &&
2948
0
        MI->getOperand(3).getImm() == 8 &&
2949
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2950
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
2951
0
      AsmString = "fmovqa %icc, $\x02, $\x01";
2952
0
      break;
2953
0
    }
2954
0
    if (MI->getNumOperands() == 4 &&
2955
0
        MI->getOperand(0).isReg() &&
2956
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2957
0
        MI->getOperand(1).isReg() &&
2958
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2959
0
        MI->getOperand(3).isImm() &&
2960
0
        MI->getOperand(3).getImm() == 0 &&
2961
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2962
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
2963
0
      AsmString = "fmovqn %icc, $\x02, $\x01";
2964
0
      break;
2965
0
    }
2966
0
    if (MI->getNumOperands() == 4 &&
2967
0
        MI->getOperand(0).isReg() &&
2968
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2969
0
        MI->getOperand(1).isReg() &&
2970
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2971
0
        MI->getOperand(3).isImm() &&
2972
0
        MI->getOperand(3).getImm() == 9 &&
2973
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2974
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
2975
0
      AsmString = "fmovqne %icc, $\x02, $\x01";
2976
0
      break;
2977
0
    }
2978
0
    if (MI->getNumOperands() == 4 &&
2979
0
        MI->getOperand(0).isReg() &&
2980
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2981
0
        MI->getOperand(1).isReg() &&
2982
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2983
0
        MI->getOperand(3).isImm() &&
2984
0
        MI->getOperand(3).getImm() == 1 &&
2985
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2986
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
2987
0
      AsmString = "fmovqe %icc, $\x02, $\x01";
2988
0
      break;
2989
0
    }
2990
0
    if (MI->getNumOperands() == 4 &&
2991
0
        MI->getOperand(0).isReg() &&
2992
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
2993
0
        MI->getOperand(1).isReg() &&
2994
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
2995
0
        MI->getOperand(3).isImm() &&
2996
0
        MI->getOperand(3).getImm() == 10 &&
2997
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
2998
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
2999
0
      AsmString = "fmovqg %icc, $\x02, $\x01";
3000
0
      break;
3001
0
    }
3002
0
    if (MI->getNumOperands() == 4 &&
3003
0
        MI->getOperand(0).isReg() &&
3004
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3005
0
        MI->getOperand(1).isReg() &&
3006
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3007
0
        MI->getOperand(3).isImm() &&
3008
0
        MI->getOperand(3).getImm() == 2 &&
3009
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3010
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
3011
0
      AsmString = "fmovqle %icc, $\x02, $\x01";
3012
0
      break;
3013
0
    }
3014
0
    if (MI->getNumOperands() == 4 &&
3015
0
        MI->getOperand(0).isReg() &&
3016
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3017
0
        MI->getOperand(1).isReg() &&
3018
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3019
0
        MI->getOperand(3).isImm() &&
3020
0
        MI->getOperand(3).getImm() == 11 &&
3021
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3022
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
3023
0
      AsmString = "fmovqge %icc, $\x02, $\x01";
3024
0
      break;
3025
0
    }
3026
0
    if (MI->getNumOperands() == 4 &&
3027
0
        MI->getOperand(0).isReg() &&
3028
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3029
0
        MI->getOperand(1).isReg() &&
3030
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3031
0
        MI->getOperand(3).isImm() &&
3032
0
        MI->getOperand(3).getImm() == 3 &&
3033
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3034
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
3035
0
      AsmString = "fmovql %icc, $\x02, $\x01";
3036
0
      break;
3037
0
    }
3038
0
    if (MI->getNumOperands() == 4 &&
3039
0
        MI->getOperand(0).isReg() &&
3040
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3041
0
        MI->getOperand(1).isReg() &&
3042
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3043
0
        MI->getOperand(3).isImm() &&
3044
0
        MI->getOperand(3).getImm() == 12 &&
3045
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3046
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
3047
0
      AsmString = "fmovqgu %icc, $\x02, $\x01";
3048
0
      break;
3049
0
    }
3050
0
    if (MI->getNumOperands() == 4 &&
3051
0
        MI->getOperand(0).isReg() &&
3052
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3053
0
        MI->getOperand(1).isReg() &&
3054
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3055
0
        MI->getOperand(3).isImm() &&
3056
0
        MI->getOperand(3).getImm() == 4 &&
3057
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3058
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
3059
0
      AsmString = "fmovqleu %icc, $\x02, $\x01";
3060
0
      break;
3061
0
    }
3062
0
    if (MI->getNumOperands() == 4 &&
3063
0
        MI->getOperand(0).isReg() &&
3064
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3065
0
        MI->getOperand(1).isReg() &&
3066
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3067
0
        MI->getOperand(3).isImm() &&
3068
0
        MI->getOperand(3).getImm() == 13 &&
3069
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3070
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
3071
0
      AsmString = "fmovqcc %icc, $\x02, $\x01";
3072
0
      break;
3073
0
    }
3074
0
    if (MI->getNumOperands() == 4 &&
3075
0
        MI->getOperand(0).isReg() &&
3076
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3077
0
        MI->getOperand(1).isReg() &&
3078
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3079
0
        MI->getOperand(3).isImm() &&
3080
0
        MI->getOperand(3).getImm() == 5 &&
3081
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3082
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
3083
0
      AsmString = "fmovqcs %icc, $\x02, $\x01";
3084
0
      break;
3085
0
    }
3086
0
    if (MI->getNumOperands() == 4 &&
3087
0
        MI->getOperand(0).isReg() &&
3088
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3089
0
        MI->getOperand(1).isReg() &&
3090
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3091
0
        MI->getOperand(3).isImm() &&
3092
0
        MI->getOperand(3).getImm() == 14 &&
3093
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3094
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
3095
0
      AsmString = "fmovqpos %icc, $\x02, $\x01";
3096
0
      break;
3097
0
    }
3098
0
    if (MI->getNumOperands() == 4 &&
3099
0
        MI->getOperand(0).isReg() &&
3100
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3101
0
        MI->getOperand(1).isReg() &&
3102
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3103
0
        MI->getOperand(3).isImm() &&
3104
0
        MI->getOperand(3).getImm() == 6 &&
3105
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3106
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
3107
0
      AsmString = "fmovqneg %icc, $\x02, $\x01";
3108
0
      break;
3109
0
    }
3110
0
    if (MI->getNumOperands() == 4 &&
3111
0
        MI->getOperand(0).isReg() &&
3112
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3113
0
        MI->getOperand(1).isReg() &&
3114
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3115
0
        MI->getOperand(3).isImm() &&
3116
0
        MI->getOperand(3).getImm() == 15 &&
3117
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3118
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
3119
0
      AsmString = "fmovqvc %icc, $\x02, $\x01";
3120
0
      break;
3121
0
    }
3122
0
    if (MI->getNumOperands() == 4 &&
3123
0
        MI->getOperand(0).isReg() &&
3124
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3125
0
        MI->getOperand(1).isReg() &&
3126
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3127
0
        MI->getOperand(3).isImm() &&
3128
0
        MI->getOperand(3).getImm() == 7 &&
3129
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3130
0
      // (FMOVQ_ICC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
3131
0
      AsmString = "fmovqvs %icc, $\x02, $\x01";
3132
0
      break;
3133
0
    }
3134
0
    return false;
3135
0
  case SP::FMOVQ_XCC:
3136
0
    if (MI->getNumOperands() == 4 &&
3137
0
        MI->getOperand(0).isReg() &&
3138
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3139
0
        MI->getOperand(1).isReg() &&
3140
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3141
0
        MI->getOperand(3).isImm() &&
3142
0
        MI->getOperand(3).getImm() == 8) {
3143
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 0 })
3144
0
      AsmString = "fmovqa %xcc, $\x02, $\x01";
3145
0
      break;
3146
0
    }
3147
0
    if (MI->getNumOperands() == 4 &&
3148
0
        MI->getOperand(0).isReg() &&
3149
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3150
0
        MI->getOperand(1).isReg() &&
3151
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3152
0
        MI->getOperand(3).isImm() &&
3153
0
        MI->getOperand(3).getImm() == 0) {
3154
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 0 })
3155
0
      AsmString = "fmovqn %xcc, $\x02, $\x01";
3156
0
      break;
3157
0
    }
3158
0
    if (MI->getNumOperands() == 4 &&
3159
0
        MI->getOperand(0).isReg() &&
3160
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3161
0
        MI->getOperand(1).isReg() &&
3162
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3163
0
        MI->getOperand(3).isImm() &&
3164
0
        MI->getOperand(3).getImm() == 9) {
3165
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 0, 1 })
3166
0
      AsmString = "fmovqne %xcc, $\x02, $\x01";
3167
0
      break;
3168
0
    }
3169
0
    if (MI->getNumOperands() == 4 &&
3170
0
        MI->getOperand(0).isReg() &&
3171
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3172
0
        MI->getOperand(1).isReg() &&
3173
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3174
0
        MI->getOperand(3).isImm() &&
3175
0
        MI->getOperand(3).getImm() == 1) {
3176
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 0, 1 })
3177
0
      AsmString = "fmovqe %xcc, $\x02, $\x01";
3178
0
      break;
3179
0
    }
3180
0
    if (MI->getNumOperands() == 4 &&
3181
0
        MI->getOperand(0).isReg() &&
3182
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3183
0
        MI->getOperand(1).isReg() &&
3184
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3185
0
        MI->getOperand(3).isImm() &&
3186
0
        MI->getOperand(3).getImm() == 10) {
3187
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 0 })
3188
0
      AsmString = "fmovqg %xcc, $\x02, $\x01";
3189
0
      break;
3190
0
    }
3191
0
    if (MI->getNumOperands() == 4 &&
3192
0
        MI->getOperand(0).isReg() &&
3193
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3194
0
        MI->getOperand(1).isReg() &&
3195
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3196
0
        MI->getOperand(3).isImm() &&
3197
0
        MI->getOperand(3).getImm() == 2) {
3198
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 0 })
3199
0
      AsmString = "fmovqle %xcc, $\x02, $\x01";
3200
0
      break;
3201
0
    }
3202
0
    if (MI->getNumOperands() == 4 &&
3203
0
        MI->getOperand(0).isReg() &&
3204
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3205
0
        MI->getOperand(1).isReg() &&
3206
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3207
0
        MI->getOperand(3).isImm() &&
3208
0
        MI->getOperand(3).getImm() == 11) {
3209
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 0, 1, 1 })
3210
0
      AsmString = "fmovqge %xcc, $\x02, $\x01";
3211
0
      break;
3212
0
    }
3213
0
    if (MI->getNumOperands() == 4 &&
3214
0
        MI->getOperand(0).isReg() &&
3215
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3216
0
        MI->getOperand(1).isReg() &&
3217
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3218
0
        MI->getOperand(3).isImm() &&
3219
0
        MI->getOperand(3).getImm() == 3) {
3220
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 0, 1, 1 })
3221
0
      AsmString = "fmovql %xcc, $\x02, $\x01";
3222
0
      break;
3223
0
    }
3224
0
    if (MI->getNumOperands() == 4 &&
3225
0
        MI->getOperand(0).isReg() &&
3226
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3227
0
        MI->getOperand(1).isReg() &&
3228
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3229
0
        MI->getOperand(3).isImm() &&
3230
0
        MI->getOperand(3).getImm() == 12) {
3231
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 0 })
3232
0
      AsmString = "fmovqgu %xcc, $\x02, $\x01";
3233
0
      break;
3234
0
    }
3235
0
    if (MI->getNumOperands() == 4 &&
3236
0
        MI->getOperand(0).isReg() &&
3237
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3238
0
        MI->getOperand(1).isReg() &&
3239
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3240
0
        MI->getOperand(3).isImm() &&
3241
0
        MI->getOperand(3).getImm() == 4) {
3242
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 0 })
3243
0
      AsmString = "fmovqleu %xcc, $\x02, $\x01";
3244
0
      break;
3245
0
    }
3246
0
    if (MI->getNumOperands() == 4 &&
3247
0
        MI->getOperand(0).isReg() &&
3248
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3249
0
        MI->getOperand(1).isReg() &&
3250
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3251
0
        MI->getOperand(3).isImm() &&
3252
0
        MI->getOperand(3).getImm() == 13) {
3253
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 0, 1 })
3254
0
      AsmString = "fmovqcc %xcc, $\x02, $\x01";
3255
0
      break;
3256
0
    }
3257
0
    if (MI->getNumOperands() == 4 &&
3258
0
        MI->getOperand(0).isReg() &&
3259
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3260
0
        MI->getOperand(1).isReg() &&
3261
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3262
0
        MI->getOperand(3).isImm() &&
3263
0
        MI->getOperand(3).getImm() == 5) {
3264
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 0, 1 })
3265
0
      AsmString = "fmovqcs %xcc, $\x02, $\x01";
3266
0
      break;
3267
0
    }
3268
0
    if (MI->getNumOperands() == 4 &&
3269
0
        MI->getOperand(0).isReg() &&
3270
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3271
0
        MI->getOperand(1).isReg() &&
3272
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3273
0
        MI->getOperand(3).isImm() &&
3274
0
        MI->getOperand(3).getImm() == 14) {
3275
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 0 })
3276
0
      AsmString = "fmovqpos %xcc, $\x02, $\x01";
3277
0
      break;
3278
0
    }
3279
0
    if (MI->getNumOperands() == 4 &&
3280
0
        MI->getOperand(0).isReg() &&
3281
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3282
0
        MI->getOperand(1).isReg() &&
3283
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3284
0
        MI->getOperand(3).isImm() &&
3285
0
        MI->getOperand(3).getImm() == 6) {
3286
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 0 })
3287
0
      AsmString = "fmovqneg %xcc, $\x02, $\x01";
3288
0
      break;
3289
0
    }
3290
0
    if (MI->getNumOperands() == 4 &&
3291
0
        MI->getOperand(0).isReg() &&
3292
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3293
0
        MI->getOperand(1).isReg() &&
3294
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3295
0
        MI->getOperand(3).isImm() &&
3296
0
        MI->getOperand(3).getImm() == 15) {
3297
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 1, 1, 1, 1 })
3298
0
      AsmString = "fmovqvc %xcc, $\x02, $\x01";
3299
0
      break;
3300
0
    }
3301
0
    if (MI->getNumOperands() == 4 &&
3302
0
        MI->getOperand(0).isReg() &&
3303
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3304
0
        MI->getOperand(1).isReg() &&
3305
0
        MRI.getRegClass(Sparc::QFPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3306
0
        MI->getOperand(3).isImm() &&
3307
0
        MI->getOperand(3).getImm() == 7) {
3308
0
      // (FMOVQ_XCC QFPRegs:$rd, QFPRegs:$rs2, { 0, 1, 1, 1 })
3309
0
      AsmString = "fmovqvs %xcc, $\x02, $\x01";
3310
0
      break;
3311
0
    }
3312
0
    return false;
3313
16
  case SP::FMOVS_ICC:
3314
16
    if (MI->getNumOperands() == 4 &&
3315
16
        MI->getOperand(0).isReg() &&
3316
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3317
16
        MI->getOperand(1).isReg() &&
3318
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3319
16
        MI->getOperand(3).isImm() &&
3320
16
        MI->getOperand(3).getImm() == 8 &&
3321
16
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3322
0
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
3323
0
      AsmString = "fmovsa %icc, $\x02, $\x01";
3324
0
      break;
3325
0
    }
3326
16
    if (MI->getNumOperands() == 4 &&
3327
16
        MI->getOperand(0).isReg() &&
3328
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3329
16
        MI->getOperand(1).isReg() &&
3330
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3331
16
        MI->getOperand(3).isImm() &&
3332
16
        MI->getOperand(3).getImm() == 0 &&
3333
16
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3334
0
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
3335
0
      AsmString = "fmovsn %icc, $\x02, $\x01";
3336
0
      break;
3337
0
    }
3338
16
    if (MI->getNumOperands() == 4 &&
3339
16
        MI->getOperand(0).isReg() &&
3340
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3341
16
        MI->getOperand(1).isReg() &&
3342
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3343
16
        MI->getOperand(3).isImm() &&
3344
16
        MI->getOperand(3).getImm() == 9 &&
3345
16
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3346
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
3347
1
      AsmString = "fmovsne %icc, $\x02, $\x01";
3348
1
      break;
3349
1
    }
3350
15
    if (MI->getNumOperands() == 4 &&
3351
15
        MI->getOperand(0).isReg() &&
3352
15
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3353
15
        MI->getOperand(1).isReg() &&
3354
15
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3355
15
        MI->getOperand(3).isImm() &&
3356
15
        MI->getOperand(3).getImm() == 1 &&
3357
15
        
STI.getFeatureBits()[Sparc::FeatureV9]3
) {
3358
3
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
3359
3
      AsmString = "fmovse %icc, $\x02, $\x01";
3360
3
      break;
3361
3
    }
3362
12
    if (MI->getNumOperands() == 4 &&
3363
12
        MI->getOperand(0).isReg() &&
3364
12
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3365
12
        MI->getOperand(1).isReg() &&
3366
12
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3367
12
        MI->getOperand(3).isImm() &&
3368
12
        MI->getOperand(3).getImm() == 10 &&
3369
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3370
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
3371
1
      AsmString = "fmovsg %icc, $\x02, $\x01";
3372
1
      break;
3373
1
    }
3374
11
    if (MI->getNumOperands() == 4 &&
3375
11
        MI->getOperand(0).isReg() &&
3376
11
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3377
11
        MI->getOperand(1).isReg() &&
3378
11
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3379
11
        MI->getOperand(3).isImm() &&
3380
11
        MI->getOperand(3).getImm() == 2 &&
3381
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3382
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
3383
1
      AsmString = "fmovsle %icc, $\x02, $\x01";
3384
1
      break;
3385
1
    }
3386
10
    if (MI->getNumOperands() == 4 &&
3387
10
        MI->getOperand(0).isReg() &&
3388
10
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3389
10
        MI->getOperand(1).isReg() &&
3390
10
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3391
10
        MI->getOperand(3).isImm() &&
3392
10
        MI->getOperand(3).getImm() == 11 &&
3393
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3394
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
3395
1
      AsmString = "fmovsge %icc, $\x02, $\x01";
3396
1
      break;
3397
1
    }
3398
9
    if (MI->getNumOperands() == 4 &&
3399
9
        MI->getOperand(0).isReg() &&
3400
9
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3401
9
        MI->getOperand(1).isReg() &&
3402
9
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3403
9
        MI->getOperand(3).isImm() &&
3404
9
        MI->getOperand(3).getImm() == 3 &&
3405
9
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3406
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
3407
1
      AsmString = "fmovsl %icc, $\x02, $\x01";
3408
1
      break;
3409
1
    }
3410
8
    if (MI->getNumOperands() == 4 &&
3411
8
        MI->getOperand(0).isReg() &&
3412
8
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3413
8
        MI->getOperand(1).isReg() &&
3414
8
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3415
8
        MI->getOperand(3).isImm() &&
3416
8
        MI->getOperand(3).getImm() == 12 &&
3417
8
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3418
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
3419
1
      AsmString = "fmovsgu %icc, $\x02, $\x01";
3420
1
      break;
3421
1
    }
3422
7
    if (MI->getNumOperands() == 4 &&
3423
7
        MI->getOperand(0).isReg() &&
3424
7
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3425
7
        MI->getOperand(1).isReg() &&
3426
7
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3427
7
        MI->getOperand(3).isImm() &&
3428
7
        MI->getOperand(3).getImm() == 4 &&
3429
7
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3430
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
3431
1
      AsmString = "fmovsleu %icc, $\x02, $\x01";
3432
1
      break;
3433
1
    }
3434
6
    if (MI->getNumOperands() == 4 &&
3435
6
        MI->getOperand(0).isReg() &&
3436
6
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3437
6
        MI->getOperand(1).isReg() &&
3438
6
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3439
6
        MI->getOperand(3).isImm() &&
3440
6
        MI->getOperand(3).getImm() == 13 &&
3441
6
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3442
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
3443
1
      AsmString = "fmovscc %icc, $\x02, $\x01";
3444
1
      break;
3445
1
    }
3446
5
    if (MI->getNumOperands() == 4 &&
3447
5
        MI->getOperand(0).isReg() &&
3448
5
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3449
5
        MI->getOperand(1).isReg() &&
3450
5
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3451
5
        MI->getOperand(3).isImm() &&
3452
5
        MI->getOperand(3).getImm() == 5 &&
3453
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3454
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
3455
1
      AsmString = "fmovscs %icc, $\x02, $\x01";
3456
1
      break;
3457
1
    }
3458
4
    if (MI->getNumOperands() == 4 &&
3459
4
        MI->getOperand(0).isReg() &&
3460
4
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3461
4
        MI->getOperand(1).isReg() &&
3462
4
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3463
4
        MI->getOperand(3).isImm() &&
3464
4
        MI->getOperand(3).getImm() == 14 &&
3465
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3466
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
3467
1
      AsmString = "fmovspos %icc, $\x02, $\x01";
3468
1
      break;
3469
1
    }
3470
3
    if (MI->getNumOperands() == 4 &&
3471
3
        MI->getOperand(0).isReg() &&
3472
3
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3473
3
        MI->getOperand(1).isReg() &&
3474
3
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3475
3
        MI->getOperand(3).isImm() &&
3476
3
        MI->getOperand(3).getImm() == 6 &&
3477
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3478
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
3479
1
      AsmString = "fmovsneg %icc, $\x02, $\x01";
3480
1
      break;
3481
1
    }
3482
2
    if (MI->getNumOperands() == 4 &&
3483
2
        MI->getOperand(0).isReg() &&
3484
2
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3485
2
        MI->getOperand(1).isReg() &&
3486
2
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3487
2
        MI->getOperand(3).isImm() &&
3488
2
        MI->getOperand(3).getImm() == 15 &&
3489
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3490
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
3491
1
      AsmString = "fmovsvc %icc, $\x02, $\x01";
3492
1
      break;
3493
1
    }
3494
1
    if (MI->getNumOperands() == 4 &&
3495
1
        MI->getOperand(0).isReg() &&
3496
1
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3497
1
        MI->getOperand(1).isReg() &&
3498
1
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3499
1
        MI->getOperand(3).isImm() &&
3500
1
        MI->getOperand(3).getImm() == 7 &&
3501
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3502
1
      // (FMOVS_ICC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
3503
1
      AsmString = "fmovsvs %icc, $\x02, $\x01";
3504
1
      break;
3505
1
    }
3506
0
    return false;
3507
16
  case SP::FMOVS_XCC:
3508
16
    if (MI->getNumOperands() == 4 &&
3509
16
        MI->getOperand(0).isReg() &&
3510
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3511
16
        MI->getOperand(1).isReg() &&
3512
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3513
16
        MI->getOperand(3).isImm() &&
3514
16
        MI->getOperand(3).getImm() == 8) {
3515
0
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 0 })
3516
0
      AsmString = "fmovsa %xcc, $\x02, $\x01";
3517
0
      break;
3518
0
    }
3519
16
    if (MI->getNumOperands() == 4 &&
3520
16
        MI->getOperand(0).isReg() &&
3521
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3522
16
        MI->getOperand(1).isReg() &&
3523
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3524
16
        MI->getOperand(3).isImm() &&
3525
16
        MI->getOperand(3).getImm() == 0) {
3526
0
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 0 })
3527
0
      AsmString = "fmovsn %xcc, $\x02, $\x01";
3528
0
      break;
3529
0
    }
3530
16
    if (MI->getNumOperands() == 4 &&
3531
16
        MI->getOperand(0).isReg() &&
3532
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3533
16
        MI->getOperand(1).isReg() &&
3534
16
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3535
16
        MI->getOperand(3).isImm() &&
3536
16
        MI->getOperand(3).getImm() == 9) {
3537
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 0, 1 })
3538
1
      AsmString = "fmovsne %xcc, $\x02, $\x01";
3539
1
      break;
3540
1
    }
3541
15
    if (MI->getNumOperands() == 4 &&
3542
15
        MI->getOperand(0).isReg() &&
3543
15
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3544
15
        MI->getOperand(1).isReg() &&
3545
15
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3546
15
        MI->getOperand(3).isImm() &&
3547
15
        MI->getOperand(3).getImm() == 1) {
3548
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 0, 1 })
3549
1
      AsmString = "fmovse %xcc, $\x02, $\x01";
3550
1
      break;
3551
1
    }
3552
14
    if (MI->getNumOperands() == 4 &&
3553
14
        MI->getOperand(0).isReg() &&
3554
14
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3555
14
        MI->getOperand(1).isReg() &&
3556
14
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3557
14
        MI->getOperand(3).isImm() &&
3558
14
        MI->getOperand(3).getImm() == 10) {
3559
2
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 0 })
3560
2
      AsmString = "fmovsg %xcc, $\x02, $\x01";
3561
2
      break;
3562
2
    }
3563
12
    if (MI->getNumOperands() == 4 &&
3564
12
        MI->getOperand(0).isReg() &&
3565
12
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3566
12
        MI->getOperand(1).isReg() &&
3567
12
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3568
12
        MI->getOperand(3).isImm() &&
3569
12
        MI->getOperand(3).getImm() == 2) {
3570
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 0 })
3571
1
      AsmString = "fmovsle %xcc, $\x02, $\x01";
3572
1
      break;
3573
1
    }
3574
11
    if (MI->getNumOperands() == 4 &&
3575
11
        MI->getOperand(0).isReg() &&
3576
11
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3577
11
        MI->getOperand(1).isReg() &&
3578
11
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3579
11
        MI->getOperand(3).isImm() &&
3580
11
        MI->getOperand(3).getImm() == 11) {
3581
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 0, 1, 1 })
3582
1
      AsmString = "fmovsge %xcc, $\x02, $\x01";
3583
1
      break;
3584
1
    }
3585
10
    if (MI->getNumOperands() == 4 &&
3586
10
        MI->getOperand(0).isReg() &&
3587
10
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3588
10
        MI->getOperand(1).isReg() &&
3589
10
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3590
10
        MI->getOperand(3).isImm() &&
3591
10
        MI->getOperand(3).getImm() == 3) {
3592
2
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 0, 1, 1 })
3593
2
      AsmString = "fmovsl %xcc, $\x02, $\x01";
3594
2
      break;
3595
2
    }
3596
8
    if (MI->getNumOperands() == 4 &&
3597
8
        MI->getOperand(0).isReg() &&
3598
8
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3599
8
        MI->getOperand(1).isReg() &&
3600
8
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3601
8
        MI->getOperand(3).isImm() &&
3602
8
        MI->getOperand(3).getImm() == 12) {
3603
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 0 })
3604
1
      AsmString = "fmovsgu %xcc, $\x02, $\x01";
3605
1
      break;
3606
1
    }
3607
7
    if (MI->getNumOperands() == 4 &&
3608
7
        MI->getOperand(0).isReg() &&
3609
7
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3610
7
        MI->getOperand(1).isReg() &&
3611
7
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3612
7
        MI->getOperand(3).isImm() &&
3613
7
        MI->getOperand(3).getImm() == 4) {
3614
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 0 })
3615
1
      AsmString = "fmovsleu %xcc, $\x02, $\x01";
3616
1
      break;
3617
1
    }
3618
6
    if (MI->getNumOperands() == 4 &&
3619
6
        MI->getOperand(0).isReg() &&
3620
6
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3621
6
        MI->getOperand(1).isReg() &&
3622
6
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3623
6
        MI->getOperand(3).isImm() &&
3624
6
        MI->getOperand(3).getImm() == 13) {
3625
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 0, 1 })
3626
1
      AsmString = "fmovscc %xcc, $\x02, $\x01";
3627
1
      break;
3628
1
    }
3629
5
    if (MI->getNumOperands() == 4 &&
3630
5
        MI->getOperand(0).isReg() &&
3631
5
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3632
5
        MI->getOperand(1).isReg() &&
3633
5
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3634
5
        MI->getOperand(3).isImm() &&
3635
5
        MI->getOperand(3).getImm() == 5) {
3636
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 0, 1 })
3637
1
      AsmString = "fmovscs %xcc, $\x02, $\x01";
3638
1
      break;
3639
1
    }
3640
4
    if (MI->getNumOperands() == 4 &&
3641
4
        MI->getOperand(0).isReg() &&
3642
4
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3643
4
        MI->getOperand(1).isReg() &&
3644
4
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3645
4
        MI->getOperand(3).isImm() &&
3646
4
        MI->getOperand(3).getImm() == 14) {
3647
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 0 })
3648
1
      AsmString = "fmovspos %xcc, $\x02, $\x01";
3649
1
      break;
3650
1
    }
3651
3
    if (MI->getNumOperands() == 4 &&
3652
3
        MI->getOperand(0).isReg() &&
3653
3
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3654
3
        MI->getOperand(1).isReg() &&
3655
3
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3656
3
        MI->getOperand(3).isImm() &&
3657
3
        MI->getOperand(3).getImm() == 6) {
3658
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 0 })
3659
1
      AsmString = "fmovsneg %xcc, $\x02, $\x01";
3660
1
      break;
3661
1
    }
3662
2
    if (MI->getNumOperands() == 4 &&
3663
2
        MI->getOperand(0).isReg() &&
3664
2
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3665
2
        MI->getOperand(1).isReg() &&
3666
2
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3667
2
        MI->getOperand(3).isImm() &&
3668
2
        MI->getOperand(3).getImm() == 15) {
3669
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 1, 1, 1, 1 })
3670
1
      AsmString = "fmovsvc %xcc, $\x02, $\x01";
3671
1
      break;
3672
1
    }
3673
1
    if (MI->getNumOperands() == 4 &&
3674
1
        MI->getOperand(0).isReg() &&
3675
1
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3676
1
        MI->getOperand(1).isReg() &&
3677
1
        MRI.getRegClass(Sparc::FPRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3678
1
        MI->getOperand(3).isImm() &&
3679
1
        MI->getOperand(3).getImm() == 7) {
3680
1
      // (FMOVS_XCC FPRegs:$rd, FPRegs:$rs2, { 0, 1, 1, 1 })
3681
1
      AsmString = "fmovsvs %xcc, $\x02, $\x01";
3682
1
      break;
3683
1
    }
3684
0
    return false;
3685
13
  case SP::MOVICCri:
3686
13
    if (MI->getNumOperands() == 4 &&
3687
13
        MI->getOperand(0).isReg() &&
3688
13
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3689
13
        MI->getOperand(3).isImm() &&
3690
13
        MI->getOperand(3).getImm() == 8 &&
3691
13
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3692
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
3693
0
      AsmString = "mova %icc, $\x02, $\x01";
3694
0
      break;
3695
0
    }
3696
13
    if (MI->getNumOperands() == 4 &&
3697
13
        MI->getOperand(0).isReg() &&
3698
13
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3699
13
        MI->getOperand(3).isImm() &&
3700
13
        MI->getOperand(3).getImm() == 0 &&
3701
13
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3702
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
3703
0
      AsmString = "movn %icc, $\x02, $\x01";
3704
0
      break;
3705
0
    }
3706
13
    if (MI->getNumOperands() == 4 &&
3707
13
        MI->getOperand(0).isReg() &&
3708
13
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3709
13
        MI->getOperand(3).isImm() &&
3710
13
        MI->getOperand(3).getImm() == 9 &&
3711
13
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3712
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
3713
0
      AsmString = "movne %icc, $\x02, $\x01";
3714
0
      break;
3715
0
    }
3716
13
    if (MI->getNumOperands() == 4 &&
3717
13
        MI->getOperand(0).isReg() &&
3718
13
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3719
13
        MI->getOperand(3).isImm() &&
3720
13
        MI->getOperand(3).getImm() == 1 &&
3721
13
        
STI.getFeatureBits()[Sparc::FeatureV9]11
) {
3722
11
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
3723
11
      AsmString = "move %icc, $\x02, $\x01";
3724
11
      break;
3725
11
    }
3726
2
    if (MI->getNumOperands() == 4 &&
3727
2
        MI->getOperand(0).isReg() &&
3728
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3729
2
        MI->getOperand(3).isImm() &&
3730
2
        MI->getOperand(3).getImm() == 10 &&
3731
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3732
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
3733
0
      AsmString = "movg %icc, $\x02, $\x01";
3734
0
      break;
3735
0
    }
3736
2
    if (MI->getNumOperands() == 4 &&
3737
2
        MI->getOperand(0).isReg() &&
3738
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3739
2
        MI->getOperand(3).isImm() &&
3740
2
        MI->getOperand(3).getImm() == 2 &&
3741
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3742
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
3743
0
      AsmString = "movle %icc, $\x02, $\x01";
3744
0
      break;
3745
0
    }
3746
2
    if (MI->getNumOperands() == 4 &&
3747
2
        MI->getOperand(0).isReg() &&
3748
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3749
2
        MI->getOperand(3).isImm() &&
3750
2
        MI->getOperand(3).getImm() == 11 &&
3751
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3752
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
3753
0
      AsmString = "movge %icc, $\x02, $\x01";
3754
0
      break;
3755
0
    }
3756
2
    if (MI->getNumOperands() == 4 &&
3757
2
        MI->getOperand(0).isReg() &&
3758
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3759
2
        MI->getOperand(3).isImm() &&
3760
2
        MI->getOperand(3).getImm() == 3 &&
3761
2
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3762
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
3763
0
      AsmString = "movl %icc, $\x02, $\x01";
3764
0
      break;
3765
0
    }
3766
2
    if (MI->getNumOperands() == 4 &&
3767
2
        MI->getOperand(0).isReg() &&
3768
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3769
2
        MI->getOperand(3).isImm() &&
3770
2
        MI->getOperand(3).getImm() == 12 &&
3771
2
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3772
2
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
3773
2
      AsmString = "movgu %icc, $\x02, $\x01";
3774
2
      break;
3775
2
    }
3776
0
    if (MI->getNumOperands() == 4 &&
3777
0
        MI->getOperand(0).isReg() &&
3778
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3779
0
        MI->getOperand(3).isImm() &&
3780
0
        MI->getOperand(3).getImm() == 4 &&
3781
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3782
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
3783
0
      AsmString = "movleu %icc, $\x02, $\x01";
3784
0
      break;
3785
0
    }
3786
0
    if (MI->getNumOperands() == 4 &&
3787
0
        MI->getOperand(0).isReg() &&
3788
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3789
0
        MI->getOperand(3).isImm() &&
3790
0
        MI->getOperand(3).getImm() == 13 &&
3791
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3792
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
3793
0
      AsmString = "movcc %icc, $\x02, $\x01";
3794
0
      break;
3795
0
    }
3796
0
    if (MI->getNumOperands() == 4 &&
3797
0
        MI->getOperand(0).isReg() &&
3798
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3799
0
        MI->getOperand(3).isImm() &&
3800
0
        MI->getOperand(3).getImm() == 5 &&
3801
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3802
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
3803
0
      AsmString = "movcs %icc, $\x02, $\x01";
3804
0
      break;
3805
0
    }
3806
0
    if (MI->getNumOperands() == 4 &&
3807
0
        MI->getOperand(0).isReg() &&
3808
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3809
0
        MI->getOperand(3).isImm() &&
3810
0
        MI->getOperand(3).getImm() == 14 &&
3811
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3812
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
3813
0
      AsmString = "movpos %icc, $\x02, $\x01";
3814
0
      break;
3815
0
    }
3816
0
    if (MI->getNumOperands() == 4 &&
3817
0
        MI->getOperand(0).isReg() &&
3818
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3819
0
        MI->getOperand(3).isImm() &&
3820
0
        MI->getOperand(3).getImm() == 6 &&
3821
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3822
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
3823
0
      AsmString = "movneg %icc, $\x02, $\x01";
3824
0
      break;
3825
0
    }
3826
0
    if (MI->getNumOperands() == 4 &&
3827
0
        MI->getOperand(0).isReg() &&
3828
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3829
0
        MI->getOperand(3).isImm() &&
3830
0
        MI->getOperand(3).getImm() == 15 &&
3831
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3832
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
3833
0
      AsmString = "movvc %icc, $\x02, $\x01";
3834
0
      break;
3835
0
    }
3836
0
    if (MI->getNumOperands() == 4 &&
3837
0
        MI->getOperand(0).isReg() &&
3838
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3839
0
        MI->getOperand(3).isImm() &&
3840
0
        MI->getOperand(3).getImm() == 7 &&
3841
0
        STI.getFeatureBits()[Sparc::FeatureV9]) {
3842
0
      // (MOVICCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
3843
0
      AsmString = "movvs %icc, $\x02, $\x01";
3844
0
      break;
3845
0
    }
3846
0
    return false;
3847
19
  case SP::MOVICCrr:
3848
19
    if (MI->getNumOperands() == 4 &&
3849
19
        MI->getOperand(0).isReg() &&
3850
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3851
19
        MI->getOperand(1).isReg() &&
3852
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3853
19
        MI->getOperand(3).isImm() &&
3854
19
        MI->getOperand(3).getImm() == 8 &&
3855
19
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3856
0
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
3857
0
      AsmString = "mova %icc, $\x02, $\x01";
3858
0
      break;
3859
0
    }
3860
19
    if (MI->getNumOperands() == 4 &&
3861
19
        MI->getOperand(0).isReg() &&
3862
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3863
19
        MI->getOperand(1).isReg() &&
3864
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3865
19
        MI->getOperand(3).isImm() &&
3866
19
        MI->getOperand(3).getImm() == 0 &&
3867
19
        
STI.getFeatureBits()[Sparc::FeatureV9]0
) {
3868
0
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
3869
0
      AsmString = "movn %icc, $\x02, $\x01";
3870
0
      break;
3871
0
    }
3872
19
    if (MI->getNumOperands() == 4 &&
3873
19
        MI->getOperand(0).isReg() &&
3874
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3875
19
        MI->getOperand(1).isReg() &&
3876
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3877
19
        MI->getOperand(3).isImm() &&
3878
19
        MI->getOperand(3).getImm() == 9 &&
3879
19
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3880
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
3881
1
      AsmString = "movne %icc, $\x02, $\x01";
3882
1
      break;
3883
1
    }
3884
18
    if (MI->getNumOperands() == 4 &&
3885
18
        MI->getOperand(0).isReg() &&
3886
18
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3887
18
        MI->getOperand(1).isReg() &&
3888
18
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3889
18
        MI->getOperand(3).isImm() &&
3890
18
        MI->getOperand(3).getImm() == 1 &&
3891
18
        
STI.getFeatureBits()[Sparc::FeatureV9]4
) {
3892
4
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
3893
4
      AsmString = "move %icc, $\x02, $\x01";
3894
4
      break;
3895
4
    }
3896
14
    if (MI->getNumOperands() == 4 &&
3897
14
        MI->getOperand(0).isReg() &&
3898
14
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3899
14
        MI->getOperand(1).isReg() &&
3900
14
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3901
14
        MI->getOperand(3).isImm() &&
3902
14
        MI->getOperand(3).getImm() == 10 &&
3903
14
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
3904
2
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
3905
2
      AsmString = "movg %icc, $\x02, $\x01";
3906
2
      break;
3907
2
    }
3908
12
    if (MI->getNumOperands() == 4 &&
3909
12
        MI->getOperand(0).isReg() &&
3910
12
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3911
12
        MI->getOperand(1).isReg() &&
3912
12
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3913
12
        MI->getOperand(3).isImm() &&
3914
12
        MI->getOperand(3).getImm() == 2 &&
3915
12
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3916
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
3917
1
      AsmString = "movle %icc, $\x02, $\x01";
3918
1
      break;
3919
1
    }
3920
11
    if (MI->getNumOperands() == 4 &&
3921
11
        MI->getOperand(0).isReg() &&
3922
11
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3923
11
        MI->getOperand(1).isReg() &&
3924
11
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3925
11
        MI->getOperand(3).isImm() &&
3926
11
        MI->getOperand(3).getImm() == 11 &&
3927
11
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3928
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
3929
1
      AsmString = "movge %icc, $\x02, $\x01";
3930
1
      break;
3931
1
    }
3932
10
    if (MI->getNumOperands() == 4 &&
3933
10
        MI->getOperand(0).isReg() &&
3934
10
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3935
10
        MI->getOperand(1).isReg() &&
3936
10
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3937
10
        MI->getOperand(3).isImm() &&
3938
10
        MI->getOperand(3).getImm() == 3 &&
3939
10
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3940
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
3941
1
      AsmString = "movl %icc, $\x02, $\x01";
3942
1
      break;
3943
1
    }
3944
9
    if (MI->getNumOperands() == 4 &&
3945
9
        MI->getOperand(0).isReg() &&
3946
9
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3947
9
        MI->getOperand(1).isReg() &&
3948
9
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3949
9
        MI->getOperand(3).isImm() &&
3950
9
        MI->getOperand(3).getImm() == 12 &&
3951
9
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3952
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
3953
1
      AsmString = "movgu %icc, $\x02, $\x01";
3954
1
      break;
3955
1
    }
3956
8
    if (MI->getNumOperands() == 4 &&
3957
8
        MI->getOperand(0).isReg() &&
3958
8
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3959
8
        MI->getOperand(1).isReg() &&
3960
8
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3961
8
        MI->getOperand(3).isImm() &&
3962
8
        MI->getOperand(3).getImm() == 4 &&
3963
8
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
3964
2
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
3965
2
      AsmString = "movleu %icc, $\x02, $\x01";
3966
2
      break;
3967
2
    }
3968
6
    if (MI->getNumOperands() == 4 &&
3969
6
        MI->getOperand(0).isReg() &&
3970
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3971
6
        MI->getOperand(1).isReg() &&
3972
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3973
6
        MI->getOperand(3).isImm() &&
3974
6
        MI->getOperand(3).getImm() == 13 &&
3975
6
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3976
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
3977
1
      AsmString = "movcc %icc, $\x02, $\x01";
3978
1
      break;
3979
1
    }
3980
5
    if (MI->getNumOperands() == 4 &&
3981
5
        MI->getOperand(0).isReg() &&
3982
5
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3983
5
        MI->getOperand(1).isReg() &&
3984
5
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3985
5
        MI->getOperand(3).isImm() &&
3986
5
        MI->getOperand(3).getImm() == 5 &&
3987
5
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
3988
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
3989
1
      AsmString = "movcs %icc, $\x02, $\x01";
3990
1
      break;
3991
1
    }
3992
4
    if (MI->getNumOperands() == 4 &&
3993
4
        MI->getOperand(0).isReg() &&
3994
4
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
3995
4
        MI->getOperand(1).isReg() &&
3996
4
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
3997
4
        MI->getOperand(3).isImm() &&
3998
4
        MI->getOperand(3).getImm() == 14 &&
3999
4
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4000
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
4001
1
      AsmString = "movpos %icc, $\x02, $\x01";
4002
1
      break;
4003
1
    }
4004
3
    if (MI->getNumOperands() == 4 &&
4005
3
        MI->getOperand(0).isReg() &&
4006
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4007
3
        MI->getOperand(1).isReg() &&
4008
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4009
3
        MI->getOperand(3).isImm() &&
4010
3
        MI->getOperand(3).getImm() == 6 &&
4011
3
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4012
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
4013
1
      AsmString = "movneg %icc, $\x02, $\x01";
4014
1
      break;
4015
1
    }
4016
2
    if (MI->getNumOperands() == 4 &&
4017
2
        MI->getOperand(0).isReg() &&
4018
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4019
2
        MI->getOperand(1).isReg() &&
4020
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4021
2
        MI->getOperand(3).isImm() &&
4022
2
        MI->getOperand(3).getImm() == 15 &&
4023
2
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4024
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
4025
1
      AsmString = "movvc %icc, $\x02, $\x01";
4026
1
      break;
4027
1
    }
4028
1
    if (MI->getNumOperands() == 4 &&
4029
1
        MI->getOperand(0).isReg() &&
4030
1
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4031
1
        MI->getOperand(1).isReg() &&
4032
1
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4033
1
        MI->getOperand(3).isImm() &&
4034
1
        MI->getOperand(3).getImm() == 7 &&
4035
1
        STI.getFeatureBits()[Sparc::FeatureV9]) {
4036
1
      // (MOVICCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
4037
1
      AsmString = "movvs %icc, $\x02, $\x01";
4038
1
      break;
4039
1
    }
4040
0
    return false;
4041
16
  case SP::MOVXCCri:
4042
16
    if (MI->getNumOperands() == 4 &&
4043
16
        MI->getOperand(0).isReg() &&
4044
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4045
16
        MI->getOperand(3).isImm() &&
4046
16
        MI->getOperand(3).getImm() == 8) {
4047
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 0 })
4048
0
      AsmString = "mova %xcc, $\x02, $\x01";
4049
0
      break;
4050
0
    }
4051
16
    if (MI->getNumOperands() == 4 &&
4052
16
        MI->getOperand(0).isReg() &&
4053
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4054
16
        MI->getOperand(3).isImm() &&
4055
16
        MI->getOperand(3).getImm() == 0) {
4056
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 0 })
4057
0
      AsmString = "movn %xcc, $\x02, $\x01";
4058
0
      break;
4059
0
    }
4060
16
    if (MI->getNumOperands() == 4 &&
4061
16
        MI->getOperand(0).isReg() &&
4062
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4063
16
        MI->getOperand(3).isImm() &&
4064
16
        MI->getOperand(3).getImm() == 9) {
4065
5
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 0, 1 })
4066
5
      AsmString = "movne %xcc, $\x02, $\x01";
4067
5
      break;
4068
5
    }
4069
11
    if (MI->getNumOperands() == 4 &&
4070
11
        MI->getOperand(0).isReg() &&
4071
11
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4072
11
        MI->getOperand(3).isImm() &&
4073
11
        MI->getOperand(3).getImm() == 1) {
4074
4
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 0, 1 })
4075
4
      AsmString = "move %xcc, $\x02, $\x01";
4076
4
      break;
4077
4
    }
4078
7
    if (MI->getNumOperands() == 4 &&
4079
7
        MI->getOperand(0).isReg() &&
4080
7
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4081
7
        MI->getOperand(3).isImm() &&
4082
7
        MI->getOperand(3).getImm() == 10) {
4083
1
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 0 })
4084
1
      AsmString = "movg %xcc, $\x02, $\x01";
4085
1
      break;
4086
1
    }
4087
6
    if (MI->getNumOperands() == 4 &&
4088
6
        MI->getOperand(0).isReg() &&
4089
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4090
6
        MI->getOperand(3).isImm() &&
4091
6
        MI->getOperand(3).getImm() == 2) {
4092
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 0 })
4093
0
      AsmString = "movle %xcc, $\x02, $\x01";
4094
0
      break;
4095
0
    }
4096
6
    if (MI->getNumOperands() == 4 &&
4097
6
        MI->getOperand(0).isReg() &&
4098
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4099
6
        MI->getOperand(3).isImm() &&
4100
6
        MI->getOperand(3).getImm() == 11) {
4101
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 0, 1, 1 })
4102
0
      AsmString = "movge %xcc, $\x02, $\x01";
4103
0
      break;
4104
0
    }
4105
6
    if (MI->getNumOperands() == 4 &&
4106
6
        MI->getOperand(0).isReg() &&
4107
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4108
6
        MI->getOperand(3).isImm() &&
4109
6
        MI->getOperand(3).getImm() == 3) {
4110
2
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 0, 1, 1 })
4111
2
      AsmString = "movl %xcc, $\x02, $\x01";
4112
2
      break;
4113
2
    }
4114
4
    if (MI->getNumOperands() == 4 &&
4115
4
        MI->getOperand(0).isReg() &&
4116
4
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4117
4
        MI->getOperand(3).isImm() &&
4118
4
        MI->getOperand(3).getImm() == 12) {
4119
1
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 0 })
4120
1
      AsmString = "movgu %xcc, $\x02, $\x01";
4121
1
      break;
4122
1
    }
4123
3
    if (MI->getNumOperands() == 4 &&
4124
3
        MI->getOperand(0).isReg() &&
4125
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4126
3
        MI->getOperand(3).isImm() &&
4127
3
        MI->getOperand(3).getImm() == 4) {
4128
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 0 })
4129
0
      AsmString = "movleu %xcc, $\x02, $\x01";
4130
0
      break;
4131
0
    }
4132
3
    if (MI->getNumOperands() == 4 &&
4133
3
        MI->getOperand(0).isReg() &&
4134
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4135
3
        MI->getOperand(3).isImm() &&
4136
3
        MI->getOperand(3).getImm() == 13) {
4137
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 0, 1 })
4138
0
      AsmString = "movcc %xcc, $\x02, $\x01";
4139
0
      break;
4140
0
    }
4141
3
    if (MI->getNumOperands() == 4 &&
4142
3
        MI->getOperand(0).isReg() &&
4143
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4144
3
        MI->getOperand(3).isImm() &&
4145
3
        MI->getOperand(3).getImm() == 5) {
4146
3
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 0, 1 })
4147
3
      AsmString = "movcs %xcc, $\x02, $\x01";
4148
3
      break;
4149
3
    }
4150
0
    if (MI->getNumOperands() == 4 &&
4151
0
        MI->getOperand(0).isReg() &&
4152
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4153
0
        MI->getOperand(3).isImm() &&
4154
0
        MI->getOperand(3).getImm() == 14) {
4155
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 0 })
4156
0
      AsmString = "movpos %xcc, $\x02, $\x01";
4157
0
      break;
4158
0
    }
4159
0
    if (MI->getNumOperands() == 4 &&
4160
0
        MI->getOperand(0).isReg() &&
4161
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4162
0
        MI->getOperand(3).isImm() &&
4163
0
        MI->getOperand(3).getImm() == 6) {
4164
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 0 })
4165
0
      AsmString = "movneg %xcc, $\x02, $\x01";
4166
0
      break;
4167
0
    }
4168
0
    if (MI->getNumOperands() == 4 &&
4169
0
        MI->getOperand(0).isReg() &&
4170
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4171
0
        MI->getOperand(3).isImm() &&
4172
0
        MI->getOperand(3).getImm() == 15) {
4173
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 1, 1, 1, 1 })
4174
0
      AsmString = "movvc %xcc, $\x02, $\x01";
4175
0
      break;
4176
0
    }
4177
0
    if (MI->getNumOperands() == 4 &&
4178
0
        MI->getOperand(0).isReg() &&
4179
0
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4180
0
        MI->getOperand(3).isImm() &&
4181
0
        MI->getOperand(3).getImm() == 7) {
4182
0
      // (MOVXCCri IntRegs:$rd, i32imm:$simm11, { 0, 1, 1, 1 })
4183
0
      AsmString = "movvs %xcc, $\x02, $\x01";
4184
0
      break;
4185
0
    }
4186
0
    return false;
4187
17
  case SP::MOVXCCrr:
4188
17
    if (MI->getNumOperands() == 4 &&
4189
17
        MI->getOperand(0).isReg() &&
4190
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4191
17
        MI->getOperand(1).isReg() &&
4192
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4193
17
        MI->getOperand(3).isImm() &&
4194
17
        MI->getOperand(3).getImm() == 8) {
4195
0
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 0 })
4196
0
      AsmString = "mova %xcc, $\x02, $\x01";
4197
0
      break;
4198
0
    }
4199
17
    if (MI->getNumOperands() == 4 &&
4200
17
        MI->getOperand(0).isReg() &&
4201
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4202
17
        MI->getOperand(1).isReg() &&
4203
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4204
17
        MI->getOperand(3).isImm() &&
4205
17
        MI->getOperand(3).getImm() == 0) {
4206
0
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 0 })
4207
0
      AsmString = "movn %xcc, $\x02, $\x01";
4208
0
      break;
4209
0
    }
4210
17
    if (MI->getNumOperands() == 4 &&
4211
17
        MI->getOperand(0).isReg() &&
4212
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4213
17
        MI->getOperand(1).isReg() &&
4214
17
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4215
17
        MI->getOperand(3).isImm() &&
4216
17
        MI->getOperand(3).getImm() == 9) {
4217
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 0, 1 })
4218
1
      AsmString = "movne %xcc, $\x02, $\x01";
4219
1
      break;
4220
1
    }
4221
16
    if (MI->getNumOperands() == 4 &&
4222
16
        MI->getOperand(0).isReg() &&
4223
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4224
16
        MI->getOperand(1).isReg() &&
4225
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4226
16
        MI->getOperand(3).isImm() &&
4227
16
        MI->getOperand(3).getImm() == 1) {
4228
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 0, 1 })
4229
1
      AsmString = "move %xcc, $\x02, $\x01";
4230
1
      break;
4231
1
    }
4232
15
    if (MI->getNumOperands() == 4 &&
4233
15
        MI->getOperand(0).isReg() &&
4234
15
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4235
15
        MI->getOperand(1).isReg() &&
4236
15
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4237
15
        MI->getOperand(3).isImm() &&
4238
15
        MI->getOperand(3).getImm() == 10) {
4239
4
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 0 })
4240
4
      AsmString = "movg %xcc, $\x02, $\x01";
4241
4
      break;
4242
4
    }
4243
11
    if (MI->getNumOperands() == 4 &&
4244
11
        MI->getOperand(0).isReg() &&
4245
11
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4246
11
        MI->getOperand(1).isReg() &&
4247
11
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4248
11
        MI->getOperand(3).isImm() &&
4249
11
        MI->getOperand(3).getImm() == 2) {
4250
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 0 })
4251
1
      AsmString = "movle %xcc, $\x02, $\x01";
4252
1
      break;
4253
1
    }
4254
10
    if (MI->getNumOperands() == 4 &&
4255
10
        MI->getOperand(0).isReg() &&
4256
10
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4257
10
        MI->getOperand(1).isReg() &&
4258
10
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4259
10
        MI->getOperand(3).isImm() &&
4260
10
        MI->getOperand(3).getImm() == 11) {
4261
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 0, 1, 1 })
4262
1
      AsmString = "movge %xcc, $\x02, $\x01";
4263
1
      break;
4264
1
    }
4265
9
    if (MI->getNumOperands() == 4 &&
4266
9
        MI->getOperand(0).isReg() &&
4267
9
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4268
9
        MI->getOperand(1).isReg() &&
4269
9
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4270
9
        MI->getOperand(3).isImm() &&
4271
9
        MI->getOperand(3).getImm() == 3) {
4272
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 0, 1, 1 })
4273
1
      AsmString = "movl %xcc, $\x02, $\x01";
4274
1
      break;
4275
1
    }
4276
8
    if (MI->getNumOperands() == 4 &&
4277
8
        MI->getOperand(0).isReg() &&
4278
8
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4279
8
        MI->getOperand(1).isReg() &&
4280
8
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4281
8
        MI->getOperand(3).isImm() &&
4282
8
        MI->getOperand(3).getImm() == 12) {
4283
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 0 })
4284
1
      AsmString = "movgu %xcc, $\x02, $\x01";
4285
1
      break;
4286
1
    }
4287
7
    if (MI->getNumOperands() == 4 &&
4288
7
        MI->getOperand(0).isReg() &&
4289
7
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4290
7
        MI->getOperand(1).isReg() &&
4291
7
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4292
7
        MI->getOperand(3).isImm() &&
4293
7
        MI->getOperand(3).getImm() == 4) {
4294
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 0 })
4295
1
      AsmString = "movleu %xcc, $\x02, $\x01";
4296
1
      break;
4297
1
    }
4298
6
    if (MI->getNumOperands() == 4 &&
4299
6
        MI->getOperand(0).isReg() &&
4300
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4301
6
        MI->getOperand(1).isReg() &&
4302
6
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4303
6
        MI->getOperand(3).isImm() &&
4304
6
        MI->getOperand(3).getImm() == 13) {
4305
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 0, 1 })
4306
1
      AsmString = "movcc %xcc, $\x02, $\x01";
4307
1
      break;
4308
1
    }
4309
5
    if (MI->getNumOperands() == 4 &&
4310
5
        MI->getOperand(0).isReg() &&
4311
5
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4312
5
        MI->getOperand(1).isReg() &&
4313
5
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4314
5
        MI->getOperand(3).isImm() &&
4315
5
        MI->getOperand(3).getImm() == 5) {
4316
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 0, 1 })
4317
1
      AsmString = "movcs %xcc, $\x02, $\x01";
4318
1
      break;
4319
1
    }
4320
4
    if (MI->getNumOperands() == 4 &&
4321
4
        MI->getOperand(0).isReg() &&
4322
4
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4323
4
        MI->getOperand(1).isReg() &&
4324
4
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4325
4
        MI->getOperand(3).isImm() &&
4326
4
        MI->getOperand(3).getImm() == 14) {
4327
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 0 })
4328
1
      AsmString = "movpos %xcc, $\x02, $\x01";
4329
1
      break;
4330
1
    }
4331
3
    if (MI->getNumOperands() == 4 &&
4332
3
        MI->getOperand(0).isReg() &&
4333
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4334
3
        MI->getOperand(1).isReg() &&
4335
3
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4336
3
        MI->getOperand(3).isImm() &&
4337
3
        MI->getOperand(3).getImm() == 6) {
4338
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 0 })
4339
1
      AsmString = "movneg %xcc, $\x02, $\x01";
4340
1
      break;
4341
1
    }
4342
2
    if (MI->getNumOperands() == 4 &&
4343
2
        MI->getOperand(0).isReg() &&
4344
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4345
2
        MI->getOperand(1).isReg() &&
4346
2
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4347
2
        MI->getOperand(3).isImm() &&
4348
2
        MI->getOperand(3).getImm() == 15) {
4349
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 1, 1, 1, 1 })
4350
1
      AsmString = "movvc %xcc, $\x02, $\x01";
4351
1
      break;
4352
1
    }
4353
1
    if (MI->getNumOperands() == 4 &&
4354
1
        MI->getOperand(0).isReg() &&
4355
1
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4356
1
        MI->getOperand(1).isReg() &&
4357
1
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg()) &&
4358
1
        MI->getOperand(3).isImm() &&
4359
1
        MI->getOperand(3).getImm() == 7) {
4360
1
      // (MOVXCCrr IntRegs:$rd, IntRegs:$rs2, { 0, 1, 1, 1 })
4361
1
      AsmString = "movvs %xcc, $\x02, $\x01";
4362
1
      break;
4363
1
    }
4364
0
    return false;
4365
6
  case SP::ORCCrr:
4366
6
    if (MI->getNumOperands() == 3 &&
4367
6
        MI->getOperand(0).getReg() == Sparc::G0 &&
4368
6
        
MI->getOperand(1).isReg()4
&&
4369
6
        
MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(1).getReg())4
&&
4370
6
        
MI->getOperand(2).getReg() == Sparc::G04
) {
4371
4
      // (ORCCrr G0, IntRegs:$rs2, G0)
4372
4
      AsmString = "tst $\x02";
4373
4
      break;
4374
4
    }
4375
2
    return false;
4376
314
  case SP::ORri:
4377
314
    if (MI->getNumOperands() == 3 &&
4378
314
        MI->getOperand(0).isReg() &&
4379
314
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4380
314
        MI->getOperand(1).getReg() == Sparc::G0) {
4381
160
      // (ORri IntRegs:$rd, G0, i32imm:$simm13)
4382
160
      AsmString = "mov $\x03, $\x01";
4383
160
      break;
4384
160
    }
4385
154
    return false;
4386
1.06k
  case SP::ORrr:
4387
1.06k
    if (MI->getNumOperands() == 3 &&
4388
1.06k
        MI->getOperand(0).isReg() &&
4389
1.06k
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4390
1.06k
        MI->getOperand(1).getReg() == Sparc::G0 &&
4391
1.06k
        
MI->getOperand(2).isReg()916
&&
4392
1.06k
        
MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(2).getReg())916
) {
4393
916
      // (ORrr IntRegs:$rd, G0, IntRegs:$rs2)
4394
916
      AsmString = "mov $\x03, $\x01";
4395
916
      break;
4396
916
    }
4397
147
    return false;
4398
379
  case SP::RESTORErr:
4399
379
    if (MI->getNumOperands() == 3 &&
4400
379
        MI->getOperand(0).getReg() == Sparc::G0 &&
4401
379
        
MI->getOperand(1).getReg() == Sparc::G0294
&&
4402
379
        
MI->getOperand(2).getReg() == Sparc::G0294
) {
4403
294
      // (RESTORErr G0, G0, G0)
4404
294
      AsmString = "restore";
4405
294
      break;
4406
294
    }
4407
85
    return false;
4408
282
  case SP::RET:
4409
282
    if (MI->getNumOperands() == 1 &&
4410
282
        MI->getOperand(0).isImm() &&
4411
282
        MI->getOperand(0).getImm() == 8) {
4412
272
      // (RET 8)
4413
272
      AsmString = "ret";
4414
272
      break;
4415
272
    }
4416
10
    return false;
4417
418
  case SP::RETL:
4418
418
    if (MI->getNumOperands() == 1 &&
4419
418
        MI->getOperand(0).isImm() &&
4420
418
        MI->getOperand(0).getImm() == 8) {
4421
403
      // (RETL 8)
4422
403
      AsmString = "retl";
4423
403
      break;
4424
403
    }
4425
15
    return false;
4426
15
  case SP::SAVErr:
4427
6
    if (MI->getNumOperands() == 3 &&
4428
6
        MI->getOperand(0).getReg() == Sparc::G0 &&
4429
6
        
MI->getOperand(1).getReg() == Sparc::G04
&&
4430
6
        
MI->getOperand(2).getReg() == Sparc::G04
) {
4431
4
      // (SAVErr G0, G0, G0)
4432
4
      AsmString = "save";
4433
4
      break;
4434
4
    }
4435
2
    return false;
4436
41
  case SP::TICCri:
4437
41
    if (MI->getNumOperands() == 3 &&
4438
41
        MI->getOperand(0).getReg() == Sparc::G0 &&
4439
41
        
MI->getOperand(2).isImm()21
&&
4440
41
        
MI->getOperand(2).getImm() == 821
&&
4441
41
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4442
2
      // (TICCri G0, i32imm:$imm, { 1, 0, 0, 0 })
4443
2
      AsmString = "ta %icc, $\x02";
4444
2
      break;
4445
2
    }
4446
39
    if (MI->getNumOperands() == 3 &&
4447
39
        MI->getOperand(0).isReg() &&
4448
39
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4449
39
        MI->getOperand(2).isImm() &&
4450
39
        MI->getOperand(2).getImm() == 8 &&
4451
39
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4452
2
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 0 })
4453
2
      AsmString = "ta %icc, $\x01 + $\x02";
4454
2
      break;
4455
2
    }
4456
37
    if (MI->getNumOperands() == 3 &&
4457
37
        MI->getOperand(0).getReg() == Sparc::G0 &&
4458
37
        
MI->getOperand(2).isImm()19
&&
4459
37
        
MI->getOperand(2).getImm() == 019
&&
4460
37
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4461
1
      // (TICCri G0, i32imm:$imm, { 0, 0, 0, 0 })
4462
1
      AsmString = "tn %icc, $\x02";
4463
1
      break;
4464
1
    }
4465
36
    if (MI->getNumOperands() == 3 &&
4466
36
        MI->getOperand(0).isReg() &&
4467
36
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4468
36
        MI->getOperand(2).isImm() &&
4469
36
        MI->getOperand(2).getImm() == 0 &&
4470
36
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4471
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 0 })
4472
1
      AsmString = "tn %icc, $\x01 + $\x02";
4473
1
      break;
4474
1
    }
4475
35
    if (MI->getNumOperands() == 3 &&
4476
35
        MI->getOperand(0).getReg() == Sparc::G0 &&
4477
35
        
MI->getOperand(2).isImm()18
&&
4478
35
        
MI->getOperand(2).getImm() == 918
&&
4479
35
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4480
2
      // (TICCri G0, i32imm:$imm, { 1, 0, 0, 1 })
4481
2
      AsmString = "tne %icc, $\x02";
4482
2
      break;
4483
2
    }
4484
33
    if (MI->getNumOperands() == 3 &&
4485
33
        MI->getOperand(0).isReg() &&
4486
33
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4487
33
        MI->getOperand(2).isImm() &&
4488
33
        MI->getOperand(2).getImm() == 9 &&
4489
33
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4490
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 0, 1 })
4491
1
      AsmString = "tne %icc, $\x01 + $\x02";
4492
1
      break;
4493
1
    }
4494
32
    if (MI->getNumOperands() == 3 &&
4495
32
        MI->getOperand(0).getReg() == Sparc::G0 &&
4496
32
        
MI->getOperand(2).isImm()16
&&
4497
32
        
MI->getOperand(2).getImm() == 116
&&
4498
32
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4499
1
      // (TICCri G0, i32imm:$imm, { 0, 0, 0, 1 })
4500
1
      AsmString = "te %icc, $\x02";
4501
1
      break;
4502
1
    }
4503
31
    if (MI->getNumOperands() == 3 &&
4504
31
        MI->getOperand(0).isReg() &&
4505
31
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4506
31
        MI->getOperand(2).isImm() &&
4507
31
        MI->getOperand(2).getImm() == 1 &&
4508
31
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4509
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 0, 1 })
4510
1
      AsmString = "te %icc, $\x01 + $\x02";
4511
1
      break;
4512
1
    }
4513
30
    if (MI->getNumOperands() == 3 &&
4514
30
        MI->getOperand(0).getReg() == Sparc::G0 &&
4515
30
        
MI->getOperand(2).isImm()15
&&
4516
30
        
MI->getOperand(2).getImm() == 1015
&&
4517
30
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4518
1
      // (TICCri G0, i32imm:$imm, { 1, 0, 1, 0 })
4519
1
      AsmString = "tg %icc, $\x02";
4520
1
      break;
4521
1
    }
4522
29
    if (MI->getNumOperands() == 3 &&
4523
29
        MI->getOperand(0).isReg() &&
4524
29
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4525
29
        MI->getOperand(2).isImm() &&
4526
29
        MI->getOperand(2).getImm() == 10 &&
4527
29
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4528
2
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 0 })
4529
2
      AsmString = "tg %icc, $\x01 + $\x02";
4530
2
      break;
4531
2
    }
4532
27
    if (MI->getNumOperands() == 3 &&
4533
27
        MI->getOperand(0).getReg() == Sparc::G0 &&
4534
27
        
MI->getOperand(2).isImm()14
&&
4535
27
        
MI->getOperand(2).getImm() == 214
&&
4536
27
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4537
1
      // (TICCri G0, i32imm:$imm, { 0, 0, 1, 0 })
4538
1
      AsmString = "tle %icc, $\x02";
4539
1
      break;
4540
1
    }
4541
26
    if (MI->getNumOperands() == 3 &&
4542
26
        MI->getOperand(0).isReg() &&
4543
26
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4544
26
        MI->getOperand(2).isImm() &&
4545
26
        MI->getOperand(2).getImm() == 2 &&
4546
26
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4547
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 0 })
4548
1
      AsmString = "tle %icc, $\x01 + $\x02";
4549
1
      break;
4550
1
    }
4551
25
    if (MI->getNumOperands() == 3 &&
4552
25
        MI->getOperand(0).getReg() == Sparc::G0 &&
4553
25
        
MI->getOperand(2).isImm()13
&&
4554
25
        
MI->getOperand(2).getImm() == 1113
&&
4555
25
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4556
2
      // (TICCri G0, i32imm:$imm, { 1, 0, 1, 1 })
4557
2
      AsmString = "tge %icc, $\x02";
4558
2
      break;
4559
2
    }
4560
23
    if (MI->getNumOperands() == 3 &&
4561
23
        MI->getOperand(0).isReg() &&
4562
23
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4563
23
        MI->getOperand(2).isImm() &&
4564
23
        MI->getOperand(2).getImm() == 11 &&
4565
23
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4566
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 0, 1, 1 })
4567
1
      AsmString = "tge %icc, $\x01 + $\x02";
4568
1
      break;
4569
1
    }
4570
22
    if (MI->getNumOperands() == 3 &&
4571
22
        MI->getOperand(0).getReg() == Sparc::G0 &&
4572
22
        
MI->getOperand(2).isImm()11
&&
4573
22
        
MI->getOperand(2).getImm() == 311
&&
4574
22
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4575
1
      // (TICCri G0, i32imm:$imm, { 0, 0, 1, 1 })
4576
1
      AsmString = "tl %icc, $\x02";
4577
1
      break;
4578
1
    }
4579
21
    if (MI->getNumOperands() == 3 &&
4580
21
        MI->getOperand(0).isReg() &&
4581
21
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4582
21
        MI->getOperand(2).isImm() &&
4583
21
        MI->getOperand(2).getImm() == 3 &&
4584
21
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4585
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 0, 1, 1 })
4586
1
      AsmString = "tl %icc, $\x01 + $\x02";
4587
1
      break;
4588
1
    }
4589
20
    if (MI->getNumOperands() == 3 &&
4590
20
        MI->getOperand(0).getReg() == Sparc::G0 &&
4591
20
        
MI->getOperand(2).isImm()10
&&
4592
20
        
MI->getOperand(2).getImm() == 1210
&&
4593
20
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4594
1
      // (TICCri G0, i32imm:$imm, { 1, 1, 0, 0 })
4595
1
      AsmString = "tgu %icc, $\x02";
4596
1
      break;
4597
1
    }
4598
19
    if (MI->getNumOperands() == 3 &&
4599
19
        MI->getOperand(0).isReg() &&
4600
19
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4601
19
        MI->getOperand(2).isImm() &&
4602
19
        MI->getOperand(2).getImm() == 12 &&
4603
19
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4604
2
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 1, 1, 0, 0 })
4605
2
      AsmString = "tgu %icc, $\x01 + $\x02";
4606
2
      break;
4607
2
    }
4608
17
    if (MI->getNumOperands() == 3 &&
4609
17
        MI->getOperand(0).getReg() == Sparc::G0 &&
4610
17
        
MI->getOperand(2).isImm()9
&&
4611
17
        
MI->getOperand(2).getImm() == 49
&&
4612
17
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4613
1
      // (TICCri G0, i32imm:$imm, { 0, 1, 0, 0 })
4614
1
      AsmString = "tleu %icc, $\x02";
4615
1
      break;
4616
1
    }
4617
16
    if (MI->getNumOperands() == 3 &&
4618
16
        MI->getOperand(0).isReg() &&
4619
16
        MRI.getRegClass(Sparc::IntRegsRegClassID).contains(MI->getOperand(0).getReg()) &&
4620
16
        MI->getOperand(2).isImm() &&
4621
16
        MI->getOperand(2).getImm() == 4 &&
4622
16
        
STI.getFeatureBits()[Sparc::FeatureV9]1
) {
4623
1
      // (TICCri IntRegs:$rs1, i32imm:$imm, { 0, 1, 0, 0 })
4624
1
      AsmString = "tleu %icc, $\x01 + $\x02";
4625
1
      break;
4626
1
    }
4627
15
    if (MI->getNumOperands() == 3 &&
4628
15
        MI->getOperand(0).getReg() == Sparc::G0 &&
4629
15
        
MI->getOperand(2).isImm()8
&&
4630
15
        
MI->getOperand(2).getImm() == 138
&&
4631
15
        
STI.getFeatureBits()[Sparc::FeatureV9]2
) {
4632
2
      // (TICCri G0, i32imm:$imm, { 1, 1, 0, 1 })
4633
2
      AsmString = "tcc %icc, $\x02";
4634
<