Coverage Report

Created: 2018-07-12 09:57

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/BPF/BPFGenAsmWriter.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
1.78k
void BPFInstPrinter::printInstruction(const MCInst *MI, raw_ostream &O) {
12
1.78k
  static const char AsmStrs[] = {
13
1.78k
  /* 0 */ 'l', 'e', 'a', 9, 0,
14
1.78k
  /* 5 */ 'l', 'd', '_', 'p', 's', 'e', 'u', 'd', 'o', 9, 0,
15
1.78k
  /* 16 */ 'n', 'o', 'p', 9, 0,
16
1.78k
  /* 21 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
17
1.78k
  /* 40 */ '#', 32, 'S', 'e', 'l', 'e', 'c', 't', 32, 'P', 'S', 'E', 'U', 'D', 'O', 32, 0,
18
1.78k
  /* 57 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
19
1.78k
  /* 74 */ 'i', 'f', 32, 0,
20
1.78k
  /* 78 */ 'c', 'a', 'l', 'l', 32, 0,
21
1.78k
  /* 84 */ 'g', 'o', 't', 'o', 32, 0,
22
1.78k
  /* 90 */ 'c', 'a', 'l', 'l', 'x', 32, 0,
23
1.78k
  /* 97 */ 'l', 'o', 'c', 'k', 32, '*', '(', 'u', '3', '2', 32, '*', ')', '(', 0,
24
1.78k
  /* 112 */ 'l', 'o', 'c', 'k', 32, '*', '(', 'u', '6', '4', 32, '*', ')', '(', 0,
25
1.78k
  /* 127 */ '*', '(', 'u', '1', '6', 32, '*', ')', '(', 0,
26
1.78k
  /* 137 */ '*', '(', 'u', '8', 32, '*', ')', '(', 0,
27
1.78k
  /* 146 */ '#', 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,
28
1.78k
  /* 177 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
29
1.78k
  /* 201 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
30
1.78k
  /* 226 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
31
1.78k
  /* 249 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
32
1.78k
  /* 272 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
33
1.78k
  /* 294 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
34
1.78k
  /* 307 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
35
1.78k
  /* 314 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
36
1.78k
  /* 324 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
37
1.78k
  /* 334 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
38
1.78k
  /* 349 */ 'r', '0', 32, '=', 32, '*', '(', 'u', '3', '2', 32, '*', ')', 's', 'k', 'b', '[', 0,
39
1.78k
  /* 367 */ 'r', '0', 32, '=', 32, '*', '(', 'u', '1', '6', 32, '*', ')', 's', 'k', 'b', '[', 0,
40
1.78k
  /* 385 */ 'r', '0', 32, '=', 32, '*', '(', 'u', '8', 32, '*', ')', 's', 'k', 'b', '[', 0,
41
1.78k
  /* 402 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
42
1.78k
  /* 416 */ 'e', 'x', 'i', 't', 0,
43
1.78k
  };
44
1.78k
45
1.78k
  static const uint16_t OpInfo0[] = {
46
1.78k
    0U, // PHI
47
1.78k
    0U, // INLINEASM
48
1.78k
    0U, // CFI_INSTRUCTION
49
1.78k
    0U, // EH_LABEL
50
1.78k
    0U, // GC_LABEL
51
1.78k
    0U, // ANNOTATION_LABEL
52
1.78k
    0U, // KILL
53
1.78k
    0U, // EXTRACT_SUBREG
54
1.78k
    0U, // INSERT_SUBREG
55
1.78k
    0U, // IMPLICIT_DEF
56
1.78k
    0U, // SUBREG_TO_REG
57
1.78k
    0U, // COPY_TO_REGCLASS
58
1.78k
    315U, // DBG_VALUE
59
1.78k
    325U, // DBG_LABEL
60
1.78k
    0U, // REG_SEQUENCE
61
1.78k
    0U, // COPY
62
1.78k
    308U, // BUNDLE
63
1.78k
    335U, // LIFETIME_START
64
1.78k
    295U, // LIFETIME_END
65
1.78k
    0U, // STACKMAP
66
1.78k
    403U, // FENTRY_CALL
67
1.78k
    0U, // PATCHPOINT
68
1.78k
    0U, // LOAD_STACK_GUARD
69
1.78k
    0U, // STATEPOINT
70
1.78k
    0U, // LOCAL_ESCAPE
71
1.78k
    0U, // FAULTING_OP
72
1.78k
    0U, // PATCHABLE_OP
73
1.78k
    227U, // PATCHABLE_FUNCTION_ENTER
74
1.78k
    147U, // PATCHABLE_RET
75
1.78k
    273U, // PATCHABLE_FUNCTION_EXIT
76
1.78k
    250U, // PATCHABLE_TAIL_CALL
77
1.78k
    202U, // PATCHABLE_EVENT_CALL
78
1.78k
    178U, // PATCHABLE_TYPED_EVENT_CALL
79
1.78k
    0U, // ICALL_BRANCH_FUNNEL
80
1.78k
    0U, // G_ADD
81
1.78k
    0U, // G_SUB
82
1.78k
    0U, // G_MUL
83
1.78k
    0U, // G_SDIV
84
1.78k
    0U, // G_UDIV
85
1.78k
    0U, // G_SREM
86
1.78k
    0U, // G_UREM
87
1.78k
    0U, // G_AND
88
1.78k
    0U, // G_OR
89
1.78k
    0U, // G_XOR
90
1.78k
    0U, // G_IMPLICIT_DEF
91
1.78k
    0U, // G_PHI
92
1.78k
    0U, // G_FRAME_INDEX
93
1.78k
    0U, // G_GLOBAL_VALUE
94
1.78k
    0U, // G_EXTRACT
95
1.78k
    0U, // G_UNMERGE_VALUES
96
1.78k
    0U, // G_INSERT
97
1.78k
    0U, // G_MERGE_VALUES
98
1.78k
    0U, // G_PTRTOINT
99
1.78k
    0U, // G_INTTOPTR
100
1.78k
    0U, // G_BITCAST
101
1.78k
    0U, // G_LOAD
102
1.78k
    0U, // G_SEXTLOAD
103
1.78k
    0U, // G_ZEXTLOAD
104
1.78k
    0U, // G_STORE
105
1.78k
    0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
106
1.78k
    0U, // G_ATOMIC_CMPXCHG
107
1.78k
    0U, // G_ATOMICRMW_XCHG
108
1.78k
    0U, // G_ATOMICRMW_ADD
109
1.78k
    0U, // G_ATOMICRMW_SUB
110
1.78k
    0U, // G_ATOMICRMW_AND
111
1.78k
    0U, // G_ATOMICRMW_NAND
112
1.78k
    0U, // G_ATOMICRMW_OR
113
1.78k
    0U, // G_ATOMICRMW_XOR
114
1.78k
    0U, // G_ATOMICRMW_MAX
115
1.78k
    0U, // G_ATOMICRMW_MIN
116
1.78k
    0U, // G_ATOMICRMW_UMAX
117
1.78k
    0U, // G_ATOMICRMW_UMIN
118
1.78k
    0U, // G_BRCOND
119
1.78k
    0U, // G_BRINDIRECT
120
1.78k
    0U, // G_INTRINSIC
121
1.78k
    0U, // G_INTRINSIC_W_SIDE_EFFECTS
122
1.78k
    0U, // G_ANYEXT
123
1.78k
    0U, // G_TRUNC
124
1.78k
    0U, // G_CONSTANT
125
1.78k
    0U, // G_FCONSTANT
126
1.78k
    0U, // G_VASTART
127
1.78k
    0U, // G_VAARG
128
1.78k
    0U, // G_SEXT
129
1.78k
    0U, // G_ZEXT
130
1.78k
    0U, // G_SHL
131
1.78k
    0U, // G_LSHR
132
1.78k
    0U, // G_ASHR
133
1.78k
    0U, // G_ICMP
134
1.78k
    0U, // G_FCMP
135
1.78k
    0U, // G_SELECT
136
1.78k
    0U, // G_UADDE
137
1.78k
    0U, // G_USUBE
138
1.78k
    0U, // G_SADDO
139
1.78k
    0U, // G_SSUBO
140
1.78k
    0U, // G_UMULO
141
1.78k
    0U, // G_SMULO
142
1.78k
    0U, // G_UMULH
143
1.78k
    0U, // G_SMULH
144
1.78k
    0U, // G_FADD
145
1.78k
    0U, // G_FSUB
146
1.78k
    0U, // G_FMUL
147
1.78k
    0U, // G_FMA
148
1.78k
    0U, // G_FDIV
149
1.78k
    0U, // G_FREM
150
1.78k
    0U, // G_FPOW
151
1.78k
    0U, // G_FEXP
152
1.78k
    0U, // G_FEXP2
153
1.78k
    0U, // G_FLOG
154
1.78k
    0U, // G_FLOG2
155
1.78k
    0U, // G_FNEG
156
1.78k
    0U, // G_FPEXT
157
1.78k
    0U, // G_FPTRUNC
158
1.78k
    0U, // G_FPTOSI
159
1.78k
    0U, // G_FPTOUI
160
1.78k
    0U, // G_SITOFP
161
1.78k
    0U, // G_UITOFP
162
1.78k
    0U, // G_FABS
163
1.78k
    0U, // G_GEP
164
1.78k
    0U, // G_PTR_MASK
165
1.78k
    0U, // G_BR
166
1.78k
    0U, // G_INSERT_VECTOR_ELT
167
1.78k
    0U, // G_EXTRACT_VECTOR_ELT
168
1.78k
    0U, // G_SHUFFLE_VECTOR
169
1.78k
    0U, // G_BSWAP
170
1.78k
    0U, // G_ADDRSPACE_CAST
171
1.78k
    534U, // ADJCALLSTACKDOWN
172
1.78k
    570U, // ADJCALLSTACKUP
173
1.78k
    4649U,  // Select
174
1.78k
    4649U,  // Select_32
175
1.78k
    4649U,  // Select_32_64
176
1.78k
    4649U,  // Select_64_32
177
1.78k
    4649U,  // Select_Ri
178
1.78k
    4649U,  // Select_Ri_32
179
1.78k
    4649U,  // Select_Ri_32_64
180
1.78k
    4649U,  // Select_Ri_64_32
181
1.78k
    8709U,  // ADD_ri
182
1.78k
    8709U,  // ADD_ri_32
183
1.78k
    8709U,  // ADD_rr
184
1.78k
    8709U,  // ADD_rr_32
185
1.78k
    12805U, // AND_ri
186
1.78k
    12805U, // AND_ri_32
187
1.78k
    12805U, // AND_rr
188
1.78k
    12805U, // AND_rr_32
189
1.78k
    16901U, // BE16
190
1.78k
    20997U, // BE32
191
1.78k
    25093U, // BE64
192
1.78k
    29189U, // DIV_ri
193
1.78k
    29189U, // DIV_ri_32
194
1.78k
    29189U, // DIV_rr
195
1.78k
    29189U, // DIV_rr_32
196
1.78k
    33281U, // FI_ri
197
1.78k
    37455U, // JAL
198
1.78k
    37467U, // JALX
199
1.78k
    41547U, // JEQ_ri
200
1.78k
    41547U, // JEQ_rr
201
1.78k
    1109U,  // JMP
202
1.78k
    45643U, // JNE_ri
203
1.78k
    45643U, // JNE_rr
204
1.78k
    49739U, // JSGE_ri
205
1.78k
    49739U, // JSGE_rr
206
1.78k
    53835U, // JSGT_ri
207
1.78k
    53835U, // JSGT_rr
208
1.78k
    57931U, // JSLE_ri
209
1.78k
    57931U, // JSLE_rr
210
1.78k
    62027U, // JSLT_ri
211
1.78k
    62027U, // JSLT_rr
212
1.78k
    587U, // JUGE_ri
213
1.78k
    587U, // JUGE_rr
214
1.78k
    4683U,  // JUGT_ri
215
1.78k
    4683U,  // JUGT_rr
216
1.78k
    8779U,  // JULE_ri
217
1.78k
    8779U,  // JULE_rr
218
1.78k
    12875U, // JULT_ri
219
1.78k
    12875U, // JULT_rr
220
1.78k
    16901U, // LDB
221
1.78k
    16901U, // LDB32
222
1.78k
    20997U, // LDD
223
1.78k
    25093U, // LDH
224
1.78k
    25093U, // LDH32
225
1.78k
    29189U, // LDW
226
1.78k
    29189U, // LDW32
227
1.78k
    1922U,  // LD_ABS_B
228
1.78k
    1904U,  // LD_ABS_H
229
1.78k
    1886U,  // LD_ABS_W
230
1.78k
    1922U,  // LD_IND_B
231
1.78k
    1904U,  // LD_IND_H
232
1.78k
    1886U,  // LD_IND_W
233
1.78k
    4613U,  // LD_imm64
234
1.78k
    33286U, // LD_pseudo
235
1.78k
    33285U, // LE16
236
1.78k
    37381U, // LE32
237
1.78k
    41477U, // LE64
238
1.78k
    4613U,  // MOV_32_64
239
1.78k
    4613U,  // MOV_ri
240
1.78k
    4613U,  // MOV_ri_32
241
1.78k
    4613U,  // MOV_rr
242
1.78k
    4613U,  // MOV_rr_32
243
1.78k
    45573U, // MUL_ri
244
1.78k
    45573U, // MUL_ri_32
245
1.78k
    45573U, // MUL_rr
246
1.78k
    45573U, // MUL_rr_32
247
1.78k
    49669U, // NEG_32
248
1.78k
    49669U, // NEG_64
249
1.78k
    37393U, // NOP
250
1.78k
    53765U, // OR_ri
251
1.78k
    53765U, // OR_ri_32
252
1.78k
    53765U, // OR_rr
253
1.78k
    53765U, // OR_rr_32
254
1.78k
    417U, // RET
255
1.78k
    57861U, // SLL_ri
256
1.78k
    57861U, // SLL_ri_32
257
1.78k
    57861U, // SLL_rr
258
1.78k
    57861U, // SLL_rr_32
259
1.78k
    61957U, // SRA_ri
260
1.78k
    61957U, // SRA_ri_32
261
1.78k
    61957U, // SRA_rr
262
1.78k
    61957U, // SRA_rr_32
263
1.78k
    517U, // SRL_ri
264
1.78k
    517U, // SRL_ri_32
265
1.78k
    517U, // SRL_rr
266
1.78k
    517U, // SRL_rr_32
267
1.78k
    6282U,  // STB
268
1.78k
    6282U,  // STB32
269
1.78k
    6262U,  // STD
270
1.78k
    6272U,  // STH
271
1.78k
    6272U,  // STH32
272
1.78k
    6247U,  // STW
273
1.78k
    6247U,  // STW32
274
1.78k
    8709U,  // SUB_ri
275
1.78k
    8709U,  // SUB_ri_32
276
1.78k
    8709U,  // SUB_rr
277
1.78k
    8709U,  // SUB_rr_32
278
1.78k
    14434U, // XADD32
279
1.78k
    14449U, // XADD64
280
1.78k
    16901U, // XOR_ri
281
1.78k
    16901U, // XOR_ri_32
282
1.78k
    16901U, // XOR_rr
283
1.78k
    16901U, // XOR_rr_32
284
1.78k
  };
285
1.78k
286
1.78k
  static const uint8_t OpInfo1[] = {
287
1.78k
    0U, // PHI
288
1.78k
    0U, // INLINEASM
289
1.78k
    0U, // CFI_INSTRUCTION
290
1.78k
    0U, // EH_LABEL
291
1.78k
    0U, // GC_LABEL
292
1.78k
    0U, // ANNOTATION_LABEL
293
1.78k
    0U, // KILL
294
1.78k
    0U, // EXTRACT_SUBREG
295
1.78k
    0U, // INSERT_SUBREG
296
1.78k
    0U, // IMPLICIT_DEF
297
1.78k
    0U, // SUBREG_TO_REG
298
1.78k
    0U, // COPY_TO_REGCLASS
299
1.78k
    0U, // DBG_VALUE
300
1.78k
    0U, // DBG_LABEL
301
1.78k
    0U, // REG_SEQUENCE
302
1.78k
    0U, // COPY
303
1.78k
    0U, // BUNDLE
304
1.78k
    0U, // LIFETIME_START
305
1.78k
    0U, // LIFETIME_END
306
1.78k
    0U, // STACKMAP
307
1.78k
    0U, // FENTRY_CALL
308
1.78k
    0U, // PATCHPOINT
309
1.78k
    0U, // LOAD_STACK_GUARD
310
1.78k
    0U, // STATEPOINT
311
1.78k
    0U, // LOCAL_ESCAPE
312
1.78k
    0U, // FAULTING_OP
313
1.78k
    0U, // PATCHABLE_OP
314
1.78k
    0U, // PATCHABLE_FUNCTION_ENTER
315
1.78k
    0U, // PATCHABLE_RET
316
1.78k
    0U, // PATCHABLE_FUNCTION_EXIT
317
1.78k
    0U, // PATCHABLE_TAIL_CALL
318
1.78k
    0U, // PATCHABLE_EVENT_CALL
319
1.78k
    0U, // PATCHABLE_TYPED_EVENT_CALL
320
1.78k
    0U, // ICALL_BRANCH_FUNNEL
321
1.78k
    0U, // G_ADD
322
1.78k
    0U, // G_SUB
323
1.78k
    0U, // G_MUL
324
1.78k
    0U, // G_SDIV
325
1.78k
    0U, // G_UDIV
326
1.78k
    0U, // G_SREM
327
1.78k
    0U, // G_UREM
328
1.78k
    0U, // G_AND
329
1.78k
    0U, // G_OR
330
1.78k
    0U, // G_XOR
331
1.78k
    0U, // G_IMPLICIT_DEF
332
1.78k
    0U, // G_PHI
333
1.78k
    0U, // G_FRAME_INDEX
334
1.78k
    0U, // G_GLOBAL_VALUE
335
1.78k
    0U, // G_EXTRACT
336
1.78k
    0U, // G_UNMERGE_VALUES
337
1.78k
    0U, // G_INSERT
338
1.78k
    0U, // G_MERGE_VALUES
339
1.78k
    0U, // G_PTRTOINT
340
1.78k
    0U, // G_INTTOPTR
341
1.78k
    0U, // G_BITCAST
342
1.78k
    0U, // G_LOAD
343
1.78k
    0U, // G_SEXTLOAD
344
1.78k
    0U, // G_ZEXTLOAD
345
1.78k
    0U, // G_STORE
346
1.78k
    0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS
347
1.78k
    0U, // G_ATOMIC_CMPXCHG
348
1.78k
    0U, // G_ATOMICRMW_XCHG
349
1.78k
    0U, // G_ATOMICRMW_ADD
350
1.78k
    0U, // G_ATOMICRMW_SUB
351
1.78k
    0U, // G_ATOMICRMW_AND
352
1.78k
    0U, // G_ATOMICRMW_NAND
353
1.78k
    0U, // G_ATOMICRMW_OR
354
1.78k
    0U, // G_ATOMICRMW_XOR
355
1.78k
    0U, // G_ATOMICRMW_MAX
356
1.78k
    0U, // G_ATOMICRMW_MIN
357
1.78k
    0U, // G_ATOMICRMW_UMAX
358
1.78k
    0U, // G_ATOMICRMW_UMIN
359
1.78k
    0U, // G_BRCOND
360
1.78k
    0U, // G_BRINDIRECT
361
1.78k
    0U, // G_INTRINSIC
362
1.78k
    0U, // G_INTRINSIC_W_SIDE_EFFECTS
363
1.78k
    0U, // G_ANYEXT
364
1.78k
    0U, // G_TRUNC
365
1.78k
    0U, // G_CONSTANT
366
1.78k
    0U, // G_FCONSTANT
367
1.78k
    0U, // G_VASTART
368
1.78k
    0U, // G_VAARG
369
1.78k
    0U, // G_SEXT
370
1.78k
    0U, // G_ZEXT
371
1.78k
    0U, // G_SHL
372
1.78k
    0U, // G_LSHR
373
1.78k
    0U, // G_ASHR
374
1.78k
    0U, // G_ICMP
375
1.78k
    0U, // G_FCMP
376
1.78k
    0U, // G_SELECT
377
1.78k
    0U, // G_UADDE
378
1.78k
    0U, // G_USUBE
379
1.78k
    0U, // G_SADDO
380
1.78k
    0U, // G_SSUBO
381
1.78k
    0U, // G_UMULO
382
1.78k
    0U, // G_SMULO
383
1.78k
    0U, // G_UMULH
384
1.78k
    0U, // G_SMULH
385
1.78k
    0U, // G_FADD
386
1.78k
    0U, // G_FSUB
387
1.78k
    0U, // G_FMUL
388
1.78k
    0U, // G_FMA
389
1.78k
    0U, // G_FDIV
390
1.78k
    0U, // G_FREM
391
1.78k
    0U, // G_FPOW
392
1.78k
    0U, // G_FEXP
393
1.78k
    0U, // G_FEXP2
394
1.78k
    0U, // G_FLOG
395
1.78k
    0U, // G_FLOG2
396
1.78k
    0U, // G_FNEG
397
1.78k
    0U, // G_FPEXT
398
1.78k
    0U, // G_FPTRUNC
399
1.78k
    0U, // G_FPTOSI
400
1.78k
    0U, // G_FPTOUI
401
1.78k
    0U, // G_SITOFP
402
1.78k
    0U, // G_UITOFP
403
1.78k
    0U, // G_FABS
404
1.78k
    0U, // G_GEP
405
1.78k
    0U, // G_PTR_MASK
406
1.78k
    0U, // G_BR
407
1.78k
    0U, // G_INSERT_VECTOR_ELT
408
1.78k
    0U, // G_EXTRACT_VECTOR_ELT
409
1.78k
    0U, // G_SHUFFLE_VECTOR
410
1.78k
    0U, // G_BSWAP
411
1.78k
    0U, // G_ADDRSPACE_CAST
412
1.78k
    0U, // ADJCALLSTACKDOWN
413
1.78k
    0U, // ADJCALLSTACKUP
414
1.78k
    0U, // Select
415
1.78k
    0U, // Select_32
416
1.78k
    0U, // Select_32_64
417
1.78k
    0U, // Select_64_32
418
1.78k
    0U, // Select_Ri
419
1.78k
    0U, // Select_Ri_32
420
1.78k
    0U, // Select_Ri_32_64
421
1.78k
    0U, // Select_Ri_64_32
422
1.78k
    0U, // ADD_ri
423
1.78k
    0U, // ADD_ri_32
424
1.78k
    0U, // ADD_rr
425
1.78k
    0U, // ADD_rr_32
426
1.78k
    0U, // AND_ri
427
1.78k
    0U, // AND_ri_32
428
1.78k
    0U, // AND_rr
429
1.78k
    0U, // AND_rr_32
430
1.78k
    0U, // BE16
431
1.78k
    0U, // BE32
432
1.78k
    0U, // BE64
433
1.78k
    0U, // DIV_ri
434
1.78k
    0U, // DIV_ri_32
435
1.78k
    0U, // DIV_rr
436
1.78k
    0U, // DIV_rr_32
437
1.78k
    4U, // FI_ri
438
1.78k
    0U, // JAL
439
1.78k
    0U, // JALX
440
1.78k
    0U, // JEQ_ri
441
1.78k
    0U, // JEQ_rr
442
1.78k
    0U, // JMP
443
1.78k
    0U, // JNE_ri
444
1.78k
    0U, // JNE_rr
445
1.78k
    0U, // JSGE_ri
446
1.78k
    0U, // JSGE_rr
447
1.78k
    0U, // JSGT_ri
448
1.78k
    0U, // JSGT_rr
449
1.78k
    0U, // JSLE_ri
450
1.78k
    0U, // JSLE_rr
451
1.78k
    0U, // JSLT_ri
452
1.78k
    0U, // JSLT_rr
453
1.78k
    1U, // JUGE_ri
454
1.78k
    1U, // JUGE_rr
455
1.78k
    1U, // JUGT_ri
456
1.78k
    1U, // JUGT_rr
457
1.78k
    1U, // JULE_ri
458
1.78k
    1U, // JULE_rr
459
1.78k
    1U, // JULT_ri
460
1.78k
    1U, // JULT_rr
461
1.78k
    1U, // LDB
462
1.78k
    1U, // LDB32
463
1.78k
    1U, // LDD
464
1.78k
    1U, // LDH
465
1.78k
    1U, // LDH32
466
1.78k
    1U, // LDW
467
1.78k
    1U, // LDW32
468
1.78k
    0U, // LD_ABS_B
469
1.78k
    0U, // LD_ABS_H
470
1.78k
    0U, // LD_ABS_W
471
1.78k
    0U, // LD_IND_B
472
1.78k
    0U, // LD_IND_H
473
1.78k
    0U, // LD_IND_W
474
1.78k
    8U, // LD_imm64
475
1.78k
    16U,  // LD_pseudo
476
1.78k
    1U, // LE16
477
1.78k
    1U, // LE32
478
1.78k
    1U, // LE64
479
1.78k
    32U,  // MOV_32_64
480
1.78k
    32U,  // MOV_ri
481
1.78k
    32U,  // MOV_ri_32
482
1.78k
    32U,  // MOV_rr
483
1.78k
    32U,  // MOV_rr_32
484
1.78k
    1U, // MUL_ri
485
1.78k
    1U, // MUL_ri_32
486
1.78k
    1U, // MUL_rr
487
1.78k
    1U, // MUL_rr_32
488
1.78k
    1U, // NEG_32
489
1.78k
    1U, // NEG_64
490
1.78k
    0U, // NOP
491
1.78k
    1U, // OR_ri
492
1.78k
    1U, // OR_ri_32
493
1.78k
    1U, // OR_rr
494
1.78k
    1U, // OR_rr_32
495
1.78k
    0U, // RET
496
1.78k
    1U, // SLL_ri
497
1.78k
    1U, // SLL_ri_32
498
1.78k
    1U, // SLL_rr
499
1.78k
    1U, // SLL_rr_32
500
1.78k
    1U, // SRA_ri
501
1.78k
    1U, // SRA_ri_32
502
1.78k
    1U, // SRA_rr
503
1.78k
    1U, // SRA_rr_32
504
1.78k
    2U, // SRL_ri
505
1.78k
    2U, // SRL_ri_32
506
1.78k
    2U, // SRL_rr
507
1.78k
    2U, // SRL_rr_32
508
1.78k
    2U, // STB
509
1.78k
    2U, // STB32
510
1.78k
    2U, // STD
511
1.78k
    2U, // STH
512
1.78k
    2U, // STH32
513
1.78k
    2U, // STW
514
1.78k
    2U, // STW32
515
1.78k
    2U, // SUB_ri
516
1.78k
    2U, // SUB_ri_32
517
1.78k
    2U, // SUB_rr
518
1.78k
    2U, // SUB_rr_32
519
1.78k
    2U, // XADD32
520
1.78k
    2U, // XADD64
521
1.78k
    2U, // XOR_ri
522
1.78k
    2U, // XOR_ri_32
523
1.78k
    2U, // XOR_rr
524
1.78k
    2U, // XOR_rr_32
525
1.78k
  };
526
1.78k
527
1.78k
  O << "\t";
528
1.78k
529
1.78k
  // Emit the opcode for the instruction.
530
1.78k
  uint32_t Bits = 0;
531
1.78k
  Bits |= OpInfo0[MI->getOpcode()] << 0;
532
1.78k
  Bits |= OpInfo1[MI->getOpcode()] << 16;
533
1.78k
  assert(Bits != 0 && "Cannot print this instruction.");
534
1.78k
  O << AsmStrs+(Bits & 511)-1;
535
1.78k
536
1.78k
537
1.78k
  // Fragment 0 encoded into 3 bits for 5 unique commands.
538
1.78k
  switch ((Bits >> 9) & 7) {
539
1.78k
  
default: 0
llvm_unreachable0
("Invalid command number.");
540
1.78k
  case 0:
541
200
    // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
542
200
    return;
543
1.78k
    
break0
;
544
1.78k
  case 1:
545
1.31k
    // ADJCALLSTACKDOWN, ADJCALLSTACKUP, Select, Select_32, Select_32_64, Sel...
546
1.31k
    printOperand(MI, 0, O);
547
1.31k
    break;
548
1.78k
  case 2:
549
21
    // JMP
550
21
    printBrTargetOperand(MI, 0, O);
551
21
    return;
552
1.78k
    
break0
;
553
1.78k
  case 3:
554
74
    // LD_ABS_B, LD_ABS_H, LD_ABS_W, LD_IND_B, LD_IND_H, LD_IND_W
555
74
    printOperand(MI, 1, O);
556
74
    O << ']';
557
74
    return;
558
1.78k
    
break0
;
559
1.78k
  case 4:
560
173
    // STB, STB32, STD, STH, STH32, STW, STW32, XADD32, XADD64
561
173
    printMemOperand(MI, 1, O);
562
173
    break;
563
1.48k
  }
564
1.48k
565
1.48k
566
1.48k
  // Fragment 1 encoded into 6 bits for 37 unique commands.
567
1.48k
  switch ((Bits >> 12) & 63) {
568
1.48k
  
default: 0
llvm_unreachable0
("Invalid command number.");
569
1.48k
  case 0:
570
0
    // ADJCALLSTACKDOWN, ADJCALLSTACKUP
571
0
    O << ' ';
572
0
    printOperand(MI, 1, O);
573
0
    return;
574
1.48k
    
break0
;
575
1.48k
  case 1:
576
562
    // Select, Select_32, Select_32_64, Select_64_32, Select_Ri, Select_Ri_32...
577
562
    O << " = ";
578
562
    break;
579
1.48k
  case 2:
580
122
    // ADD_ri, ADD_ri_32, ADD_rr, ADD_rr_32
581
122
    O << " += ";
582
122
    printOperand(MI, 2, O);
583
122
    return;
584
1.48k
    
break0
;
585
1.48k
  case 3:
586
70
    // AND_ri, AND_ri_32, AND_rr, AND_rr_32
587
70
    O << " &= ";
588
70
    printOperand(MI, 2, O);
589
70
    return;
590
1.48k
    
break0
;
591
1.48k
  case 4:
592
4
    // BE16
593
4
    O << " = be16 ";
594
4
    printOperand(MI, 1, O);
595
4
    return;
596
1.48k
    
break0
;
597
1.48k
  case 5:
598
4
    // BE32
599
4
    O << " = be32 ";
600
4
    printOperand(MI, 1, O);
601
4
    return;
602
1.48k
    
break0
;
603
1.48k
  case 6:
604
4
    // BE64
605
4
    O << " = be64 ";
606
4
    printOperand(MI, 1, O);
607
4
    return;
608
1.48k
    
break0
;
609
1.48k
  case 7:
610
11
    // DIV_ri, DIV_ri_32, DIV_rr, DIV_rr_32
611
11
    O << " /= ";
612
11
    printOperand(MI, 2, O);
613
11
    return;
614
1.48k
    
break0
;
615
1.48k
  case 8:
616
4
    // FI_ri, LD_pseudo
617
4
    O << ", ";
618
4
    break;
619
1.48k
  case 9:
620
45
    // JAL, JALX, NOP
621
45
    return;
622
1.48k
    
break0
;
623
1.48k
  case 10:
624
42
    // JEQ_ri, JEQ_rr
625
42
    O << " == ";
626
42
    printOperand(MI, 1, O);
627
42
    O << " goto ";
628
42
    printBrTargetOperand(MI, 2, O);
629
42
    return;
630
1.48k
    
break0
;
631
1.48k
  case 11:
632
33
    // JNE_ri, JNE_rr
633
33
    O << " != ";
634
33
    printOperand(MI, 1, O);
635
33
    O << " goto ";
636
33
    printBrTargetOperand(MI, 2, O);
637
33
    return;
638
1.48k
    
break0
;
639
1.48k
  case 12:
640
10
    // JSGE_ri, JSGE_rr
641
10
    O << " s>= ";
642
10
    printOperand(MI, 1, O);
643
10
    O << " goto ";
644
10
    printBrTargetOperand(MI, 2, O);
645
10
    return;
646
1.48k
    
break0
;
647
1.48k
  case 13:
648
17
    // JSGT_ri, JSGT_rr
649
17
    O << " s> ";
650
17
    printOperand(MI, 1, O);
651
17
    O << " goto ";
652
17
    printBrTargetOperand(MI, 2, O);
653
17
    return;
654
1.48k
    
break0
;
655
1.48k
  case 14:
656
5
    // JSLE_ri, JSLE_rr
657
5
    O << " s<= ";
658
5
    printOperand(MI, 1, O);
659
5
    O << " goto ";
660
5
    printBrTargetOperand(MI, 2, O);
661
5
    return;
662
1.48k
    
break0
;
663
1.48k
  case 15:
664
6
    // JSLT_ri, JSLT_rr
665
6
    O << " s< ";
666
6
    printOperand(MI, 1, O);
667
6
    O << " goto ";
668
6
    printBrTargetOperand(MI, 2, O);
669
6
    return;
670
1.48k
    
break0
;
671
1.48k
  case 16:
672
7
    // JUGE_ri, JUGE_rr
673
7
    O << " >= ";
674
7
    printOperand(MI, 1, O);
675
7
    O << " goto ";
676
7
    printBrTargetOperand(MI, 2, O);
677
7
    return;
678
1.48k
    
break0
;
679
1.48k
  case 17:
680
14
    // JUGT_ri, JUGT_rr
681
14
    O << " > ";
682
14
    printOperand(MI, 1, O);
683
14
    O << " goto ";
684
14
    printBrTargetOperand(MI, 2, O);
685
14
    return;
686
1.48k
    
break0
;
687
1.48k
  case 18:
688
5
    // JULE_ri, JULE_rr
689
5
    O << " <= ";
690
5
    printOperand(MI, 1, O);
691
5
    O << " goto ";
692
5
    printBrTargetOperand(MI, 2, O);
693
5
    return;
694
1.48k
    
break0
;
695
1.48k
  case 19:
696
6
    // JULT_ri, JULT_rr
697
6
    O << " < ";
698
6
    printOperand(MI, 1, O);
699
6
    O << " goto ";
700
6
    printBrTargetOperand(MI, 2, O);
701
6
    return;
702
1.48k
    
break0
;
703
1.48k
  case 20:
704
13
    // LDB, LDB32
705
13
    O << " = *(u8 *)(";
706
13
    printMemOperand(MI, 1, O);
707
13
    O << ')';
708
13
    return;
709
1.48k
    
break0
;
710
1.48k
  case 21:
711
34
    // LDD
712
34
    O << " = *(u64 *)(";
713
34
    printMemOperand(MI, 1, O);
714
34
    O << ')';
715
34
    return;
716
1.48k
    
break0
;
717
1.48k
  case 22:
718
15
    // LDH, LDH32
719
15
    O << " = *(u16 *)(";
720
15
    printMemOperand(MI, 1, O);
721
15
    O << ')';
722
15
    return;
723
1.48k
    
break0
;
724
1.48k
  case 23:
725
25
    // LDW, LDW32
726
25
    O << " = *(u32 *)(";
727
25
    printMemOperand(MI, 1, O);
728
25
    O << ')';
729
25
    return;
730
1.48k
    
break0
;
731
1.48k
  case 24:
732
2
    // LE16
733
2
    O << " = le16 ";
734
2
    printOperand(MI, 1, O);
735
2
    return;
736
1.48k
    
break0
;
737
1.48k
  case 25:
738
2
    // LE32
739
2
    O << " = le32 ";
740
2
    printOperand(MI, 1, O);
741
2
    return;
742
1.48k
    
break0
;
743
1.48k
  case 26:
744
2
    // LE64
745
2
    O << " = le64 ";
746
2
    printOperand(MI, 1, O);
747
2
    return;
748
1.48k
    
break0
;
749
1.48k
  case 27:
750
18
    // MUL_ri, MUL_ri_32, MUL_rr, MUL_rr_32
751
18
    O << " *= ";
752
18
    printOperand(MI, 2, O);
753
18
    return;
754
1.48k
    
break0
;
755
1.48k
  case 28:
756
6
    // NEG_32, NEG_64
757
6
    O << " = -";
758
6
    printOperand(MI, 1, O);
759
6
    return;
760
1.48k
    
break0
;
761
1.48k
  case 29:
762
15
    // OR_ri, OR_ri_32, OR_rr, OR_rr_32
763
15
    O << " |= ";
764
15
    printOperand(MI, 2, O);
765
15
    return;
766
1.48k
    
break0
;
767
1.48k
  case 30:
768
89
    // SLL_ri, SLL_ri_32, SLL_rr, SLL_rr_32
769
89
    O << " <<= ";
770
89
    printOperand(MI, 2, O);
771
89
    return;
772
1.48k
    
break0
;
773
1.48k
  case 31:
774
57
    // SRA_ri, SRA_ri_32, SRA_rr, SRA_rr_32
775
57
    O << " s>>= ";
776
57
    printOperand(MI, 2, O);
777
57
    return;
778
1.48k
    
break0
;
779
1.48k
  case 32:
780
30
    // SRL_ri, SRL_ri_32, SRL_rr, SRL_rr_32
781
30
    O << " >>= ";
782
30
    printOperand(MI, 2, O);
783
30
    return;
784
1.48k
    
break0
;
785
1.48k
  case 33:
786
164
    // STB, STB32, STD, STH, STH32, STW, STW32
787
164
    O << ") = ";
788
164
    printOperand(MI, 0, O);
789
164
    return;
790
1.48k
    
break0
;
791
1.48k
  case 34:
792
12
    // SUB_ri, SUB_ri_32, SUB_rr, SUB_rr_32
793
12
    O << " -= ";
794
12
    printOperand(MI, 2, O);
795
12
    return;
796
1.48k
    
break0
;
797
1.48k
  case 35:
798
9
    // XADD32, XADD64
799
9
    O << ") += ";
800
9
    printOperand(MI, 3, O);
801
9
    return;
802
1.48k
    
break0
;
803
1.48k
  case 36:
804
22
    // XOR_ri, XOR_ri_32, XOR_rr, XOR_rr_32
805
22
    O << " ^= ";
806
22
    printOperand(MI, 2, O);
807
22
    return;
808
1.48k
    
break0
;
809
566
  }
810
566
811
566
812
566
  // Fragment 2 encoded into 2 bits for 3 unique commands.
813
566
  switch ((Bits >> 18) & 3) {
814
566
  
default: 0
llvm_unreachable0
("Invalid command number.");
815
566
  case 0:
816
489
    // Select, Select_32, Select_32_64, Select_64_32, Select_Ri, Select_Ri_32...
817
489
    printOperand(MI, 1, O);
818
489
    break;
819
566
  case 1:
820
0
    // FI_ri
821
0
    printMemOperand(MI, 1, O);
822
0
    return;
823
566
    
break0
;
824
566
  case 2:
825
77
    // LD_imm64
826
77
    printImm64Operand(MI, 1, O);
827
77
    O << " ll";
828
77
    return;
829
566
    
break0
;
830
489
  }
831
489
832
489
833
489
  // Fragment 3 encoded into 2 bits for 3 unique commands.
834
489
  switch ((Bits >> 20) & 3) {
835
489
  
default: 0
llvm_unreachable0
("Invalid command number.");
836
489
  case 0:
837
0
    // Select, Select_32, Select_32_64, Select_64_32, Select_Ri, Select_Ri_32...
838
0
    O << ' ';
839
0
    printOperand(MI, 3, O);
840
0
    O << ' ';
841
0
    printOperand(MI, 2, O);
842
0
    O << " ? ";
843
0
    printOperand(MI, 4, O);
844
0
    O << " : ";
845
0
    printOperand(MI, 5, O);
846
0
    return;
847
489
    
break0
;
848
489
  case 1:
849
4
    // LD_pseudo
850
4
    O << ", ";
851
4
    printImm64Operand(MI, 2, O);
852
4
    return;
853
489
    
break0
;
854
489
  case 2:
855
485
    // MOV_32_64, MOV_ri, MOV_ri_32, MOV_rr, MOV_rr_32
856
485
    return;
857
489
    
break0
;
858
489
  }
859
489
860
489
}
861
862
863
/// getRegisterName - This method is automatically generated by tblgen
864
/// from the register set description.  This returns the assembler name
865
/// for the specified register.
866
2.29k
const char *BPFInstPrinter::getRegisterName(unsigned RegNo) {
867
2.29k
  assert(RegNo && RegNo < 25 && "Invalid register number!");
868
2.29k
869
2.29k
  static const char AsmStrs[] = {
870
2.29k
  /* 0 */ 'r', '1', '0', 0,
871
2.29k
  /* 4 */ 'w', '1', '0', 0,
872
2.29k
  /* 8 */ 'r', '0', 0,
873
2.29k
  /* 11 */ 'w', '0', 0,
874
2.29k
  /* 14 */ 'r', '1', '1', 0,
875
2.29k
  /* 18 */ 'w', '1', '1', 0,
876
2.29k
  /* 22 */ 'r', '1', 0,
877
2.29k
  /* 25 */ 'w', '1', 0,
878
2.29k
  /* 28 */ 'r', '2', 0,
879
2.29k
  /* 31 */ 'w', '2', 0,
880
2.29k
  /* 34 */ 'r', '3', 0,
881
2.29k
  /* 37 */ 'w', '3', 0,
882
2.29k
  /* 40 */ 'r', '4', 0,
883
2.29k
  /* 43 */ 'w', '4', 0,
884
2.29k
  /* 46 */ 'r', '5', 0,
885
2.29k
  /* 49 */ 'w', '5', 0,
886
2.29k
  /* 52 */ 'r', '6', 0,
887
2.29k
  /* 55 */ 'w', '6', 0,
888
2.29k
  /* 58 */ 'r', '7', 0,
889
2.29k
  /* 61 */ 'w', '7', 0,
890
2.29k
  /* 64 */ 'r', '8', 0,
891
2.29k
  /* 67 */ 'w', '8', 0,
892
2.29k
  /* 70 */ 'r', '9', 0,
893
2.29k
  /* 73 */ 'w', '9', 0,
894
2.29k
  };
895
2.29k
896
2.29k
  static const uint8_t RegAsmOffset[] = {
897
2.29k
    8, 22, 28, 34, 40, 46, 52, 58, 64, 70, 0, 14, 11, 25, 
898
2.29k
    31, 37, 43, 49, 55, 61, 67, 73, 4, 18, 
899
2.29k
  };
900
2.29k
901
2.29k
  assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
902
2.29k
          "Invalid alt name index for register!");
903
2.29k
  return AsmStrs+RegAsmOffset[RegNo-1];
904
2.29k
}
905
906
#ifdef PRINT_ALIAS_INSTR
907
#undef PRINT_ALIAS_INSTR
908
909
bool BPFInstPrinter::printAliasInstr(const MCInst *MI, raw_ostream &OS) {
910
  return false;
911
}
912
913
#endif // PRINT_ALIAS_INSTR