Coverage Report

Created: 2018-07-19 03:59

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