1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Machine Code Emitter *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t SPIRVMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10 SmallVectorImpl<MCFixup> &Fixups,
11 const MCSubtargetInfo &STI) const {
12 static const uint64_t InstBits[] = {
13 UINT64_C(0),
14 UINT64_C(0),
15 UINT64_C(0),
16 UINT64_C(0),
17 UINT64_C(0),
18 UINT64_C(0),
19 UINT64_C(0),
20 UINT64_C(0),
21 UINT64_C(0),
22 UINT64_C(0),
23 UINT64_C(0),
24 UINT64_C(0),
25 UINT64_C(0),
26 UINT64_C(0),
27 UINT64_C(0),
28 UINT64_C(0),
29 UINT64_C(0),
30 UINT64_C(0),
31 UINT64_C(0),
32 UINT64_C(0),
33 UINT64_C(0),
34 UINT64_C(0),
35 UINT64_C(0),
36 UINT64_C(0),
37 UINT64_C(0),
38 UINT64_C(0),
39 UINT64_C(0),
40 UINT64_C(0),
41 UINT64_C(0),
42 UINT64_C(0),
43 UINT64_C(0),
44 UINT64_C(0),
45 UINT64_C(0),
46 UINT64_C(0),
47 UINT64_C(0),
48 UINT64_C(0),
49 UINT64_C(0),
50 UINT64_C(0),
51 UINT64_C(0),
52 UINT64_C(0),
53 UINT64_C(0),
54 UINT64_C(0),
55 UINT64_C(0),
56 UINT64_C(0),
57 UINT64_C(0),
58 UINT64_C(0),
59 UINT64_C(0),
60 UINT64_C(0),
61 UINT64_C(0),
62 UINT64_C(0),
63 UINT64_C(0),
64 UINT64_C(0),
65 UINT64_C(0),
66 UINT64_C(0),
67 UINT64_C(0),
68 UINT64_C(0),
69 UINT64_C(0),
70 UINT64_C(0),
71 UINT64_C(0),
72 UINT64_C(0),
73 UINT64_C(0),
74 UINT64_C(0),
75 UINT64_C(0),
76 UINT64_C(0),
77 UINT64_C(0),
78 UINT64_C(0),
79 UINT64_C(0),
80 UINT64_C(0),
81 UINT64_C(0),
82 UINT64_C(0),
83 UINT64_C(0),
84 UINT64_C(0),
85 UINT64_C(0),
86 UINT64_C(0),
87 UINT64_C(0),
88 UINT64_C(0),
89 UINT64_C(0),
90 UINT64_C(0),
91 UINT64_C(0),
92 UINT64_C(0),
93 UINT64_C(0),
94 UINT64_C(0),
95 UINT64_C(0),
96 UINT64_C(0),
97 UINT64_C(0),
98 UINT64_C(0),
99 UINT64_C(0),
100 UINT64_C(0),
101 UINT64_C(0),
102 UINT64_C(0),
103 UINT64_C(0),
104 UINT64_C(0),
105 UINT64_C(0),
106 UINT64_C(0),
107 UINT64_C(0),
108 UINT64_C(0),
109 UINT64_C(0),
110 UINT64_C(0),
111 UINT64_C(0),
112 UINT64_C(0),
113 UINT64_C(0),
114 UINT64_C(0),
115 UINT64_C(0),
116 UINT64_C(0),
117 UINT64_C(0),
118 UINT64_C(0),
119 UINT64_C(0),
120 UINT64_C(0),
121 UINT64_C(0),
122 UINT64_C(0),
123 UINT64_C(0),
124 UINT64_C(0),
125 UINT64_C(0),
126 UINT64_C(0),
127 UINT64_C(0),
128 UINT64_C(0),
129 UINT64_C(0),
130 UINT64_C(0),
131 UINT64_C(0),
132 UINT64_C(0),
133 UINT64_C(0),
134 UINT64_C(0),
135 UINT64_C(0),
136 UINT64_C(0),
137 UINT64_C(0),
138 UINT64_C(0),
139 UINT64_C(0),
140 UINT64_C(0),
141 UINT64_C(0),
142 UINT64_C(0),
143 UINT64_C(0),
144 UINT64_C(0),
145 UINT64_C(0),
146 UINT64_C(0),
147 UINT64_C(0),
148 UINT64_C(0),
149 UINT64_C(0),
150 UINT64_C(0),
151 UINT64_C(0),
152 UINT64_C(0),
153 UINT64_C(0),
154 UINT64_C(0),
155 UINT64_C(0),
156 UINT64_C(0),
157 UINT64_C(0),
158 UINT64_C(0),
159 UINT64_C(0),
160 UINT64_C(0),
161 UINT64_C(0),
162 UINT64_C(0),
163 UINT64_C(0),
164 UINT64_C(0),
165 UINT64_C(0),
166 UINT64_C(0),
167 UINT64_C(0),
168 UINT64_C(0),
169 UINT64_C(0),
170 UINT64_C(0),
171 UINT64_C(0),
172 UINT64_C(0),
173 UINT64_C(0),
174 UINT64_C(0),
175 UINT64_C(0),
176 UINT64_C(0),
177 UINT64_C(0),
178 UINT64_C(0),
179 UINT64_C(0),
180 UINT64_C(0),
181 UINT64_C(0),
182 UINT64_C(0),
183 UINT64_C(0),
184 UINT64_C(0),
185 UINT64_C(0),
186 UINT64_C(0),
187 UINT64_C(0),
188 UINT64_C(0),
189 UINT64_C(0),
190 UINT64_C(0),
191 UINT64_C(0),
192 UINT64_C(0),
193 UINT64_C(0),
194 UINT64_C(0),
195 UINT64_C(0),
196 UINT64_C(0),
197 UINT64_C(0),
198 UINT64_C(0),
199 UINT64_C(0),
200 UINT64_C(0),
201 UINT64_C(0),
202 UINT64_C(0),
203 UINT64_C(0),
204 UINT64_C(0),
205 UINT64_C(0),
206 UINT64_C(0),
207 UINT64_C(0),
208 UINT64_C(0),
209 UINT64_C(0),
210 UINT64_C(0),
211 UINT64_C(0),
212 UINT64_C(0),
213 UINT64_C(0),
214 UINT64_C(0),
215 UINT64_C(0),
216 UINT64_C(0),
217 UINT64_C(0),
218 UINT64_C(0),
219 UINT64_C(0),
220 UINT64_C(0),
221 UINT64_C(0),
222 UINT64_C(0),
223 UINT64_C(0),
224 UINT64_C(0),
225 UINT64_C(0),
226 UINT64_C(0),
227 UINT64_C(0),
228 UINT64_C(0),
229 UINT64_C(0),
230 UINT64_C(0),
231 UINT64_C(0),
232 UINT64_C(0),
233 UINT64_C(0),
234 UINT64_C(0),
235 UINT64_C(0),
236 UINT64_C(0),
237 UINT64_C(0),
238 UINT64_C(0),
239 UINT64_C(0),
240 UINT64_C(0),
241 UINT64_C(0),
242 UINT64_C(0),
243 UINT64_C(0),
244 UINT64_C(0),
245 UINT64_C(0),
246 UINT64_C(0),
247 UINT64_C(0),
248 UINT64_C(0),
249 UINT64_C(0),
250 UINT64_C(0),
251 UINT64_C(0),
252 UINT64_C(0),
253 UINT64_C(0),
254 UINT64_C(0),
255 UINT64_C(0),
256 UINT64_C(0),
257 UINT64_C(0),
258 UINT64_C(0),
259 UINT64_C(0),
260 UINT64_C(0),
261 UINT64_C(0),
262 UINT64_C(0),
263 UINT64_C(0),
264 UINT64_C(0),
265 UINT64_C(0),
266 UINT64_C(0),
267 UINT64_C(0),
268 UINT64_C(0),
269 UINT64_C(0),
270 UINT64_C(0),
271 UINT64_C(0),
272 UINT64_C(0),
273 UINT64_C(0),
274 UINT64_C(0),
275 UINT64_C(0),
276 UINT64_C(0),
277 UINT64_C(0),
278 UINT64_C(0),
279 UINT64_C(0),
280 UINT64_C(0),
281 UINT64_C(0),
282 UINT64_C(0),
283 UINT64_C(0),
284 UINT64_C(0),
285 UINT64_C(0),
286 UINT64_C(0),
287 UINT64_C(0),
288 UINT64_C(0),
289 UINT64_C(0),
290 UINT64_C(0),
291 UINT64_C(0),
292 UINT64_C(0),
293 UINT64_C(0),
294 UINT64_C(0),
295 UINT64_C(0),
296 UINT64_C(0),
297 UINT64_C(0),
298 UINT64_C(0),
299 UINT64_C(0),
300 UINT64_C(0),
301 UINT64_C(0),
302 UINT64_C(0),
303 UINT64_C(0),
304 UINT64_C(0),
305 UINT64_C(0),
306 UINT64_C(0),
307 UINT64_C(0),
308 UINT64_C(0),
309 UINT64_C(0),
310 UINT64_C(0),
311 UINT64_C(0),
312 UINT64_C(0),
313 UINT64_C(0),
314 UINT64_C(0),
315 UINT64_C(0),
316 UINT64_C(0),
317 UINT64_C(0),
318 UINT64_C(0),
319 UINT64_C(0),
320 UINT64_C(0),
321 UINT64_C(0),
322 UINT64_C(0),
323 UINT64_C(0),
324 UINT64_C(0),
325 UINT64_C(65), // OpAccessChain
326 UINT64_C(5911), // OpAliasDomainDeclINTEL
327 UINT64_C(5912), // OpAliasScopeDeclINTEL
328 UINT64_C(5913), // OpAliasScopeListDeclINTEL
329 UINT64_C(155), // OpAll
330 UINT64_C(154), // OpAny
331 UINT64_C(6145), // OpArithmeticFenceEXT
332 UINT64_C(68), // OpArrayLength
333 UINT64_C(5611), // OpAsmCallINTEL
334 UINT64_C(5610), // OpAsmINTEL
335 UINT64_C(5609), // OpAsmTargetINTEL
336 UINT64_C(5630), // OpAssumeTrueKHR
337 UINT64_C(240), // OpAtomicAnd
338 UINT64_C(230), // OpAtomicCompareExchange
339 UINT64_C(231), // OpAtomicCompareExchangeWeak
340 UINT64_C(229), // OpAtomicExchange
341 UINT64_C(6035), // OpAtomicFAddEXT
342 UINT64_C(5615), // OpAtomicFMaxEXT
343 UINT64_C(5614), // OpAtomicFMinEXT
344 UINT64_C(319), // OpAtomicFlagClear
345 UINT64_C(318), // OpAtomicFlagTestAndSet
346 UINT64_C(234), // OpAtomicIAdd
347 UINT64_C(233), // OpAtomicIDecrement
348 UINT64_C(232), // OpAtomicIIncrement
349 UINT64_C(235), // OpAtomicISub
350 UINT64_C(227), // OpAtomicLoad
351 UINT64_C(241), // OpAtomicOr
352 UINT64_C(238), // OpAtomicSMax
353 UINT64_C(236), // OpAtomicSMin
354 UINT64_C(228), // OpAtomicStore
355 UINT64_C(239), // OpAtomicUMax
356 UINT64_C(237), // OpAtomicUMin
357 UINT64_C(242), // OpAtomicXor
358 UINT64_C(205), // OpBitCount
359 UINT64_C(201), // OpBitFieldInsert
360 UINT64_C(202), // OpBitFieldSExtract
361 UINT64_C(203), // OpBitFieldUExtract
362 UINT64_C(204), // OpBitReverse
363 UINT64_C(124), // OpBitcast
364 UINT64_C(199), // OpBitwiseAndS
365 UINT64_C(199), // OpBitwiseAndV
366 UINT64_C(6242), // OpBitwiseFunctionINTEL
367 UINT64_C(197), // OpBitwiseOrS
368 UINT64_C(197), // OpBitwiseOrV
369 UINT64_C(198), // OpBitwiseXorS
370 UINT64_C(198), // OpBitwiseXorV
371 UINT64_C(249), // OpBranch
372 UINT64_C(250), // OpBranchConditional
373 UINT64_C(304), // OpBuildNDRange
374 UINT64_C(17), // OpCapability
375 UINT64_C(302), // OpCaptureEventProfilingInfo
376 UINT64_C(80), // OpCompositeConstruct
377 UINT64_C(6096), // OpCompositeConstructContinuedINTEL
378 UINT64_C(81), // OpCompositeExtract
379 UINT64_C(82), // OpCompositeInsert
380 UINT64_C(44), // OpConstantComposite
381 UINT64_C(6091), // OpConstantCompositeContinuedINTEL
382 UINT64_C(43), // OpConstantF
383 UINT64_C(42), // OpConstantFalse
384 UINT64_C(5600), // OpConstantFunctionPointerINTEL
385 UINT64_C(43), // OpConstantI
386 UINT64_C(46), // OpConstantNull
387 UINT64_C(45), // OpConstantSampler
388 UINT64_C(41), // OpConstantTrue
389 UINT64_C(224), // OpControlBarrier
390 UINT64_C(6142), // OpControlBarrierArriveINTEL
391 UINT64_C(6143), // OpControlBarrierWaitINTEL
392 UINT64_C(6117), // OpConvertBF16ToFINTEL
393 UINT64_C(6116), // OpConvertFToBF16INTEL
394 UINT64_C(110), // OpConvertFToS
395 UINT64_C(109), // OpConvertFToU
396 UINT64_C(6529), // OpConvertHandleToImageINTEL
397 UINT64_C(6531), // OpConvertHandleToSampledImageINTEL
398 UINT64_C(6530), // OpConvertHandleToSamplerINTEL
399 UINT64_C(117), // OpConvertPtrToU
400 UINT64_C(111), // OpConvertSToF
401 UINT64_C(112), // OpConvertUToF
402 UINT64_C(120), // OpConvertUToPtr
403 UINT64_C(6195), // OpCooperativeMatrixConstructCheckedINTEL
404 UINT64_C(6440), // OpCooperativeMatrixGetElementCoordINTEL
405 UINT64_C(4460), // OpCooperativeMatrixLengthKHR
406 UINT64_C(6193), // OpCooperativeMatrixLoadCheckedINTEL
407 UINT64_C(4457), // OpCooperativeMatrixLoadKHR
408 UINT64_C(4459), // OpCooperativeMatrixMulAddKHR
409 UINT64_C(6449), // OpCooperativeMatrixPrefetchINTEL
410 UINT64_C(6194), // OpCooperativeMatrixStoreCheckedINTEL
411 UINT64_C(4458), // OpCooperativeMatrixStoreKHR
412 UINT64_C(400), // OpCopyLogical
413 UINT64_C(63), // OpCopyMemory
414 UINT64_C(64), // OpCopyMemorySized
415 UINT64_C(83), // OpCopyObject
416 UINT64_C(299), // OpCreateUserEvent
417 UINT64_C(5938), // OpCrossWorkgroupCastToPtrINTEL
418 UINT64_C(207), // OpDPdx
419 UINT64_C(213), // OpDPdxCoarse
420 UINT64_C(210), // OpDPdxFine
421 UINT64_C(208), // OpDPdy
422 UINT64_C(214), // OpDPdyCoarse
423 UINT64_C(211), // OpDPdyFine
424 UINT64_C(71), // OpDecorate
425 UINT64_C(332), // OpDecorateId
426 UINT64_C(5632), // OpDecorateString
427 UINT64_C(5380), // OpDemoteToHelperInvocation
428 UINT64_C(148), // OpDot
429 UINT64_C(220), // OpEmitStreamVertex
430 UINT64_C(218), // OpEmitVertex
431 UINT64_C(219), // OpEndPrimitive
432 UINT64_C(221), // OpEndStreamPrimitive
433 UINT64_C(292), // OpEnqueueKernel
434 UINT64_C(15), // OpEntryPoint
435 UINT64_C(16), // OpExecutionMode
436 UINT64_C(331), // OpExecutionModeId
437 UINT64_C(5631), // OpExpectKHR
438 UINT64_C(12), // OpExtInst
439 UINT64_C(11), // OpExtInstImport
440 UINT64_C(10), // OpExtension
441 UINT64_C(129), // OpFAddS
442 UINT64_C(129), // OpFAddV
443 UINT64_C(115), // OpFConvert
444 UINT64_C(136), // OpFDivS
445 UINT64_C(136), // OpFDivV
446 UINT64_C(141), // OpFMod
447 UINT64_C(133), // OpFMulS
448 UINT64_C(133), // OpFMulV
449 UINT64_C(127), // OpFNegate
450 UINT64_C(127), // OpFNegateV
451 UINT64_C(180), // OpFOrdEqual
452 UINT64_C(186), // OpFOrdGreaterThan
453 UINT64_C(190), // OpFOrdGreaterThanEqual
454 UINT64_C(184), // OpFOrdLessThan
455 UINT64_C(188), // OpFOrdLessThanEqual
456 UINT64_C(182), // OpFOrdNotEqual
457 UINT64_C(140), // OpFRemS
458 UINT64_C(140), // OpFRemV
459 UINT64_C(131), // OpFSubS
460 UINT64_C(131), // OpFSubV
461 UINT64_C(181), // OpFUnordEqual
462 UINT64_C(187), // OpFUnordGreaterThan
463 UINT64_C(191), // OpFUnordGreaterThanEqual
464 UINT64_C(185), // OpFUnordLessThan
465 UINT64_C(189), // OpFUnordLessThanEqual
466 UINT64_C(183), // OpFUnordNotEqual
467 UINT64_C(54), // OpFunction
468 UINT64_C(57), // OpFunctionCall
469 UINT64_C(56), // OpFunctionEnd
470 UINT64_C(55), // OpFunctionParameter
471 UINT64_C(5601), // OpFunctionPointerCallINTEL
472 UINT64_C(209), // OpFwidth
473 UINT64_C(215), // OpFwidthCoarse
474 UINT64_C(212), // OpFwidthFine
475 UINT64_C(122), // OpGenericCastToPtr
476 UINT64_C(123), // OpGenericCastToPtrExplicit
477 UINT64_C(69), // OpGenericPtrMemSemantics
478 UINT64_C(303), // OpGetDefaultQueue
479 UINT64_C(261), // OpGroupAll
480 UINT64_C(262), // OpGroupAny
481 UINT64_C(259), // OpGroupAsyncCopy
482 UINT64_C(6403), // OpGroupBitwiseAndKHR
483 UINT64_C(6404), // OpGroupBitwiseOrKHR
484 UINT64_C(6405), // OpGroupBitwiseXorKHR
485 UINT64_C(263), // OpGroupBroadcast
486 UINT64_C(265), // OpGroupFAdd
487 UINT64_C(269), // OpGroupFMax
488 UINT64_C(266), // OpGroupFMin
489 UINT64_C(6402), // OpGroupFMulKHR
490 UINT64_C(264), // OpGroupIAdd
491 UINT64_C(6401), // OpGroupIMulKHR
492 UINT64_C(6406), // OpGroupLogicalAndKHR
493 UINT64_C(6407), // OpGroupLogicalOrKHR
494 UINT64_C(6408), // OpGroupLogicalXorKHR
495 UINT64_C(334), // OpGroupNonUniformAll
496 UINT64_C(336), // OpGroupNonUniformAllEqual
497 UINT64_C(335), // OpGroupNonUniformAny
498 UINT64_C(339), // OpGroupNonUniformBallot
499 UINT64_C(342), // OpGroupNonUniformBallotBitCount
500 UINT64_C(341), // OpGroupNonUniformBallotBitExtract
501 UINT64_C(343), // OpGroupNonUniformBallotFindLSB
502 UINT64_C(344), // OpGroupNonUniformBallotFindMSB
503 UINT64_C(359), // OpGroupNonUniformBitwiseAnd
504 UINT64_C(360), // OpGroupNonUniformBitwiseOr
505 UINT64_C(361), // OpGroupNonUniformBitwiseXor
506 UINT64_C(337), // OpGroupNonUniformBroadcast
507 UINT64_C(338), // OpGroupNonUniformBroadcastFirst
508 UINT64_C(333), // OpGroupNonUniformElect
509 UINT64_C(350), // OpGroupNonUniformFAdd
510 UINT64_C(358), // OpGroupNonUniformFMax
511 UINT64_C(355), // OpGroupNonUniformFMin
512 UINT64_C(352), // OpGroupNonUniformFMul
513 UINT64_C(349), // OpGroupNonUniformIAdd
514 UINT64_C(351), // OpGroupNonUniformIMul
515 UINT64_C(340), // OpGroupNonUniformInverseBallot
516 UINT64_C(362), // OpGroupNonUniformLogicalAnd
517 UINT64_C(363), // OpGroupNonUniformLogicalOr
518 UINT64_C(364), // OpGroupNonUniformLogicalXor
519 UINT64_C(4431), // OpGroupNonUniformRotateKHR
520 UINT64_C(356), // OpGroupNonUniformSMax
521 UINT64_C(353), // OpGroupNonUniformSMin
522 UINT64_C(345), // OpGroupNonUniformShuffle
523 UINT64_C(348), // OpGroupNonUniformShuffleDown
524 UINT64_C(347), // OpGroupNonUniformShuffleUp
525 UINT64_C(346), // OpGroupNonUniformShuffleXor
526 UINT64_C(357), // OpGroupNonUniformUMax
527 UINT64_C(354), // OpGroupNonUniformUMin
528 UINT64_C(271), // OpGroupSMax
529 UINT64_C(268), // OpGroupSMin
530 UINT64_C(270), // OpGroupUMax
531 UINT64_C(267), // OpGroupUMin
532 UINT64_C(260), // OpGroupWaitEvents
533 UINT64_C(149), // OpIAddCarryS
534 UINT64_C(149), // OpIAddCarryV
535 UINT64_C(128), // OpIAddS
536 UINT64_C(128), // OpIAddV
537 UINT64_C(170), // OpIEqual
538 UINT64_C(132), // OpIMulS
539 UINT64_C(132), // OpIMulV
540 UINT64_C(171), // OpINotEqual
541 UINT64_C(150), // OpISubBorrowS
542 UINT64_C(150), // OpISubBorrowV
543 UINT64_C(130), // OpISubS
544 UINT64_C(130), // OpISubV
545 UINT64_C(100), // OpImage
546 UINT64_C(97), // OpImageDrefGather
547 UINT64_C(95), // OpImageFetch
548 UINT64_C(96), // OpImageGather
549 UINT64_C(101), // OpImageQueryFormat
550 UINT64_C(106), // OpImageQueryLevels
551 UINT64_C(105), // OpImageQueryLod
552 UINT64_C(102), // OpImageQueryOrder
553 UINT64_C(107), // OpImageQuerySamples
554 UINT64_C(104), // OpImageQuerySize
555 UINT64_C(103), // OpImageQuerySizeLod
556 UINT64_C(98), // OpImageRead
557 UINT64_C(90), // OpImageSampleDrefExplicitLod
558 UINT64_C(89), // OpImageSampleDrefImplicitLod
559 UINT64_C(88), // OpImageSampleExplicitLod
560 UINT64_C(5283), // OpImageSampleFootprintNV
561 UINT64_C(87), // OpImageSampleImplicitLod
562 UINT64_C(94), // OpImageSampleProjDrefExplicitLod
563 UINT64_C(93), // OpImageSampleProjDrefImplicitLod
564 UINT64_C(92), // OpImageSampleProjExplicitLod
565 UINT64_C(91), // OpImageSampleProjImplicitLod
566 UINT64_C(315), // OpImageSparseDrefGather
567 UINT64_C(313), // OpImageSparseFetch
568 UINT64_C(314), // OpImageSparseGather
569 UINT64_C(320), // OpImageSparseRead
570 UINT64_C(308), // OpImageSparseSampleDrefExplicitLod
571 UINT64_C(307), // OpImageSparseSampleDrefImplicitLod
572 UINT64_C(306), // OpImageSparseSampleExplicitLod
573 UINT64_C(305), // OpImageSparseSampleImplicitLod
574 UINT64_C(312), // OpImageSparseSampleProjDrefExplicitLod
575 UINT64_C(311), // OpImageSparseSampleProjDrefImplicitLod
576 UINT64_C(310), // OpImageSparseSampleProjExplicitLod
577 UINT64_C(309), // OpImageSparseSampleProjImplicitLod
578 UINT64_C(316), // OpImageSparseTexelsResident
579 UINT64_C(60), // OpImageTexelPointer
580 UINT64_C(99), // OpImageWrite
581 UINT64_C(66), // OpInBoundsAccessChain
582 UINT64_C(70), // OpInBoundsPtrAccessChain
583 UINT64_C(158), // OpIsFinite
584 UINT64_C(157), // OpIsInf
585 UINT64_C(156), // OpIsNan
586 UINT64_C(159), // OpIsNormal
587 UINT64_C(300), // OpIsValidEvent
588 UINT64_C(252), // OpKill
589 UINT64_C(248), // OpLabel
590 UINT64_C(161), // OpLessOrGreater
591 UINT64_C(256), // OpLifetimeStart
592 UINT64_C(257), // OpLifetimeStop
593 UINT64_C(8), // OpLine
594 UINT64_C(61), // OpLoad
595 UINT64_C(167), // OpLogicalAnd
596 UINT64_C(164), // OpLogicalEqual
597 UINT64_C(168), // OpLogicalNot
598 UINT64_C(165), // OpLogicalNotEqual
599 UINT64_C(166), // OpLogicalOr
600 UINT64_C(246), // OpLoopMerge
601 UINT64_C(146), // OpMatrixTimesMatrix
602 UINT64_C(143), // OpMatrixTimesScalar
603 UINT64_C(145), // OpMatrixTimesVector
604 UINT64_C(72), // OpMemberDecorate
605 UINT64_C(5633), // OpMemberDecorateString
606 UINT64_C(6), // OpMemberName
607 UINT64_C(225), // OpMemoryBarrier
608 UINT64_C(14), // OpMemoryModel
609 UINT64_C(329), // OpMemoryNamedBarrier
610 UINT64_C(330), // OpModuleProcessed
611 UINT64_C(5), // OpName
612 UINT64_C(328), // OpNamedBarrierInitialize
613 UINT64_C(317), // OpNoLine
614 UINT64_C(0), // OpNop
615 UINT64_C(200), // OpNot
616 UINT64_C(162), // OpOrdered
617 UINT64_C(147), // OpOuterProduct
618 UINT64_C(245), // OpPhi
619 UINT64_C(67), // OpPtrAccessChain
620 UINT64_C(5934), // OpPtrCastToCrossWorkgroupINTEL
621 UINT64_C(121), // OpPtrCastToGeneric
622 UINT64_C(403), // OpPtrDiff
623 UINT64_C(401), // OpPtrEqual
624 UINT64_C(402), // OpPtrNotEqual
625 UINT64_C(116), // OpQuantizeToF16
626 UINT64_C(5056), // OpReadClockKHR
627 UINT64_C(298), // OpReleaseEvent
628 UINT64_C(5820), // OpRestoreMemoryINTEL
629 UINT64_C(297), // OpRetainEvent
630 UINT64_C(253), // OpReturn
631 UINT64_C(254), // OpReturnValue
632 UINT64_C(114), // OpSConvert
633 UINT64_C(135), // OpSDivS
634 UINT64_C(135), // OpSDivV
635 UINT64_C(4450), // OpSDot
636 UINT64_C(4453), // OpSDotAccSat
637 UINT64_C(173), // OpSGreaterThan
638 UINT64_C(175), // OpSGreaterThanEqual
639 UINT64_C(177), // OpSLessThan
640 UINT64_C(179), // OpSLessThanEqual
641 UINT64_C(139), // OpSMod
642 UINT64_C(152), // OpSMulExtended
643 UINT64_C(126), // OpSNegate
644 UINT64_C(138), // OpSRemS
645 UINT64_C(138), // OpSRemV
646 UINT64_C(4452), // OpSUDot
647 UINT64_C(4455), // OpSUDotAccSat
648 UINT64_C(86), // OpSampledImage
649 UINT64_C(118), // OpSatConvertSToU
650 UINT64_C(119), // OpSatConvertUToS
651 UINT64_C(5819), // OpSaveMemoryINTEL
652 UINT64_C(169), // OpSelectSFSCond
653 UINT64_C(169), // OpSelectSFVCond
654 UINT64_C(169), // OpSelectSISCond
655 UINT64_C(169), // OpSelectSIVCond
656 UINT64_C(169), // OpSelectSPSCond
657 UINT64_C(169), // OpSelectSPVCond
658 UINT64_C(169), // OpSelectVFSCond
659 UINT64_C(169), // OpSelectVFVCond
660 UINT64_C(169), // OpSelectVISCond
661 UINT64_C(169), // OpSelectVIVCond
662 UINT64_C(169), // OpSelectVPSCond
663 UINT64_C(169), // OpSelectVPVCond
664 UINT64_C(247), // OpSelectionMerge
665 UINT64_C(301), // OpSetUserEventStatus
666 UINT64_C(196), // OpShiftLeftLogicalS
667 UINT64_C(196), // OpShiftLeftLogicalV
668 UINT64_C(195), // OpShiftRightArithmeticS
669 UINT64_C(195), // OpShiftRightArithmeticV
670 UINT64_C(194), // OpShiftRightLogicalS
671 UINT64_C(194), // OpShiftRightLogicalV
672 UINT64_C(160), // OpSignBitSet
673 UINT64_C(321), // OpSizeOf
674 UINT64_C(3), // OpSource
675 UINT64_C(2), // OpSourceContinued
676 UINT64_C(4), // OpSourceExtension
677 UINT64_C(50), // OpSpecConstant
678 UINT64_C(51), // OpSpecConstantComposite
679 UINT64_C(6092), // OpSpecConstantCompositeContinuedINTEL
680 UINT64_C(49), // OpSpecConstantFalse
681 UINT64_C(52), // OpSpecConstantOp
682 UINT64_C(48), // OpSpecConstantTrue
683 UINT64_C(62), // OpStore
684 UINT64_C(129), // OpStrictFAddS
685 UINT64_C(129), // OpStrictFAddV
686 UINT64_C(136), // OpStrictFDivS
687 UINT64_C(136), // OpStrictFDivV
688 UINT64_C(133), // OpStrictFMulS
689 UINT64_C(133), // OpStrictFMulV
690 UINT64_C(140), // OpStrictFRemS
691 UINT64_C(140), // OpStrictFRemV
692 UINT64_C(131), // OpStrictFSubS
693 UINT64_C(131), // OpStrictFSubV
694 UINT64_C(7), // OpString
695 UINT64_C(6231), // OpSubgroup2DBlockLoadINTEL
696 UINT64_C(6232), // OpSubgroup2DBlockLoadTransformINTEL
697 UINT64_C(6233), // OpSubgroup2DBlockLoadTransposeINTEL
698 UINT64_C(6234), // OpSubgroup2DBlockPrefetchINTEL
699 UINT64_C(6235), // OpSubgroup2DBlockStoreINTEL
700 UINT64_C(5575), // OpSubgroupBlockReadINTEL
701 UINT64_C(5576), // OpSubgroupBlockWriteINTEL
702 UINT64_C(5577), // OpSubgroupImageBlockReadINTEL
703 UINT64_C(5578), // OpSubgroupImageBlockWriteINTEL
704 UINT64_C(5580), // OpSubgroupImageMediaBlockReadINTEL
705 UINT64_C(5581), // OpSubgroupImageMediaBlockWriteINTEL
706 UINT64_C(6237), // OpSubgroupMatrixMultiplyAccumulateINTEL
707 UINT64_C(5572), // OpSubgroupShuffleDownINTEL
708 UINT64_C(5571), // OpSubgroupShuffleINTEL
709 UINT64_C(5573), // OpSubgroupShuffleUpINTEL
710 UINT64_C(5574), // OpSubgroupShuffleXorINTEL
711 UINT64_C(251), // OpSwitch
712 UINT64_C(84), // OpTranspose
713 UINT64_C(5341), // OpTypeAccelerationStructureNV
714 UINT64_C(28), // OpTypeArray
715 UINT64_C(20), // OpTypeBool
716 UINT64_C(4456), // OpTypeCooperativeMatrixKHR
717 UINT64_C(5358), // OpTypeCooperativeMatrixNV
718 UINT64_C(35), // OpTypeDeviceEvent
719 UINT64_C(34), // OpTypeEvent
720 UINT64_C(22), // OpTypeFloat
721 UINT64_C(39), // OpTypeForwardPointer
722 UINT64_C(33), // OpTypeFunction
723 UINT64_C(25), // OpTypeImage
724 UINT64_C(21), // OpTypeInt
725 UINT64_C(24), // OpTypeMatrix
726 UINT64_C(327), // OpTypeNamedBarrier
727 UINT64_C(31), // OpTypeOpaque
728 UINT64_C(38), // OpTypePipe
729 UINT64_C(322), // OpTypePipeStorage
730 UINT64_C(32), // OpTypePointer
731 UINT64_C(37), // OpTypeQueue
732 UINT64_C(36), // OpTypeReserveId
733 UINT64_C(29), // OpTypeRuntimeArray
734 UINT64_C(27), // OpTypeSampledImage
735 UINT64_C(26), // OpTypeSampler
736 UINT64_C(30), // OpTypeStruct
737 UINT64_C(6090), // OpTypeStructContinuedINTEL
738 UINT64_C(23), // OpTypeVector
739 UINT64_C(19), // OpTypeVoid
740 UINT64_C(113), // OpUConvert
741 UINT64_C(134), // OpUDivS
742 UINT64_C(134), // OpUDivV
743 UINT64_C(4451), // OpUDot
744 UINT64_C(4454), // OpUDotAccSat
745 UINT64_C(172), // OpUGreaterThan
746 UINT64_C(174), // OpUGreaterThanEqual
747 UINT64_C(176), // OpULessThan
748 UINT64_C(178), // OpULessThanEqual
749 UINT64_C(137), // OpUModS
750 UINT64_C(137), // OpUModV
751 UINT64_C(151), // OpUMulExtended
752 UINT64_C(1), // OpUndef
753 UINT64_C(163), // OpUnordered
754 UINT64_C(255), // OpUnreachable
755 UINT64_C(59), // OpVariable
756 UINT64_C(5818), // OpVariableLengthArrayINTEL
757 UINT64_C(77), // OpVectorExtractDynamic
758 UINT64_C(78), // OpVectorInsertDynamic
759 UINT64_C(79), // OpVectorShuffle
760 UINT64_C(144), // OpVectorTimesMatrix
761 UINT64_C(142), // OpVectorTimesScalar
762 UINT64_C(0)
763 };
764 const unsigned opcode = MI.getOpcode();
765 uint64_t Value = InstBits[opcode];
766 uint64_t op = 0;
767 (void)op; // suppress warning
768 switch (opcode) {
769 case SPIRV::OpAccessChain:
770 case SPIRV::OpAliasDomainDeclINTEL:
771 case SPIRV::OpAliasScopeDeclINTEL:
772 case SPIRV::OpAliasScopeListDeclINTEL:
773 case SPIRV::OpAll:
774 case SPIRV::OpAny:
775 case SPIRV::OpArithmeticFenceEXT:
776 case SPIRV::OpArrayLength:
777 case SPIRV::OpAsmCallINTEL:
778 case SPIRV::OpAsmINTEL:
779 case SPIRV::OpAsmTargetINTEL:
780 case SPIRV::OpAssumeTrueKHR:
781 case SPIRV::OpAtomicAnd:
782 case SPIRV::OpAtomicCompareExchange:
783 case SPIRV::OpAtomicCompareExchangeWeak:
784 case SPIRV::OpAtomicExchange:
785 case SPIRV::OpAtomicFAddEXT:
786 case SPIRV::OpAtomicFMaxEXT:
787 case SPIRV::OpAtomicFMinEXT:
788 case SPIRV::OpAtomicFlagClear:
789 case SPIRV::OpAtomicFlagTestAndSet:
790 case SPIRV::OpAtomicIAdd:
791 case SPIRV::OpAtomicIDecrement:
792 case SPIRV::OpAtomicIIncrement:
793 case SPIRV::OpAtomicISub:
794 case SPIRV::OpAtomicLoad:
795 case SPIRV::OpAtomicOr:
796 case SPIRV::OpAtomicSMax:
797 case SPIRV::OpAtomicSMin:
798 case SPIRV::OpAtomicStore:
799 case SPIRV::OpAtomicUMax:
800 case SPIRV::OpAtomicUMin:
801 case SPIRV::OpAtomicXor:
802 case SPIRV::OpBitCount:
803 case SPIRV::OpBitFieldInsert:
804 case SPIRV::OpBitFieldSExtract:
805 case SPIRV::OpBitFieldUExtract:
806 case SPIRV::OpBitReverse:
807 case SPIRV::OpBitcast:
808 case SPIRV::OpBitwiseAndS:
809 case SPIRV::OpBitwiseAndV:
810 case SPIRV::OpBitwiseFunctionINTEL:
811 case SPIRV::OpBitwiseOrS:
812 case SPIRV::OpBitwiseOrV:
813 case SPIRV::OpBitwiseXorS:
814 case SPIRV::OpBitwiseXorV:
815 case SPIRV::OpBranch:
816 case SPIRV::OpBranchConditional:
817 case SPIRV::OpBuildNDRange:
818 case SPIRV::OpCapability:
819 case SPIRV::OpCaptureEventProfilingInfo:
820 case SPIRV::OpCompositeConstruct:
821 case SPIRV::OpCompositeConstructContinuedINTEL:
822 case SPIRV::OpCompositeExtract:
823 case SPIRV::OpCompositeInsert:
824 case SPIRV::OpConstantComposite:
825 case SPIRV::OpConstantCompositeContinuedINTEL:
826 case SPIRV::OpConstantF:
827 case SPIRV::OpConstantFalse:
828 case SPIRV::OpConstantFunctionPointerINTEL:
829 case SPIRV::OpConstantI:
830 case SPIRV::OpConstantNull:
831 case SPIRV::OpConstantSampler:
832 case SPIRV::OpConstantTrue:
833 case SPIRV::OpControlBarrier:
834 case SPIRV::OpControlBarrierArriveINTEL:
835 case SPIRV::OpControlBarrierWaitINTEL:
836 case SPIRV::OpConvertBF16ToFINTEL:
837 case SPIRV::OpConvertFToBF16INTEL:
838 case SPIRV::OpConvertFToS:
839 case SPIRV::OpConvertFToU:
840 case SPIRV::OpConvertHandleToImageINTEL:
841 case SPIRV::OpConvertHandleToSampledImageINTEL:
842 case SPIRV::OpConvertHandleToSamplerINTEL:
843 case SPIRV::OpConvertPtrToU:
844 case SPIRV::OpConvertSToF:
845 case SPIRV::OpConvertUToF:
846 case SPIRV::OpConvertUToPtr:
847 case SPIRV::OpCooperativeMatrixConstructCheckedINTEL:
848 case SPIRV::OpCooperativeMatrixGetElementCoordINTEL:
849 case SPIRV::OpCooperativeMatrixLengthKHR:
850 case SPIRV::OpCooperativeMatrixLoadCheckedINTEL:
851 case SPIRV::OpCooperativeMatrixLoadKHR:
852 case SPIRV::OpCooperativeMatrixMulAddKHR:
853 case SPIRV::OpCooperativeMatrixPrefetchINTEL:
854 case SPIRV::OpCooperativeMatrixStoreCheckedINTEL:
855 case SPIRV::OpCooperativeMatrixStoreKHR:
856 case SPIRV::OpCopyLogical:
857 case SPIRV::OpCopyMemory:
858 case SPIRV::OpCopyMemorySized:
859 case SPIRV::OpCopyObject:
860 case SPIRV::OpCreateUserEvent:
861 case SPIRV::OpCrossWorkgroupCastToPtrINTEL:
862 case SPIRV::OpDPdx:
863 case SPIRV::OpDPdxCoarse:
864 case SPIRV::OpDPdxFine:
865 case SPIRV::OpDPdy:
866 case SPIRV::OpDPdyCoarse:
867 case SPIRV::OpDPdyFine:
868 case SPIRV::OpDecorate:
869 case SPIRV::OpDecorateId:
870 case SPIRV::OpDecorateString:
871 case SPIRV::OpDemoteToHelperInvocation:
872 case SPIRV::OpDot:
873 case SPIRV::OpEmitStreamVertex:
874 case SPIRV::OpEmitVertex:
875 case SPIRV::OpEndPrimitive:
876 case SPIRV::OpEndStreamPrimitive:
877 case SPIRV::OpEnqueueKernel:
878 case SPIRV::OpEntryPoint:
879 case SPIRV::OpExecutionMode:
880 case SPIRV::OpExecutionModeId:
881 case SPIRV::OpExpectKHR:
882 case SPIRV::OpExtInst:
883 case SPIRV::OpExtInstImport:
884 case SPIRV::OpExtension:
885 case SPIRV::OpFAddS:
886 case SPIRV::OpFAddV:
887 case SPIRV::OpFConvert:
888 case SPIRV::OpFDivS:
889 case SPIRV::OpFDivV:
890 case SPIRV::OpFMod:
891 case SPIRV::OpFMulS:
892 case SPIRV::OpFMulV:
893 case SPIRV::OpFNegate:
894 case SPIRV::OpFNegateV:
895 case SPIRV::OpFOrdEqual:
896 case SPIRV::OpFOrdGreaterThan:
897 case SPIRV::OpFOrdGreaterThanEqual:
898 case SPIRV::OpFOrdLessThan:
899 case SPIRV::OpFOrdLessThanEqual:
900 case SPIRV::OpFOrdNotEqual:
901 case SPIRV::OpFRemS:
902 case SPIRV::OpFRemV:
903 case SPIRV::OpFSubS:
904 case SPIRV::OpFSubV:
905 case SPIRV::OpFUnordEqual:
906 case SPIRV::OpFUnordGreaterThan:
907 case SPIRV::OpFUnordGreaterThanEqual:
908 case SPIRV::OpFUnordLessThan:
909 case SPIRV::OpFUnordLessThanEqual:
910 case SPIRV::OpFUnordNotEqual:
911 case SPIRV::OpFunction:
912 case SPIRV::OpFunctionCall:
913 case SPIRV::OpFunctionEnd:
914 case SPIRV::OpFunctionParameter:
915 case SPIRV::OpFunctionPointerCallINTEL:
916 case SPIRV::OpFwidth:
917 case SPIRV::OpFwidthCoarse:
918 case SPIRV::OpFwidthFine:
919 case SPIRV::OpGenericCastToPtr:
920 case SPIRV::OpGenericCastToPtrExplicit:
921 case SPIRV::OpGenericPtrMemSemantics:
922 case SPIRV::OpGetDefaultQueue:
923 case SPIRV::OpGroupAll:
924 case SPIRV::OpGroupAny:
925 case SPIRV::OpGroupAsyncCopy:
926 case SPIRV::OpGroupBitwiseAndKHR:
927 case SPIRV::OpGroupBitwiseOrKHR:
928 case SPIRV::OpGroupBitwiseXorKHR:
929 case SPIRV::OpGroupBroadcast:
930 case SPIRV::OpGroupFAdd:
931 case SPIRV::OpGroupFMax:
932 case SPIRV::OpGroupFMin:
933 case SPIRV::OpGroupFMulKHR:
934 case SPIRV::OpGroupIAdd:
935 case SPIRV::OpGroupIMulKHR:
936 case SPIRV::OpGroupLogicalAndKHR:
937 case SPIRV::OpGroupLogicalOrKHR:
938 case SPIRV::OpGroupLogicalXorKHR:
939 case SPIRV::OpGroupNonUniformAll:
940 case SPIRV::OpGroupNonUniformAllEqual:
941 case SPIRV::OpGroupNonUniformAny:
942 case SPIRV::OpGroupNonUniformBallot:
943 case SPIRV::OpGroupNonUniformBallotBitCount:
944 case SPIRV::OpGroupNonUniformBallotBitExtract:
945 case SPIRV::OpGroupNonUniformBallotFindLSB:
946 case SPIRV::OpGroupNonUniformBallotFindMSB:
947 case SPIRV::OpGroupNonUniformBitwiseAnd:
948 case SPIRV::OpGroupNonUniformBitwiseOr:
949 case SPIRV::OpGroupNonUniformBitwiseXor:
950 case SPIRV::OpGroupNonUniformBroadcast:
951 case SPIRV::OpGroupNonUniformBroadcastFirst:
952 case SPIRV::OpGroupNonUniformElect:
953 case SPIRV::OpGroupNonUniformFAdd:
954 case SPIRV::OpGroupNonUniformFMax:
955 case SPIRV::OpGroupNonUniformFMin:
956 case SPIRV::OpGroupNonUniformFMul:
957 case SPIRV::OpGroupNonUniformIAdd:
958 case SPIRV::OpGroupNonUniformIMul:
959 case SPIRV::OpGroupNonUniformInverseBallot:
960 case SPIRV::OpGroupNonUniformLogicalAnd:
961 case SPIRV::OpGroupNonUniformLogicalOr:
962 case SPIRV::OpGroupNonUniformLogicalXor:
963 case SPIRV::OpGroupNonUniformRotateKHR:
964 case SPIRV::OpGroupNonUniformSMax:
965 case SPIRV::OpGroupNonUniformSMin:
966 case SPIRV::OpGroupNonUniformShuffle:
967 case SPIRV::OpGroupNonUniformShuffleDown:
968 case SPIRV::OpGroupNonUniformShuffleUp:
969 case SPIRV::OpGroupNonUniformShuffleXor:
970 case SPIRV::OpGroupNonUniformUMax:
971 case SPIRV::OpGroupNonUniformUMin:
972 case SPIRV::OpGroupSMax:
973 case SPIRV::OpGroupSMin:
974 case SPIRV::OpGroupUMax:
975 case SPIRV::OpGroupUMin:
976 case SPIRV::OpGroupWaitEvents:
977 case SPIRV::OpIAddCarryS:
978 case SPIRV::OpIAddCarryV:
979 case SPIRV::OpIAddS:
980 case SPIRV::OpIAddV:
981 case SPIRV::OpIEqual:
982 case SPIRV::OpIMulS:
983 case SPIRV::OpIMulV:
984 case SPIRV::OpINotEqual:
985 case SPIRV::OpISubBorrowS:
986 case SPIRV::OpISubBorrowV:
987 case SPIRV::OpISubS:
988 case SPIRV::OpISubV:
989 case SPIRV::OpImage:
990 case SPIRV::OpImageDrefGather:
991 case SPIRV::OpImageFetch:
992 case SPIRV::OpImageGather:
993 case SPIRV::OpImageQueryFormat:
994 case SPIRV::OpImageQueryLevels:
995 case SPIRV::OpImageQueryLod:
996 case SPIRV::OpImageQueryOrder:
997 case SPIRV::OpImageQuerySamples:
998 case SPIRV::OpImageQuerySize:
999 case SPIRV::OpImageQuerySizeLod:
1000 case SPIRV::OpImageRead:
1001 case SPIRV::OpImageSampleDrefExplicitLod:
1002 case SPIRV::OpImageSampleDrefImplicitLod:
1003 case SPIRV::OpImageSampleExplicitLod:
1004 case SPIRV::OpImageSampleFootprintNV:
1005 case SPIRV::OpImageSampleImplicitLod:
1006 case SPIRV::OpImageSampleProjDrefExplicitLod:
1007 case SPIRV::OpImageSampleProjDrefImplicitLod:
1008 case SPIRV::OpImageSampleProjExplicitLod:
1009 case SPIRV::OpImageSampleProjImplicitLod:
1010 case SPIRV::OpImageSparseDrefGather:
1011 case SPIRV::OpImageSparseFetch:
1012 case SPIRV::OpImageSparseGather:
1013 case SPIRV::OpImageSparseRead:
1014 case SPIRV::OpImageSparseSampleDrefExplicitLod:
1015 case SPIRV::OpImageSparseSampleDrefImplicitLod:
1016 case SPIRV::OpImageSparseSampleExplicitLod:
1017 case SPIRV::OpImageSparseSampleImplicitLod:
1018 case SPIRV::OpImageSparseSampleProjDrefExplicitLod:
1019 case SPIRV::OpImageSparseSampleProjDrefImplicitLod:
1020 case SPIRV::OpImageSparseSampleProjExplicitLod:
1021 case SPIRV::OpImageSparseSampleProjImplicitLod:
1022 case SPIRV::OpImageSparseTexelsResident:
1023 case SPIRV::OpImageTexelPointer:
1024 case SPIRV::OpImageWrite:
1025 case SPIRV::OpInBoundsAccessChain:
1026 case SPIRV::OpInBoundsPtrAccessChain:
1027 case SPIRV::OpIsFinite:
1028 case SPIRV::OpIsInf:
1029 case SPIRV::OpIsNan:
1030 case SPIRV::OpIsNormal:
1031 case SPIRV::OpIsValidEvent:
1032 case SPIRV::OpKill:
1033 case SPIRV::OpLabel:
1034 case SPIRV::OpLessOrGreater:
1035 case SPIRV::OpLifetimeStart:
1036 case SPIRV::OpLifetimeStop:
1037 case SPIRV::OpLine:
1038 case SPIRV::OpLoad:
1039 case SPIRV::OpLogicalAnd:
1040 case SPIRV::OpLogicalEqual:
1041 case SPIRV::OpLogicalNot:
1042 case SPIRV::OpLogicalNotEqual:
1043 case SPIRV::OpLogicalOr:
1044 case SPIRV::OpLoopMerge:
1045 case SPIRV::OpMatrixTimesMatrix:
1046 case SPIRV::OpMatrixTimesScalar:
1047 case SPIRV::OpMatrixTimesVector:
1048 case SPIRV::OpMemberDecorate:
1049 case SPIRV::OpMemberDecorateString:
1050 case SPIRV::OpMemberName:
1051 case SPIRV::OpMemoryBarrier:
1052 case SPIRV::OpMemoryModel:
1053 case SPIRV::OpMemoryNamedBarrier:
1054 case SPIRV::OpModuleProcessed:
1055 case SPIRV::OpName:
1056 case SPIRV::OpNamedBarrierInitialize:
1057 case SPIRV::OpNoLine:
1058 case SPIRV::OpNop:
1059 case SPIRV::OpNot:
1060 case SPIRV::OpOrdered:
1061 case SPIRV::OpOuterProduct:
1062 case SPIRV::OpPhi:
1063 case SPIRV::OpPtrAccessChain:
1064 case SPIRV::OpPtrCastToCrossWorkgroupINTEL:
1065 case SPIRV::OpPtrCastToGeneric:
1066 case SPIRV::OpPtrDiff:
1067 case SPIRV::OpPtrEqual:
1068 case SPIRV::OpPtrNotEqual:
1069 case SPIRV::OpQuantizeToF16:
1070 case SPIRV::OpReadClockKHR:
1071 case SPIRV::OpReleaseEvent:
1072 case SPIRV::OpRestoreMemoryINTEL:
1073 case SPIRV::OpRetainEvent:
1074 case SPIRV::OpReturn:
1075 case SPIRV::OpReturnValue:
1076 case SPIRV::OpSConvert:
1077 case SPIRV::OpSDivS:
1078 case SPIRV::OpSDivV:
1079 case SPIRV::OpSDot:
1080 case SPIRV::OpSDotAccSat:
1081 case SPIRV::OpSGreaterThan:
1082 case SPIRV::OpSGreaterThanEqual:
1083 case SPIRV::OpSLessThan:
1084 case SPIRV::OpSLessThanEqual:
1085 case SPIRV::OpSMod:
1086 case SPIRV::OpSMulExtended:
1087 case SPIRV::OpSNegate:
1088 case SPIRV::OpSRemS:
1089 case SPIRV::OpSRemV:
1090 case SPIRV::OpSUDot:
1091 case SPIRV::OpSUDotAccSat:
1092 case SPIRV::OpSampledImage:
1093 case SPIRV::OpSatConvertSToU:
1094 case SPIRV::OpSatConvertUToS:
1095 case SPIRV::OpSaveMemoryINTEL:
1096 case SPIRV::OpSelectSFSCond:
1097 case SPIRV::OpSelectSFVCond:
1098 case SPIRV::OpSelectSISCond:
1099 case SPIRV::OpSelectSIVCond:
1100 case SPIRV::OpSelectSPSCond:
1101 case SPIRV::OpSelectSPVCond:
1102 case SPIRV::OpSelectVFSCond:
1103 case SPIRV::OpSelectVFVCond:
1104 case SPIRV::OpSelectVISCond:
1105 case SPIRV::OpSelectVIVCond:
1106 case SPIRV::OpSelectVPSCond:
1107 case SPIRV::OpSelectVPVCond:
1108 case SPIRV::OpSelectionMerge:
1109 case SPIRV::OpSetUserEventStatus:
1110 case SPIRV::OpShiftLeftLogicalS:
1111 case SPIRV::OpShiftLeftLogicalV:
1112 case SPIRV::OpShiftRightArithmeticS:
1113 case SPIRV::OpShiftRightArithmeticV:
1114 case SPIRV::OpShiftRightLogicalS:
1115 case SPIRV::OpShiftRightLogicalV:
1116 case SPIRV::OpSignBitSet:
1117 case SPIRV::OpSizeOf:
1118 case SPIRV::OpSource:
1119 case SPIRV::OpSourceContinued:
1120 case SPIRV::OpSourceExtension:
1121 case SPIRV::OpSpecConstant:
1122 case SPIRV::OpSpecConstantComposite:
1123 case SPIRV::OpSpecConstantCompositeContinuedINTEL:
1124 case SPIRV::OpSpecConstantFalse:
1125 case SPIRV::OpSpecConstantOp:
1126 case SPIRV::OpSpecConstantTrue:
1127 case SPIRV::OpStore:
1128 case SPIRV::OpStrictFAddS:
1129 case SPIRV::OpStrictFAddV:
1130 case SPIRV::OpStrictFDivS:
1131 case SPIRV::OpStrictFDivV:
1132 case SPIRV::OpStrictFMulS:
1133 case SPIRV::OpStrictFMulV:
1134 case SPIRV::OpStrictFRemS:
1135 case SPIRV::OpStrictFRemV:
1136 case SPIRV::OpStrictFSubS:
1137 case SPIRV::OpStrictFSubV:
1138 case SPIRV::OpString:
1139 case SPIRV::OpSubgroup2DBlockLoadINTEL:
1140 case SPIRV::OpSubgroup2DBlockLoadTransformINTEL:
1141 case SPIRV::OpSubgroup2DBlockLoadTransposeINTEL:
1142 case SPIRV::OpSubgroup2DBlockPrefetchINTEL:
1143 case SPIRV::OpSubgroup2DBlockStoreINTEL:
1144 case SPIRV::OpSubgroupBlockReadINTEL:
1145 case SPIRV::OpSubgroupBlockWriteINTEL:
1146 case SPIRV::OpSubgroupImageBlockReadINTEL:
1147 case SPIRV::OpSubgroupImageBlockWriteINTEL:
1148 case SPIRV::OpSubgroupImageMediaBlockReadINTEL:
1149 case SPIRV::OpSubgroupImageMediaBlockWriteINTEL:
1150 case SPIRV::OpSubgroupMatrixMultiplyAccumulateINTEL:
1151 case SPIRV::OpSubgroupShuffleDownINTEL:
1152 case SPIRV::OpSubgroupShuffleINTEL:
1153 case SPIRV::OpSubgroupShuffleUpINTEL:
1154 case SPIRV::OpSubgroupShuffleXorINTEL:
1155 case SPIRV::OpSwitch:
1156 case SPIRV::OpTranspose:
1157 case SPIRV::OpTypeAccelerationStructureNV:
1158 case SPIRV::OpTypeArray:
1159 case SPIRV::OpTypeBool:
1160 case SPIRV::OpTypeCooperativeMatrixKHR:
1161 case SPIRV::OpTypeCooperativeMatrixNV:
1162 case SPIRV::OpTypeDeviceEvent:
1163 case SPIRV::OpTypeEvent:
1164 case SPIRV::OpTypeFloat:
1165 case SPIRV::OpTypeForwardPointer:
1166 case SPIRV::OpTypeFunction:
1167 case SPIRV::OpTypeImage:
1168 case SPIRV::OpTypeInt:
1169 case SPIRV::OpTypeMatrix:
1170 case SPIRV::OpTypeNamedBarrier:
1171 case SPIRV::OpTypeOpaque:
1172 case SPIRV::OpTypePipe:
1173 case SPIRV::OpTypePipeStorage:
1174 case SPIRV::OpTypePointer:
1175 case SPIRV::OpTypeQueue:
1176 case SPIRV::OpTypeReserveId:
1177 case SPIRV::OpTypeRuntimeArray:
1178 case SPIRV::OpTypeSampledImage:
1179 case SPIRV::OpTypeSampler:
1180 case SPIRV::OpTypeStruct:
1181 case SPIRV::OpTypeStructContinuedINTEL:
1182 case SPIRV::OpTypeVector:
1183 case SPIRV::OpTypeVoid:
1184 case SPIRV::OpUConvert:
1185 case SPIRV::OpUDivS:
1186 case SPIRV::OpUDivV:
1187 case SPIRV::OpUDot:
1188 case SPIRV::OpUDotAccSat:
1189 case SPIRV::OpUGreaterThan:
1190 case SPIRV::OpUGreaterThanEqual:
1191 case SPIRV::OpULessThan:
1192 case SPIRV::OpULessThanEqual:
1193 case SPIRV::OpUModS:
1194 case SPIRV::OpUModV:
1195 case SPIRV::OpUMulExtended:
1196 case SPIRV::OpUndef:
1197 case SPIRV::OpUnordered:
1198 case SPIRV::OpUnreachable:
1199 case SPIRV::OpVariable:
1200 case SPIRV::OpVariableLengthArrayINTEL:
1201 case SPIRV::OpVectorExtractDynamic:
1202 case SPIRV::OpVectorInsertDynamic:
1203 case SPIRV::OpVectorShuffle:
1204 case SPIRV::OpVectorTimesMatrix:
1205 case SPIRV::OpVectorTimesScalar: {
1206 break;
1207 }
1208 default:
1209 std::string msg;
1210 raw_string_ostream Msg(msg);
1211 Msg << "Not supported instr: " << MI;
1212 report_fatal_error(reason: Msg.str().c_str());
1213 }
1214 return Value;
1215}
1216
1217#ifdef GET_OPERAND_BIT_OFFSET
1218#undef GET_OPERAND_BIT_OFFSET
1219
1220uint32_t SPIRVMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
1221 unsigned OpNum,
1222 const MCSubtargetInfo &STI) const {
1223 switch (MI.getOpcode()) {
1224 case SPIRV::OpAccessChain:
1225 case SPIRV::OpAliasDomainDeclINTEL:
1226 case SPIRV::OpAliasScopeDeclINTEL:
1227 case SPIRV::OpAliasScopeListDeclINTEL:
1228 case SPIRV::OpAll:
1229 case SPIRV::OpAny:
1230 case SPIRV::OpArithmeticFenceEXT:
1231 case SPIRV::OpArrayLength:
1232 case SPIRV::OpAsmCallINTEL:
1233 case SPIRV::OpAsmINTEL:
1234 case SPIRV::OpAsmTargetINTEL:
1235 case SPIRV::OpAssumeTrueKHR:
1236 case SPIRV::OpAtomicAnd:
1237 case SPIRV::OpAtomicCompareExchange:
1238 case SPIRV::OpAtomicCompareExchangeWeak:
1239 case SPIRV::OpAtomicExchange:
1240 case SPIRV::OpAtomicFAddEXT:
1241 case SPIRV::OpAtomicFMaxEXT:
1242 case SPIRV::OpAtomicFMinEXT:
1243 case SPIRV::OpAtomicFlagClear:
1244 case SPIRV::OpAtomicFlagTestAndSet:
1245 case SPIRV::OpAtomicIAdd:
1246 case SPIRV::OpAtomicIDecrement:
1247 case SPIRV::OpAtomicIIncrement:
1248 case SPIRV::OpAtomicISub:
1249 case SPIRV::OpAtomicLoad:
1250 case SPIRV::OpAtomicOr:
1251 case SPIRV::OpAtomicSMax:
1252 case SPIRV::OpAtomicSMin:
1253 case SPIRV::OpAtomicStore:
1254 case SPIRV::OpAtomicUMax:
1255 case SPIRV::OpAtomicUMin:
1256 case SPIRV::OpAtomicXor:
1257 case SPIRV::OpBitCount:
1258 case SPIRV::OpBitFieldInsert:
1259 case SPIRV::OpBitFieldSExtract:
1260 case SPIRV::OpBitFieldUExtract:
1261 case SPIRV::OpBitReverse:
1262 case SPIRV::OpBitcast:
1263 case SPIRV::OpBitwiseAndS:
1264 case SPIRV::OpBitwiseAndV:
1265 case SPIRV::OpBitwiseFunctionINTEL:
1266 case SPIRV::OpBitwiseOrS:
1267 case SPIRV::OpBitwiseOrV:
1268 case SPIRV::OpBitwiseXorS:
1269 case SPIRV::OpBitwiseXorV:
1270 case SPIRV::OpBranch:
1271 case SPIRV::OpBranchConditional:
1272 case SPIRV::OpBuildNDRange:
1273 case SPIRV::OpCapability:
1274 case SPIRV::OpCaptureEventProfilingInfo:
1275 case SPIRV::OpCompositeConstruct:
1276 case SPIRV::OpCompositeConstructContinuedINTEL:
1277 case SPIRV::OpCompositeExtract:
1278 case SPIRV::OpCompositeInsert:
1279 case SPIRV::OpConstantComposite:
1280 case SPIRV::OpConstantCompositeContinuedINTEL:
1281 case SPIRV::OpConstantF:
1282 case SPIRV::OpConstantFalse:
1283 case SPIRV::OpConstantFunctionPointerINTEL:
1284 case SPIRV::OpConstantI:
1285 case SPIRV::OpConstantNull:
1286 case SPIRV::OpConstantSampler:
1287 case SPIRV::OpConstantTrue:
1288 case SPIRV::OpControlBarrier:
1289 case SPIRV::OpControlBarrierArriveINTEL:
1290 case SPIRV::OpControlBarrierWaitINTEL:
1291 case SPIRV::OpConvertBF16ToFINTEL:
1292 case SPIRV::OpConvertFToBF16INTEL:
1293 case SPIRV::OpConvertFToS:
1294 case SPIRV::OpConvertFToU:
1295 case SPIRV::OpConvertHandleToImageINTEL:
1296 case SPIRV::OpConvertHandleToSampledImageINTEL:
1297 case SPIRV::OpConvertHandleToSamplerINTEL:
1298 case SPIRV::OpConvertPtrToU:
1299 case SPIRV::OpConvertSToF:
1300 case SPIRV::OpConvertUToF:
1301 case SPIRV::OpConvertUToPtr:
1302 case SPIRV::OpCooperativeMatrixConstructCheckedINTEL:
1303 case SPIRV::OpCooperativeMatrixGetElementCoordINTEL:
1304 case SPIRV::OpCooperativeMatrixLengthKHR:
1305 case SPIRV::OpCooperativeMatrixLoadCheckedINTEL:
1306 case SPIRV::OpCooperativeMatrixLoadKHR:
1307 case SPIRV::OpCooperativeMatrixMulAddKHR:
1308 case SPIRV::OpCooperativeMatrixPrefetchINTEL:
1309 case SPIRV::OpCooperativeMatrixStoreCheckedINTEL:
1310 case SPIRV::OpCooperativeMatrixStoreKHR:
1311 case SPIRV::OpCopyLogical:
1312 case SPIRV::OpCopyMemory:
1313 case SPIRV::OpCopyMemorySized:
1314 case SPIRV::OpCopyObject:
1315 case SPIRV::OpCreateUserEvent:
1316 case SPIRV::OpCrossWorkgroupCastToPtrINTEL:
1317 case SPIRV::OpDPdx:
1318 case SPIRV::OpDPdxCoarse:
1319 case SPIRV::OpDPdxFine:
1320 case SPIRV::OpDPdy:
1321 case SPIRV::OpDPdyCoarse:
1322 case SPIRV::OpDPdyFine:
1323 case SPIRV::OpDecorate:
1324 case SPIRV::OpDecorateId:
1325 case SPIRV::OpDecorateString:
1326 case SPIRV::OpDemoteToHelperInvocation:
1327 case SPIRV::OpDot:
1328 case SPIRV::OpEmitStreamVertex:
1329 case SPIRV::OpEmitVertex:
1330 case SPIRV::OpEndPrimitive:
1331 case SPIRV::OpEndStreamPrimitive:
1332 case SPIRV::OpEnqueueKernel:
1333 case SPIRV::OpEntryPoint:
1334 case SPIRV::OpExecutionMode:
1335 case SPIRV::OpExecutionModeId:
1336 case SPIRV::OpExpectKHR:
1337 case SPIRV::OpExtInst:
1338 case SPIRV::OpExtInstImport:
1339 case SPIRV::OpExtension:
1340 case SPIRV::OpFAddS:
1341 case SPIRV::OpFAddV:
1342 case SPIRV::OpFConvert:
1343 case SPIRV::OpFDivS:
1344 case SPIRV::OpFDivV:
1345 case SPIRV::OpFMod:
1346 case SPIRV::OpFMulS:
1347 case SPIRV::OpFMulV:
1348 case SPIRV::OpFNegate:
1349 case SPIRV::OpFNegateV:
1350 case SPIRV::OpFOrdEqual:
1351 case SPIRV::OpFOrdGreaterThan:
1352 case SPIRV::OpFOrdGreaterThanEqual:
1353 case SPIRV::OpFOrdLessThan:
1354 case SPIRV::OpFOrdLessThanEqual:
1355 case SPIRV::OpFOrdNotEqual:
1356 case SPIRV::OpFRemS:
1357 case SPIRV::OpFRemV:
1358 case SPIRV::OpFSubS:
1359 case SPIRV::OpFSubV:
1360 case SPIRV::OpFUnordEqual:
1361 case SPIRV::OpFUnordGreaterThan:
1362 case SPIRV::OpFUnordGreaterThanEqual:
1363 case SPIRV::OpFUnordLessThan:
1364 case SPIRV::OpFUnordLessThanEqual:
1365 case SPIRV::OpFUnordNotEqual:
1366 case SPIRV::OpFunction:
1367 case SPIRV::OpFunctionCall:
1368 case SPIRV::OpFunctionEnd:
1369 case SPIRV::OpFunctionParameter:
1370 case SPIRV::OpFunctionPointerCallINTEL:
1371 case SPIRV::OpFwidth:
1372 case SPIRV::OpFwidthCoarse:
1373 case SPIRV::OpFwidthFine:
1374 case SPIRV::OpGenericCastToPtr:
1375 case SPIRV::OpGenericCastToPtrExplicit:
1376 case SPIRV::OpGenericPtrMemSemantics:
1377 case SPIRV::OpGetDefaultQueue:
1378 case SPIRV::OpGroupAll:
1379 case SPIRV::OpGroupAny:
1380 case SPIRV::OpGroupAsyncCopy:
1381 case SPIRV::OpGroupBitwiseAndKHR:
1382 case SPIRV::OpGroupBitwiseOrKHR:
1383 case SPIRV::OpGroupBitwiseXorKHR:
1384 case SPIRV::OpGroupBroadcast:
1385 case SPIRV::OpGroupFAdd:
1386 case SPIRV::OpGroupFMax:
1387 case SPIRV::OpGroupFMin:
1388 case SPIRV::OpGroupFMulKHR:
1389 case SPIRV::OpGroupIAdd:
1390 case SPIRV::OpGroupIMulKHR:
1391 case SPIRV::OpGroupLogicalAndKHR:
1392 case SPIRV::OpGroupLogicalOrKHR:
1393 case SPIRV::OpGroupLogicalXorKHR:
1394 case SPIRV::OpGroupNonUniformAll:
1395 case SPIRV::OpGroupNonUniformAllEqual:
1396 case SPIRV::OpGroupNonUniformAny:
1397 case SPIRV::OpGroupNonUniformBallot:
1398 case SPIRV::OpGroupNonUniformBallotBitCount:
1399 case SPIRV::OpGroupNonUniformBallotBitExtract:
1400 case SPIRV::OpGroupNonUniformBallotFindLSB:
1401 case SPIRV::OpGroupNonUniformBallotFindMSB:
1402 case SPIRV::OpGroupNonUniformBitwiseAnd:
1403 case SPIRV::OpGroupNonUniformBitwiseOr:
1404 case SPIRV::OpGroupNonUniformBitwiseXor:
1405 case SPIRV::OpGroupNonUniformBroadcast:
1406 case SPIRV::OpGroupNonUniformBroadcastFirst:
1407 case SPIRV::OpGroupNonUniformElect:
1408 case SPIRV::OpGroupNonUniformFAdd:
1409 case SPIRV::OpGroupNonUniformFMax:
1410 case SPIRV::OpGroupNonUniformFMin:
1411 case SPIRV::OpGroupNonUniformFMul:
1412 case SPIRV::OpGroupNonUniformIAdd:
1413 case SPIRV::OpGroupNonUniformIMul:
1414 case SPIRV::OpGroupNonUniformInverseBallot:
1415 case SPIRV::OpGroupNonUniformLogicalAnd:
1416 case SPIRV::OpGroupNonUniformLogicalOr:
1417 case SPIRV::OpGroupNonUniformLogicalXor:
1418 case SPIRV::OpGroupNonUniformRotateKHR:
1419 case SPIRV::OpGroupNonUniformSMax:
1420 case SPIRV::OpGroupNonUniformSMin:
1421 case SPIRV::OpGroupNonUniformShuffle:
1422 case SPIRV::OpGroupNonUniformShuffleDown:
1423 case SPIRV::OpGroupNonUniformShuffleUp:
1424 case SPIRV::OpGroupNonUniformShuffleXor:
1425 case SPIRV::OpGroupNonUniformUMax:
1426 case SPIRV::OpGroupNonUniformUMin:
1427 case SPIRV::OpGroupSMax:
1428 case SPIRV::OpGroupSMin:
1429 case SPIRV::OpGroupUMax:
1430 case SPIRV::OpGroupUMin:
1431 case SPIRV::OpGroupWaitEvents:
1432 case SPIRV::OpIAddCarryS:
1433 case SPIRV::OpIAddCarryV:
1434 case SPIRV::OpIAddS:
1435 case SPIRV::OpIAddV:
1436 case SPIRV::OpIEqual:
1437 case SPIRV::OpIMulS:
1438 case SPIRV::OpIMulV:
1439 case SPIRV::OpINotEqual:
1440 case SPIRV::OpISubBorrowS:
1441 case SPIRV::OpISubBorrowV:
1442 case SPIRV::OpISubS:
1443 case SPIRV::OpISubV:
1444 case SPIRV::OpImage:
1445 case SPIRV::OpImageDrefGather:
1446 case SPIRV::OpImageFetch:
1447 case SPIRV::OpImageGather:
1448 case SPIRV::OpImageQueryFormat:
1449 case SPIRV::OpImageQueryLevels:
1450 case SPIRV::OpImageQueryLod:
1451 case SPIRV::OpImageQueryOrder:
1452 case SPIRV::OpImageQuerySamples:
1453 case SPIRV::OpImageQuerySize:
1454 case SPIRV::OpImageQuerySizeLod:
1455 case SPIRV::OpImageRead:
1456 case SPIRV::OpImageSampleDrefExplicitLod:
1457 case SPIRV::OpImageSampleDrefImplicitLod:
1458 case SPIRV::OpImageSampleExplicitLod:
1459 case SPIRV::OpImageSampleFootprintNV:
1460 case SPIRV::OpImageSampleImplicitLod:
1461 case SPIRV::OpImageSampleProjDrefExplicitLod:
1462 case SPIRV::OpImageSampleProjDrefImplicitLod:
1463 case SPIRV::OpImageSampleProjExplicitLod:
1464 case SPIRV::OpImageSampleProjImplicitLod:
1465 case SPIRV::OpImageSparseDrefGather:
1466 case SPIRV::OpImageSparseFetch:
1467 case SPIRV::OpImageSparseGather:
1468 case SPIRV::OpImageSparseRead:
1469 case SPIRV::OpImageSparseSampleDrefExplicitLod:
1470 case SPIRV::OpImageSparseSampleDrefImplicitLod:
1471 case SPIRV::OpImageSparseSampleExplicitLod:
1472 case SPIRV::OpImageSparseSampleImplicitLod:
1473 case SPIRV::OpImageSparseSampleProjDrefExplicitLod:
1474 case SPIRV::OpImageSparseSampleProjDrefImplicitLod:
1475 case SPIRV::OpImageSparseSampleProjExplicitLod:
1476 case SPIRV::OpImageSparseSampleProjImplicitLod:
1477 case SPIRV::OpImageSparseTexelsResident:
1478 case SPIRV::OpImageTexelPointer:
1479 case SPIRV::OpImageWrite:
1480 case SPIRV::OpInBoundsAccessChain:
1481 case SPIRV::OpInBoundsPtrAccessChain:
1482 case SPIRV::OpIsFinite:
1483 case SPIRV::OpIsInf:
1484 case SPIRV::OpIsNan:
1485 case SPIRV::OpIsNormal:
1486 case SPIRV::OpIsValidEvent:
1487 case SPIRV::OpKill:
1488 case SPIRV::OpLabel:
1489 case SPIRV::OpLessOrGreater:
1490 case SPIRV::OpLifetimeStart:
1491 case SPIRV::OpLifetimeStop:
1492 case SPIRV::OpLine:
1493 case SPIRV::OpLoad:
1494 case SPIRV::OpLogicalAnd:
1495 case SPIRV::OpLogicalEqual:
1496 case SPIRV::OpLogicalNot:
1497 case SPIRV::OpLogicalNotEqual:
1498 case SPIRV::OpLogicalOr:
1499 case SPIRV::OpLoopMerge:
1500 case SPIRV::OpMatrixTimesMatrix:
1501 case SPIRV::OpMatrixTimesScalar:
1502 case SPIRV::OpMatrixTimesVector:
1503 case SPIRV::OpMemberDecorate:
1504 case SPIRV::OpMemberDecorateString:
1505 case SPIRV::OpMemberName:
1506 case SPIRV::OpMemoryBarrier:
1507 case SPIRV::OpMemoryModel:
1508 case SPIRV::OpMemoryNamedBarrier:
1509 case SPIRV::OpModuleProcessed:
1510 case SPIRV::OpName:
1511 case SPIRV::OpNamedBarrierInitialize:
1512 case SPIRV::OpNoLine:
1513 case SPIRV::OpNop:
1514 case SPIRV::OpNot:
1515 case SPIRV::OpOrdered:
1516 case SPIRV::OpOuterProduct:
1517 case SPIRV::OpPhi:
1518 case SPIRV::OpPtrAccessChain:
1519 case SPIRV::OpPtrCastToCrossWorkgroupINTEL:
1520 case SPIRV::OpPtrCastToGeneric:
1521 case SPIRV::OpPtrDiff:
1522 case SPIRV::OpPtrEqual:
1523 case SPIRV::OpPtrNotEqual:
1524 case SPIRV::OpQuantizeToF16:
1525 case SPIRV::OpReadClockKHR:
1526 case SPIRV::OpReleaseEvent:
1527 case SPIRV::OpRestoreMemoryINTEL:
1528 case SPIRV::OpRetainEvent:
1529 case SPIRV::OpReturn:
1530 case SPIRV::OpReturnValue:
1531 case SPIRV::OpSConvert:
1532 case SPIRV::OpSDivS:
1533 case SPIRV::OpSDivV:
1534 case SPIRV::OpSDot:
1535 case SPIRV::OpSDotAccSat:
1536 case SPIRV::OpSGreaterThan:
1537 case SPIRV::OpSGreaterThanEqual:
1538 case SPIRV::OpSLessThan:
1539 case SPIRV::OpSLessThanEqual:
1540 case SPIRV::OpSMod:
1541 case SPIRV::OpSMulExtended:
1542 case SPIRV::OpSNegate:
1543 case SPIRV::OpSRemS:
1544 case SPIRV::OpSRemV:
1545 case SPIRV::OpSUDot:
1546 case SPIRV::OpSUDotAccSat:
1547 case SPIRV::OpSampledImage:
1548 case SPIRV::OpSatConvertSToU:
1549 case SPIRV::OpSatConvertUToS:
1550 case SPIRV::OpSaveMemoryINTEL:
1551 case SPIRV::OpSelectSFSCond:
1552 case SPIRV::OpSelectSFVCond:
1553 case SPIRV::OpSelectSISCond:
1554 case SPIRV::OpSelectSIVCond:
1555 case SPIRV::OpSelectSPSCond:
1556 case SPIRV::OpSelectSPVCond:
1557 case SPIRV::OpSelectVFSCond:
1558 case SPIRV::OpSelectVFVCond:
1559 case SPIRV::OpSelectVISCond:
1560 case SPIRV::OpSelectVIVCond:
1561 case SPIRV::OpSelectVPSCond:
1562 case SPIRV::OpSelectVPVCond:
1563 case SPIRV::OpSelectionMerge:
1564 case SPIRV::OpSetUserEventStatus:
1565 case SPIRV::OpShiftLeftLogicalS:
1566 case SPIRV::OpShiftLeftLogicalV:
1567 case SPIRV::OpShiftRightArithmeticS:
1568 case SPIRV::OpShiftRightArithmeticV:
1569 case SPIRV::OpShiftRightLogicalS:
1570 case SPIRV::OpShiftRightLogicalV:
1571 case SPIRV::OpSignBitSet:
1572 case SPIRV::OpSizeOf:
1573 case SPIRV::OpSource:
1574 case SPIRV::OpSourceContinued:
1575 case SPIRV::OpSourceExtension:
1576 case SPIRV::OpSpecConstant:
1577 case SPIRV::OpSpecConstantComposite:
1578 case SPIRV::OpSpecConstantCompositeContinuedINTEL:
1579 case SPIRV::OpSpecConstantFalse:
1580 case SPIRV::OpSpecConstantOp:
1581 case SPIRV::OpSpecConstantTrue:
1582 case SPIRV::OpStore:
1583 case SPIRV::OpStrictFAddS:
1584 case SPIRV::OpStrictFAddV:
1585 case SPIRV::OpStrictFDivS:
1586 case SPIRV::OpStrictFDivV:
1587 case SPIRV::OpStrictFMulS:
1588 case SPIRV::OpStrictFMulV:
1589 case SPIRV::OpStrictFRemS:
1590 case SPIRV::OpStrictFRemV:
1591 case SPIRV::OpStrictFSubS:
1592 case SPIRV::OpStrictFSubV:
1593 case SPIRV::OpString:
1594 case SPIRV::OpSubgroup2DBlockLoadINTEL:
1595 case SPIRV::OpSubgroup2DBlockLoadTransformINTEL:
1596 case SPIRV::OpSubgroup2DBlockLoadTransposeINTEL:
1597 case SPIRV::OpSubgroup2DBlockPrefetchINTEL:
1598 case SPIRV::OpSubgroup2DBlockStoreINTEL:
1599 case SPIRV::OpSubgroupBlockReadINTEL:
1600 case SPIRV::OpSubgroupBlockWriteINTEL:
1601 case SPIRV::OpSubgroupImageBlockReadINTEL:
1602 case SPIRV::OpSubgroupImageBlockWriteINTEL:
1603 case SPIRV::OpSubgroupImageMediaBlockReadINTEL:
1604 case SPIRV::OpSubgroupImageMediaBlockWriteINTEL:
1605 case SPIRV::OpSubgroupMatrixMultiplyAccumulateINTEL:
1606 case SPIRV::OpSubgroupShuffleDownINTEL:
1607 case SPIRV::OpSubgroupShuffleINTEL:
1608 case SPIRV::OpSubgroupShuffleUpINTEL:
1609 case SPIRV::OpSubgroupShuffleXorINTEL:
1610 case SPIRV::OpSwitch:
1611 case SPIRV::OpTranspose:
1612 case SPIRV::OpTypeAccelerationStructureNV:
1613 case SPIRV::OpTypeArray:
1614 case SPIRV::OpTypeBool:
1615 case SPIRV::OpTypeCooperativeMatrixKHR:
1616 case SPIRV::OpTypeCooperativeMatrixNV:
1617 case SPIRV::OpTypeDeviceEvent:
1618 case SPIRV::OpTypeEvent:
1619 case SPIRV::OpTypeFloat:
1620 case SPIRV::OpTypeForwardPointer:
1621 case SPIRV::OpTypeFunction:
1622 case SPIRV::OpTypeImage:
1623 case SPIRV::OpTypeInt:
1624 case SPIRV::OpTypeMatrix:
1625 case SPIRV::OpTypeNamedBarrier:
1626 case SPIRV::OpTypeOpaque:
1627 case SPIRV::OpTypePipe:
1628 case SPIRV::OpTypePipeStorage:
1629 case SPIRV::OpTypePointer:
1630 case SPIRV::OpTypeQueue:
1631 case SPIRV::OpTypeReserveId:
1632 case SPIRV::OpTypeRuntimeArray:
1633 case SPIRV::OpTypeSampledImage:
1634 case SPIRV::OpTypeSampler:
1635 case SPIRV::OpTypeStruct:
1636 case SPIRV::OpTypeStructContinuedINTEL:
1637 case SPIRV::OpTypeVector:
1638 case SPIRV::OpTypeVoid:
1639 case SPIRV::OpUConvert:
1640 case SPIRV::OpUDivS:
1641 case SPIRV::OpUDivV:
1642 case SPIRV::OpUDot:
1643 case SPIRV::OpUDotAccSat:
1644 case SPIRV::OpUGreaterThan:
1645 case SPIRV::OpUGreaterThanEqual:
1646 case SPIRV::OpULessThan:
1647 case SPIRV::OpULessThanEqual:
1648 case SPIRV::OpUModS:
1649 case SPIRV::OpUModV:
1650 case SPIRV::OpUMulExtended:
1651 case SPIRV::OpUndef:
1652 case SPIRV::OpUnordered:
1653 case SPIRV::OpUnreachable:
1654 case SPIRV::OpVariable:
1655 case SPIRV::OpVariableLengthArrayINTEL:
1656 case SPIRV::OpVectorExtractDynamic:
1657 case SPIRV::OpVectorInsertDynamic:
1658 case SPIRV::OpVectorShuffle:
1659 case SPIRV::OpVectorTimesMatrix:
1660 case SPIRV::OpVectorTimesScalar: {
1661 break;
1662 }
1663 }
1664 std::string msg;
1665 raw_string_ostream Msg(msg);
1666 Msg << "Not supported instr[opcode]: " << MI << "[" << OpNum << "]";
1667 report_fatal_error(Msg.str().c_str());
1668}
1669
1670#endif // GET_OPERAND_BIT_OFFSET
1671
1672