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