Coverage Report

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