Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
#ifdef GET_SVE_IMMEDIATE_CHECK
2
case SVE::BI__builtin_sve_svasrd_n_s16_m:
3
ImmChecks.push_back(std::make_tuple(2, 3, 16));
4
  break;
5
case SVE::BI__builtin_sve_svasrd_n_s16_x:
6
ImmChecks.push_back(std::make_tuple(2, 3, 16));
7
  break;
8
case SVE::BI__builtin_sve_svasrd_n_s16_z:
9
ImmChecks.push_back(std::make_tuple(2, 3, 16));
10
  break;
11
case SVE::BI__builtin_sve_svasrd_n_s32_m:
12
ImmChecks.push_back(std::make_tuple(2, 3, 32));
13
  break;
14
case SVE::BI__builtin_sve_svasrd_n_s32_x:
15
ImmChecks.push_back(std::make_tuple(2, 3, 32));
16
  break;
17
case SVE::BI__builtin_sve_svasrd_n_s32_z:
18
ImmChecks.push_back(std::make_tuple(2, 3, 32));
19
  break;
20
case SVE::BI__builtin_sve_svasrd_n_s64_m:
21
ImmChecks.push_back(std::make_tuple(2, 3, 64));
22
  break;
23
case SVE::BI__builtin_sve_svasrd_n_s64_x:
24
ImmChecks.push_back(std::make_tuple(2, 3, 64));
25
  break;
26
case SVE::BI__builtin_sve_svasrd_n_s64_z:
27
ImmChecks.push_back(std::make_tuple(2, 3, 64));
28
  break;
29
case SVE::BI__builtin_sve_svasrd_n_s8_m:
30
ImmChecks.push_back(std::make_tuple(2, 3, 8));
31
  break;
32
case SVE::BI__builtin_sve_svasrd_n_s8_x:
33
ImmChecks.push_back(std::make_tuple(2, 3, 8));
34
  break;
35
case SVE::BI__builtin_sve_svasrd_n_s8_z:
36
ImmChecks.push_back(std::make_tuple(2, 3, 8));
37
  break;
38
case SVE::BI__builtin_sve_svbfdot_lane_f32:
39
ImmChecks.push_back(std::make_tuple(3, 15, 0));
40
  break;
41
case SVE::BI__builtin_sve_svbfmlalb_lane_f32:
42
ImmChecks.push_back(std::make_tuple(3, 6, 0));
43
  break;
44
case SVE::BI__builtin_sve_svbfmlalt_lane_f32:
45
ImmChecks.push_back(std::make_tuple(3, 6, 0));
46
  break;
47
case SVE::BI__builtin_sve_svcadd_f16_m:
48
ImmChecks.push_back(std::make_tuple(3, 10, 0));
49
  break;
50
case SVE::BI__builtin_sve_svcadd_f16_x:
51
ImmChecks.push_back(std::make_tuple(3, 10, 0));
52
  break;
53
case SVE::BI__builtin_sve_svcadd_f16_z:
54
ImmChecks.push_back(std::make_tuple(3, 10, 0));
55
  break;
56
case SVE::BI__builtin_sve_svcadd_f32_m:
57
ImmChecks.push_back(std::make_tuple(3, 10, 0));
58
  break;
59
case SVE::BI__builtin_sve_svcadd_f32_x:
60
ImmChecks.push_back(std::make_tuple(3, 10, 0));
61
  break;
62
case SVE::BI__builtin_sve_svcadd_f32_z:
63
ImmChecks.push_back(std::make_tuple(3, 10, 0));
64
  break;
65
case SVE::BI__builtin_sve_svcadd_f64_m:
66
ImmChecks.push_back(std::make_tuple(3, 10, 0));
67
  break;
68
case SVE::BI__builtin_sve_svcadd_f64_x:
69
ImmChecks.push_back(std::make_tuple(3, 10, 0));
70
  break;
71
case SVE::BI__builtin_sve_svcadd_f64_z:
72
ImmChecks.push_back(std::make_tuple(3, 10, 0));
73
  break;
74
case SVE::BI__builtin_sve_svcadd_s16:
75
ImmChecks.push_back(std::make_tuple(2, 10, 0));
76
  break;
77
case SVE::BI__builtin_sve_svcadd_s32:
78
ImmChecks.push_back(std::make_tuple(2, 10, 0));
79
  break;
80
case SVE::BI__builtin_sve_svcadd_s64:
81
ImmChecks.push_back(std::make_tuple(2, 10, 0));
82
  break;
83
case SVE::BI__builtin_sve_svcadd_s8:
84
ImmChecks.push_back(std::make_tuple(2, 10, 0));
85
  break;
86
case SVE::BI__builtin_sve_svcadd_u16:
87
ImmChecks.push_back(std::make_tuple(2, 10, 0));
88
  break;
89
case SVE::BI__builtin_sve_svcadd_u32:
90
ImmChecks.push_back(std::make_tuple(2, 10, 0));
91
  break;
92
case SVE::BI__builtin_sve_svcadd_u64:
93
ImmChecks.push_back(std::make_tuple(2, 10, 0));
94
  break;
95
case SVE::BI__builtin_sve_svcadd_u8:
96
ImmChecks.push_back(std::make_tuple(2, 10, 0));
97
  break;
98
case SVE::BI__builtin_sve_svcdot_lane_s32:
99
ImmChecks.push_back(std::make_tuple(4, 11, 0));
100
ImmChecks.push_back(std::make_tuple(3, 9, 8));
101
  break;
102
case SVE::BI__builtin_sve_svcdot_lane_s64:
103
ImmChecks.push_back(std::make_tuple(4, 11, 0));
104
ImmChecks.push_back(std::make_tuple(3, 9, 16));
105
  break;
106
case SVE::BI__builtin_sve_svcdot_s32:
107
ImmChecks.push_back(std::make_tuple(3, 11, 0));
108
  break;
109
case SVE::BI__builtin_sve_svcdot_s64:
110
ImmChecks.push_back(std::make_tuple(3, 11, 0));
111
  break;
112
case SVE::BI__builtin_sve_svcmla_f16_m:
113
ImmChecks.push_back(std::make_tuple(4, 11, 0));
114
  break;
115
case SVE::BI__builtin_sve_svcmla_f16_x:
116
ImmChecks.push_back(std::make_tuple(4, 11, 0));
117
  break;
118
case SVE::BI__builtin_sve_svcmla_f16_z:
119
ImmChecks.push_back(std::make_tuple(4, 11, 0));
120
  break;
121
case SVE::BI__builtin_sve_svcmla_f32_m:
122
ImmChecks.push_back(std::make_tuple(4, 11, 0));
123
  break;
124
case SVE::BI__builtin_sve_svcmla_f32_x:
125
ImmChecks.push_back(std::make_tuple(4, 11, 0));
126
  break;
127
case SVE::BI__builtin_sve_svcmla_f32_z:
128
ImmChecks.push_back(std::make_tuple(4, 11, 0));
129
  break;
130
case SVE::BI__builtin_sve_svcmla_f64_m:
131
ImmChecks.push_back(std::make_tuple(4, 11, 0));
132
  break;
133
case SVE::BI__builtin_sve_svcmla_f64_x:
134
ImmChecks.push_back(std::make_tuple(4, 11, 0));
135
  break;
136
case SVE::BI__builtin_sve_svcmla_f64_z:
137
ImmChecks.push_back(std::make_tuple(4, 11, 0));
138
  break;
139
case SVE::BI__builtin_sve_svcmla_lane_f16:
140
ImmChecks.push_back(std::make_tuple(3, 8, 16));
141
ImmChecks.push_back(std::make_tuple(4, 11, 0));
142
  break;
143
case SVE::BI__builtin_sve_svcmla_lane_f32:
144
ImmChecks.push_back(std::make_tuple(3, 8, 32));
145
ImmChecks.push_back(std::make_tuple(4, 11, 0));
146
  break;
147
case SVE::BI__builtin_sve_svcmla_lane_s16:
148
ImmChecks.push_back(std::make_tuple(3, 8, 16));
149
ImmChecks.push_back(std::make_tuple(4, 11, 0));
150
  break;
151
case SVE::BI__builtin_sve_svcmla_lane_s32:
152
ImmChecks.push_back(std::make_tuple(3, 8, 32));
153
ImmChecks.push_back(std::make_tuple(4, 11, 0));
154
  break;
155
case SVE::BI__builtin_sve_svcmla_lane_u16:
156
ImmChecks.push_back(std::make_tuple(3, 8, 16));
157
ImmChecks.push_back(std::make_tuple(4, 11, 0));
158
  break;
159
case SVE::BI__builtin_sve_svcmla_lane_u32:
160
ImmChecks.push_back(std::make_tuple(3, 8, 32));
161
ImmChecks.push_back(std::make_tuple(4, 11, 0));
162
  break;
163
case SVE::BI__builtin_sve_svcmla_s16:
164
ImmChecks.push_back(std::make_tuple(3, 11, 0));
165
  break;
166
case SVE::BI__builtin_sve_svcmla_s32:
167
ImmChecks.push_back(std::make_tuple(3, 11, 0));
168
  break;
169
case SVE::BI__builtin_sve_svcmla_s64:
170
ImmChecks.push_back(std::make_tuple(3, 11, 0));
171
  break;
172
case SVE::BI__builtin_sve_svcmla_s8:
173
ImmChecks.push_back(std::make_tuple(3, 11, 0));
174
  break;
175
case SVE::BI__builtin_sve_svcmla_u16:
176
ImmChecks.push_back(std::make_tuple(3, 11, 0));
177
  break;
178
case SVE::BI__builtin_sve_svcmla_u32:
179
ImmChecks.push_back(std::make_tuple(3, 11, 0));
180
  break;
181
case SVE::BI__builtin_sve_svcmla_u64:
182
ImmChecks.push_back(std::make_tuple(3, 11, 0));
183
  break;
184
case SVE::BI__builtin_sve_svcmla_u8:
185
ImmChecks.push_back(std::make_tuple(3, 11, 0));
186
  break;
187
case SVE::BI__builtin_sve_svcntb_pat:
188
ImmChecks.push_back(std::make_tuple(0, 0, 0));
189
  break;
190
case SVE::BI__builtin_sve_svcntd_pat:
191
ImmChecks.push_back(std::make_tuple(0, 0, 0));
192
  break;
193
case SVE::BI__builtin_sve_svcnth_pat:
194
ImmChecks.push_back(std::make_tuple(0, 0, 0));
195
  break;
196
case SVE::BI__builtin_sve_svcntw_pat:
197
ImmChecks.push_back(std::make_tuple(0, 0, 0));
198
  break;
199
case SVE::BI__builtin_sve_svdot_lane_s32:
200
ImmChecks.push_back(std::make_tuple(3, 9, 8));
201
  break;
202
case SVE::BI__builtin_sve_svdot_lane_s64:
203
ImmChecks.push_back(std::make_tuple(3, 9, 16));
204
  break;
205
case SVE::BI__builtin_sve_svdot_lane_u32:
206
ImmChecks.push_back(std::make_tuple(3, 9, 8));
207
  break;
208
case SVE::BI__builtin_sve_svdot_lane_u64:
209
ImmChecks.push_back(std::make_tuple(3, 9, 16));
210
  break;
211
case SVE::BI__builtin_sve_svext_bf16:
212
ImmChecks.push_back(std::make_tuple(2, 2, 16));
213
  break;
214
case SVE::BI__builtin_sve_svext_f16:
215
ImmChecks.push_back(std::make_tuple(2, 2, 16));
216
  break;
217
case SVE::BI__builtin_sve_svext_f32:
218
ImmChecks.push_back(std::make_tuple(2, 2, 32));
219
  break;
220
case SVE::BI__builtin_sve_svext_f64:
221
ImmChecks.push_back(std::make_tuple(2, 2, 64));
222
  break;
223
case SVE::BI__builtin_sve_svext_s16:
224
ImmChecks.push_back(std::make_tuple(2, 2, 16));
225
  break;
226
case SVE::BI__builtin_sve_svext_s32:
227
ImmChecks.push_back(std::make_tuple(2, 2, 32));
228
  break;
229
case SVE::BI__builtin_sve_svext_s64:
230
ImmChecks.push_back(std::make_tuple(2, 2, 64));
231
  break;
232
case SVE::BI__builtin_sve_svext_s8:
233
ImmChecks.push_back(std::make_tuple(2, 2, 8));
234
  break;
235
case SVE::BI__builtin_sve_svext_u16:
236
ImmChecks.push_back(std::make_tuple(2, 2, 16));
237
  break;
238
case SVE::BI__builtin_sve_svext_u32:
239
ImmChecks.push_back(std::make_tuple(2, 2, 32));
240
  break;
241
case SVE::BI__builtin_sve_svext_u64:
242
ImmChecks.push_back(std::make_tuple(2, 2, 64));
243
  break;
244
case SVE::BI__builtin_sve_svext_u8:
245
ImmChecks.push_back(std::make_tuple(2, 2, 8));
246
  break;
247
case SVE::BI__builtin_sve_svget2_bf16:
248
ImmChecks.push_back(std::make_tuple(1, 13, 0));
249
  break;
250
case SVE::BI__builtin_sve_svget2_f16:
251
ImmChecks.push_back(std::make_tuple(1, 13, 0));
252
  break;
253
case SVE::BI__builtin_sve_svget2_f32:
254
ImmChecks.push_back(std::make_tuple(1, 13, 0));
255
  break;
256
case SVE::BI__builtin_sve_svget2_f64:
257
ImmChecks.push_back(std::make_tuple(1, 13, 0));
258
  break;
259
case SVE::BI__builtin_sve_svget2_s16:
260
ImmChecks.push_back(std::make_tuple(1, 13, 0));
261
  break;
262
case SVE::BI__builtin_sve_svget2_s32:
263
ImmChecks.push_back(std::make_tuple(1, 13, 0));
264
  break;
265
case SVE::BI__builtin_sve_svget2_s64:
266
ImmChecks.push_back(std::make_tuple(1, 13, 0));
267
  break;
268
case SVE::BI__builtin_sve_svget2_s8:
269
ImmChecks.push_back(std::make_tuple(1, 13, 0));
270
  break;
271
case SVE::BI__builtin_sve_svget2_u16:
272
ImmChecks.push_back(std::make_tuple(1, 13, 0));
273
  break;
274
case SVE::BI__builtin_sve_svget2_u32:
275
ImmChecks.push_back(std::make_tuple(1, 13, 0));
276
  break;
277
case SVE::BI__builtin_sve_svget2_u64:
278
ImmChecks.push_back(std::make_tuple(1, 13, 0));
279
  break;
280
case SVE::BI__builtin_sve_svget2_u8:
281
ImmChecks.push_back(std::make_tuple(1, 13, 0));
282
  break;
283
case SVE::BI__builtin_sve_svget3_bf16:
284
ImmChecks.push_back(std::make_tuple(1, 14, 0));
285
  break;
286
case SVE::BI__builtin_sve_svget3_f16:
287
ImmChecks.push_back(std::make_tuple(1, 14, 0));
288
  break;
289
case SVE::BI__builtin_sve_svget3_f32:
290
ImmChecks.push_back(std::make_tuple(1, 14, 0));
291
  break;
292
case SVE::BI__builtin_sve_svget3_f64:
293
ImmChecks.push_back(std::make_tuple(1, 14, 0));
294
  break;
295
case SVE::BI__builtin_sve_svget3_s16:
296
ImmChecks.push_back(std::make_tuple(1, 14, 0));
297
  break;
298
case SVE::BI__builtin_sve_svget3_s32:
299
ImmChecks.push_back(std::make_tuple(1, 14, 0));
300
  break;
301
case SVE::BI__builtin_sve_svget3_s64:
302
ImmChecks.push_back(std::make_tuple(1, 14, 0));
303
  break;
304
case SVE::BI__builtin_sve_svget3_s8:
305
ImmChecks.push_back(std::make_tuple(1, 14, 0));
306
  break;
307
case SVE::BI__builtin_sve_svget3_u16:
308
ImmChecks.push_back(std::make_tuple(1, 14, 0));
309
  break;
310
case SVE::BI__builtin_sve_svget3_u32:
311
ImmChecks.push_back(std::make_tuple(1, 14, 0));
312
  break;
313
case SVE::BI__builtin_sve_svget3_u64:
314
ImmChecks.push_back(std::make_tuple(1, 14, 0));
315
  break;
316
case SVE::BI__builtin_sve_svget3_u8:
317
ImmChecks.push_back(std::make_tuple(1, 14, 0));
318
  break;
319
case SVE::BI__builtin_sve_svget4_bf16:
320
ImmChecks.push_back(std::make_tuple(1, 15, 0));
321
  break;
322
case SVE::BI__builtin_sve_svget4_f16:
323
ImmChecks.push_back(std::make_tuple(1, 15, 0));
324
  break;
325
case SVE::BI__builtin_sve_svget4_f32:
326
ImmChecks.push_back(std::make_tuple(1, 15, 0));
327
  break;
328
case SVE::BI__builtin_sve_svget4_f64:
329
ImmChecks.push_back(std::make_tuple(1, 15, 0));
330
  break;
331
case SVE::BI__builtin_sve_svget4_s16:
332
ImmChecks.push_back(std::make_tuple(1, 15, 0));
333
  break;
334
case SVE::BI__builtin_sve_svget4_s32:
335
ImmChecks.push_back(std::make_tuple(1, 15, 0));
336
  break;
337
case SVE::BI__builtin_sve_svget4_s64:
338
ImmChecks.push_back(std::make_tuple(1, 15, 0));
339
  break;
340
case SVE::BI__builtin_sve_svget4_s8:
341
ImmChecks.push_back(std::make_tuple(1, 15, 0));
342
  break;
343
case SVE::BI__builtin_sve_svget4_u16:
344
ImmChecks.push_back(std::make_tuple(1, 15, 0));
345
  break;
346
case SVE::BI__builtin_sve_svget4_u32:
347
ImmChecks.push_back(std::make_tuple(1, 15, 0));
348
  break;
349
case SVE::BI__builtin_sve_svget4_u64:
350
ImmChecks.push_back(std::make_tuple(1, 15, 0));
351
  break;
352
case SVE::BI__builtin_sve_svget4_u8:
353
ImmChecks.push_back(std::make_tuple(1, 15, 0));
354
  break;
355
case SVE::BI__builtin_sve_svmla_lane_f16:
356
ImmChecks.push_back(std::make_tuple(3, 7, 16));
357
  break;
358
case SVE::BI__builtin_sve_svmla_lane_f32:
359
ImmChecks.push_back(std::make_tuple(3, 7, 32));
360
  break;
361
case SVE::BI__builtin_sve_svmla_lane_f64:
362
ImmChecks.push_back(std::make_tuple(3, 7, 64));
363
  break;
364
case SVE::BI__builtin_sve_svmla_lane_s16:
365
ImmChecks.push_back(std::make_tuple(3, 7, 16));
366
  break;
367
case SVE::BI__builtin_sve_svmla_lane_s32:
368
ImmChecks.push_back(std::make_tuple(3, 7, 32));
369
  break;
370
case SVE::BI__builtin_sve_svmla_lane_s64:
371
ImmChecks.push_back(std::make_tuple(3, 7, 64));
372
  break;
373
case SVE::BI__builtin_sve_svmla_lane_u16:
374
ImmChecks.push_back(std::make_tuple(3, 7, 16));
375
  break;
376
case SVE::BI__builtin_sve_svmla_lane_u32:
377
ImmChecks.push_back(std::make_tuple(3, 7, 32));
378
  break;
379
case SVE::BI__builtin_sve_svmla_lane_u64:
380
ImmChecks.push_back(std::make_tuple(3, 7, 64));
381
  break;
382
case SVE::BI__builtin_sve_svmlalb_lane_f32:
383
ImmChecks.push_back(std::make_tuple(3, 7, 16));
384
  break;
385
case SVE::BI__builtin_sve_svmlalb_lane_s32:
386
ImmChecks.push_back(std::make_tuple(3, 7, 16));
387
  break;
388
case SVE::BI__builtin_sve_svmlalb_lane_s64:
389
ImmChecks.push_back(std::make_tuple(3, 7, 32));
390
  break;
391
case SVE::BI__builtin_sve_svmlalb_lane_u32:
392
ImmChecks.push_back(std::make_tuple(3, 7, 16));
393
  break;
394
case SVE::BI__builtin_sve_svmlalb_lane_u64:
395
ImmChecks.push_back(std::make_tuple(3, 7, 32));
396
  break;
397
case SVE::BI__builtin_sve_svmlalt_lane_f32:
398
ImmChecks.push_back(std::make_tuple(3, 7, 16));
399
  break;
400
case SVE::BI__builtin_sve_svmlalt_lane_s32:
401
ImmChecks.push_back(std::make_tuple(3, 7, 16));
402
  break;
403
case SVE::BI__builtin_sve_svmlalt_lane_s64:
404
ImmChecks.push_back(std::make_tuple(3, 7, 32));
405
  break;
406
case SVE::BI__builtin_sve_svmlalt_lane_u32:
407
ImmChecks.push_back(std::make_tuple(3, 7, 16));
408
  break;
409
case SVE::BI__builtin_sve_svmlalt_lane_u64:
410
ImmChecks.push_back(std::make_tuple(3, 7, 32));
411
  break;
412
case SVE::BI__builtin_sve_svmls_lane_f16:
413
ImmChecks.push_back(std::make_tuple(3, 7, 16));
414
  break;
415
case SVE::BI__builtin_sve_svmls_lane_f32:
416
ImmChecks.push_back(std::make_tuple(3, 7, 32));
417
  break;
418
case SVE::BI__builtin_sve_svmls_lane_f64:
419
ImmChecks.push_back(std::make_tuple(3, 7, 64));
420
  break;
421
case SVE::BI__builtin_sve_svmls_lane_s16:
422
ImmChecks.push_back(std::make_tuple(3, 7, 16));
423
  break;
424
case SVE::BI__builtin_sve_svmls_lane_s32:
425
ImmChecks.push_back(std::make_tuple(3, 7, 32));
426
  break;
427
case SVE::BI__builtin_sve_svmls_lane_s64:
428
ImmChecks.push_back(std::make_tuple(3, 7, 64));
429
  break;
430
case SVE::BI__builtin_sve_svmls_lane_u16:
431
ImmChecks.push_back(std::make_tuple(3, 7, 16));
432
  break;
433
case SVE::BI__builtin_sve_svmls_lane_u32:
434
ImmChecks.push_back(std::make_tuple(3, 7, 32));
435
  break;
436
case SVE::BI__builtin_sve_svmls_lane_u64:
437
ImmChecks.push_back(std::make_tuple(3, 7, 64));
438
  break;
439
case SVE::BI__builtin_sve_svmlslb_lane_f32:
440
ImmChecks.push_back(std::make_tuple(3, 7, 16));
441
  break;
442
case SVE::BI__builtin_sve_svmlslb_lane_s32:
443
ImmChecks.push_back(std::make_tuple(3, 7, 16));
444
  break;
445
case SVE::BI__builtin_sve_svmlslb_lane_s64:
446
ImmChecks.push_back(std::make_tuple(3, 7, 32));
447
  break;
448
case SVE::BI__builtin_sve_svmlslb_lane_u32:
449
ImmChecks.push_back(std::make_tuple(3, 7, 16));
450
  break;
451
case SVE::BI__builtin_sve_svmlslb_lane_u64:
452
ImmChecks.push_back(std::make_tuple(3, 7, 32));
453
  break;
454
case SVE::BI__builtin_sve_svmlslt_lane_f32:
455
ImmChecks.push_back(std::make_tuple(3, 7, 16));
456
  break;
457
case SVE::BI__builtin_sve_svmlslt_lane_s32:
458
ImmChecks.push_back(std::make_tuple(3, 7, 16));
459
  break;
460
case SVE::BI__builtin_sve_svmlslt_lane_s64:
461
ImmChecks.push_back(std::make_tuple(3, 7, 32));
462
  break;
463
case SVE::BI__builtin_sve_svmlslt_lane_u32:
464
ImmChecks.push_back(std::make_tuple(3, 7, 16));
465
  break;
466
case SVE::BI__builtin_sve_svmlslt_lane_u64:
467
ImmChecks.push_back(std::make_tuple(3, 7, 32));
468
  break;
469
case SVE::BI__builtin_sve_svmul_lane_f16:
470
ImmChecks.push_back(std::make_tuple(2, 7, 16));
471
  break;
472
case SVE::BI__builtin_sve_svmul_lane_f32:
473
ImmChecks.push_back(std::make_tuple(2, 7, 32));
474
  break;
475
case SVE::BI__builtin_sve_svmul_lane_f64:
476
ImmChecks.push_back(std::make_tuple(2, 7, 64));
477
  break;
478
case SVE::BI__builtin_sve_svmul_lane_s16:
479
ImmChecks.push_back(std::make_tuple(2, 7, 16));
480
  break;
481
case SVE::BI__builtin_sve_svmul_lane_s32:
482
ImmChecks.push_back(std::make_tuple(2, 7, 32));
483
  break;
484
case SVE::BI__builtin_sve_svmul_lane_s64:
485
ImmChecks.push_back(std::make_tuple(2, 7, 64));
486
  break;
487
case SVE::BI__builtin_sve_svmul_lane_u16:
488
ImmChecks.push_back(std::make_tuple(2, 7, 16));
489
  break;
490
case SVE::BI__builtin_sve_svmul_lane_u32:
491
ImmChecks.push_back(std::make_tuple(2, 7, 32));
492
  break;
493
case SVE::BI__builtin_sve_svmul_lane_u64:
494
ImmChecks.push_back(std::make_tuple(2, 7, 64));
495
  break;
496
case SVE::BI__builtin_sve_svmullb_lane_s32:
497
ImmChecks.push_back(std::make_tuple(2, 7, 16));
498
  break;
499
case SVE::BI__builtin_sve_svmullb_lane_s64:
500
ImmChecks.push_back(std::make_tuple(2, 7, 32));
501
  break;
502
case SVE::BI__builtin_sve_svmullb_lane_u32:
503
ImmChecks.push_back(std::make_tuple(2, 7, 16));
504
  break;
505
case SVE::BI__builtin_sve_svmullb_lane_u64:
506
ImmChecks.push_back(std::make_tuple(2, 7, 32));
507
  break;
508
case SVE::BI__builtin_sve_svmullt_lane_s32:
509
ImmChecks.push_back(std::make_tuple(2, 7, 16));
510
  break;
511
case SVE::BI__builtin_sve_svmullt_lane_s64:
512
ImmChecks.push_back(std::make_tuple(2, 7, 32));
513
  break;
514
case SVE::BI__builtin_sve_svmullt_lane_u32:
515
ImmChecks.push_back(std::make_tuple(2, 7, 16));
516
  break;
517
case SVE::BI__builtin_sve_svmullt_lane_u64:
518
ImmChecks.push_back(std::make_tuple(2, 7, 32));
519
  break;
520
case SVE::BI__builtin_sve_svprfb:
521
ImmChecks.push_back(std::make_tuple(2, 12, 0));
522
  break;
523
case SVE::BI__builtin_sve_svprfb_gather_s32offset:
524
ImmChecks.push_back(std::make_tuple(3, 12, 0));
525
  break;
526
case SVE::BI__builtin_sve_svprfb_gather_s64offset:
527
ImmChecks.push_back(std::make_tuple(3, 12, 0));
528
  break;
529
case SVE::BI__builtin_sve_svprfb_gather_u32base:
530
ImmChecks.push_back(std::make_tuple(2, 12, 0));
531
  break;
532
case SVE::BI__builtin_sve_svprfb_gather_u32base_offset:
533
ImmChecks.push_back(std::make_tuple(3, 12, 0));
534
  break;
535
case SVE::BI__builtin_sve_svprfb_gather_u32offset:
536
ImmChecks.push_back(std::make_tuple(3, 12, 0));
537
  break;
538
case SVE::BI__builtin_sve_svprfb_gather_u64base:
539
ImmChecks.push_back(std::make_tuple(2, 12, 0));
540
  break;
541
case SVE::BI__builtin_sve_svprfb_gather_u64base_offset:
542
ImmChecks.push_back(std::make_tuple(3, 12, 0));
543
  break;
544
case SVE::BI__builtin_sve_svprfb_gather_u64offset:
545
ImmChecks.push_back(std::make_tuple(3, 12, 0));
546
  break;
547
case SVE::BI__builtin_sve_svprfb_vnum:
548
ImmChecks.push_back(std::make_tuple(3, 12, 0));
549
  break;
550
case SVE::BI__builtin_sve_svprfd:
551
ImmChecks.push_back(std::make_tuple(2, 12, 0));
552
  break;
553
case SVE::BI__builtin_sve_svprfd_gather_s32index:
554
ImmChecks.push_back(std::make_tuple(3, 12, 0));
555
  break;
556
case SVE::BI__builtin_sve_svprfd_gather_s64index:
557
ImmChecks.push_back(std::make_tuple(3, 12, 0));
558
  break;
559
case SVE::BI__builtin_sve_svprfd_gather_u32base:
560
ImmChecks.push_back(std::make_tuple(2, 12, 0));
561
  break;
562
case SVE::BI__builtin_sve_svprfd_gather_u32base_index:
563
ImmChecks.push_back(std::make_tuple(3, 12, 0));
564
  break;
565
case SVE::BI__builtin_sve_svprfd_gather_u32index:
566
ImmChecks.push_back(std::make_tuple(3, 12, 0));
567
  break;
568
case SVE::BI__builtin_sve_svprfd_gather_u64base:
569
ImmChecks.push_back(std::make_tuple(2, 12, 0));
570
  break;
571
case SVE::BI__builtin_sve_svprfd_gather_u64base_index:
572
ImmChecks.push_back(std::make_tuple(3, 12, 0));
573
  break;
574
case SVE::BI__builtin_sve_svprfd_gather_u64index:
575
ImmChecks.push_back(std::make_tuple(3, 12, 0));
576
  break;
577
case SVE::BI__builtin_sve_svprfd_vnum:
578
ImmChecks.push_back(std::make_tuple(3, 12, 0));
579
  break;
580
case SVE::BI__builtin_sve_svprfh:
581
ImmChecks.push_back(std::make_tuple(2, 12, 0));
582
  break;
583
case SVE::BI__builtin_sve_svprfh_gather_s32index:
584
ImmChecks.push_back(std::make_tuple(3, 12, 0));
585
  break;
586
case SVE::BI__builtin_sve_svprfh_gather_s64index:
587
ImmChecks.push_back(std::make_tuple(3, 12, 0));
588
  break;
589
case SVE::BI__builtin_sve_svprfh_gather_u32base:
590
ImmChecks.push_back(std::make_tuple(2, 12, 0));
591
  break;
592
case SVE::BI__builtin_sve_svprfh_gather_u32base_index:
593
ImmChecks.push_back(std::make_tuple(3, 12, 0));
594
  break;
595
case SVE::BI__builtin_sve_svprfh_gather_u32index:
596
ImmChecks.push_back(std::make_tuple(3, 12, 0));
597
  break;
598
case SVE::BI__builtin_sve_svprfh_gather_u64base:
599
ImmChecks.push_back(std::make_tuple(2, 12, 0));
600
  break;
601
case SVE::BI__builtin_sve_svprfh_gather_u64base_index:
602
ImmChecks.push_back(std::make_tuple(3, 12, 0));
603
  break;
604
case SVE::BI__builtin_sve_svprfh_gather_u64index:
605
ImmChecks.push_back(std::make_tuple(3, 12, 0));
606
  break;
607
case SVE::BI__builtin_sve_svprfh_vnum:
608
ImmChecks.push_back(std::make_tuple(3, 12, 0));
609
  break;
610
case SVE::BI__builtin_sve_svprfw:
611
ImmChecks.push_back(std::make_tuple(2, 12, 0));
612
  break;
613
case SVE::BI__builtin_sve_svprfw_gather_s32index:
614
ImmChecks.push_back(std::make_tuple(3, 12, 0));
615
  break;
616
case SVE::BI__builtin_sve_svprfw_gather_s64index:
617
ImmChecks.push_back(std::make_tuple(3, 12, 0));
618
  break;
619
case SVE::BI__builtin_sve_svprfw_gather_u32base:
620
ImmChecks.push_back(std::make_tuple(2, 12, 0));
621
  break;
622
case SVE::BI__builtin_sve_svprfw_gather_u32base_index:
623
ImmChecks.push_back(std::make_tuple(3, 12, 0));
624
  break;
625
case SVE::BI__builtin_sve_svprfw_gather_u32index:
626
ImmChecks.push_back(std::make_tuple(3, 12, 0));
627
  break;
628
case SVE::BI__builtin_sve_svprfw_gather_u64base:
629
ImmChecks.push_back(std::make_tuple(2, 12, 0));
630
  break;
631
case SVE::BI__builtin_sve_svprfw_gather_u64base_index:
632
ImmChecks.push_back(std::make_tuple(3, 12, 0));
633
  break;
634
case SVE::BI__builtin_sve_svprfw_gather_u64index:
635
ImmChecks.push_back(std::make_tuple(3, 12, 0));
636
  break;
637
case SVE::BI__builtin_sve_svprfw_vnum:
638
ImmChecks.push_back(std::make_tuple(3, 12, 0));
639
  break;
640
case SVE::BI__builtin_sve_svptrue_pat_b16:
641
ImmChecks.push_back(std::make_tuple(0, 0, 0));
642
  break;
643
case SVE::BI__builtin_sve_svptrue_pat_b32:
644
ImmChecks.push_back(std::make_tuple(0, 0, 0));
645
  break;
646
case SVE::BI__builtin_sve_svptrue_pat_b64:
647
ImmChecks.push_back(std::make_tuple(0, 0, 0));
648
  break;
649
case SVE::BI__builtin_sve_svptrue_pat_b8:
650
ImmChecks.push_back(std::make_tuple(0, 0, 0));
651
  break;
652
case SVE::BI__builtin_sve_svqcadd_s16:
653
ImmChecks.push_back(std::make_tuple(2, 10, 0));
654
  break;
655
case SVE::BI__builtin_sve_svqcadd_s32:
656
ImmChecks.push_back(std::make_tuple(2, 10, 0));
657
  break;
658
case SVE::BI__builtin_sve_svqcadd_s64:
659
ImmChecks.push_back(std::make_tuple(2, 10, 0));
660
  break;
661
case SVE::BI__builtin_sve_svqcadd_s8:
662
ImmChecks.push_back(std::make_tuple(2, 10, 0));
663
  break;
664
case SVE::BI__builtin_sve_svqdecb_n_s32:
665
ImmChecks.push_back(std::make_tuple(1, 1, 0));
666
  break;
667
case SVE::BI__builtin_sve_svqdecb_n_s64:
668
ImmChecks.push_back(std::make_tuple(1, 1, 0));
669
  break;
670
case SVE::BI__builtin_sve_svqdecb_n_u32:
671
ImmChecks.push_back(std::make_tuple(1, 1, 0));
672
  break;
673
case SVE::BI__builtin_sve_svqdecb_n_u64:
674
ImmChecks.push_back(std::make_tuple(1, 1, 0));
675
  break;
676
case SVE::BI__builtin_sve_svqdecb_pat_n_s32:
677
ImmChecks.push_back(std::make_tuple(2, 1, 0));
678
ImmChecks.push_back(std::make_tuple(1, 0, 0));
679
  break;
680
case SVE::BI__builtin_sve_svqdecb_pat_n_s64:
681
ImmChecks.push_back(std::make_tuple(2, 1, 0));
682
ImmChecks.push_back(std::make_tuple(1, 0, 0));
683
  break;
684
case SVE::BI__builtin_sve_svqdecb_pat_n_u32:
685
ImmChecks.push_back(std::make_tuple(2, 1, 0));
686
ImmChecks.push_back(std::make_tuple(1, 0, 0));
687
  break;
688
case SVE::BI__builtin_sve_svqdecb_pat_n_u64:
689
ImmChecks.push_back(std::make_tuple(2, 1, 0));
690
ImmChecks.push_back(std::make_tuple(1, 0, 0));
691
  break;
692
case SVE::BI__builtin_sve_svqdecd_n_s32:
693
ImmChecks.push_back(std::make_tuple(1, 1, 0));
694
  break;
695
case SVE::BI__builtin_sve_svqdecd_n_s64:
696
ImmChecks.push_back(std::make_tuple(1, 1, 0));
697
  break;
698
case SVE::BI__builtin_sve_svqdecd_n_u32:
699
ImmChecks.push_back(std::make_tuple(1, 1, 0));
700
  break;
701
case SVE::BI__builtin_sve_svqdecd_n_u64:
702
ImmChecks.push_back(std::make_tuple(1, 1, 0));
703
  break;
704
case SVE::BI__builtin_sve_svqdecd_pat_n_s32:
705
ImmChecks.push_back(std::make_tuple(2, 1, 0));
706
ImmChecks.push_back(std::make_tuple(1, 0, 0));
707
  break;
708
case SVE::BI__builtin_sve_svqdecd_pat_n_s64:
709
ImmChecks.push_back(std::make_tuple(2, 1, 0));
710
ImmChecks.push_back(std::make_tuple(1, 0, 0));
711
  break;
712
case SVE::BI__builtin_sve_svqdecd_pat_n_u32:
713
ImmChecks.push_back(std::make_tuple(2, 1, 0));
714
ImmChecks.push_back(std::make_tuple(1, 0, 0));
715
  break;
716
case SVE::BI__builtin_sve_svqdecd_pat_n_u64:
717
ImmChecks.push_back(std::make_tuple(2, 1, 0));
718
ImmChecks.push_back(std::make_tuple(1, 0, 0));
719
  break;
720
case SVE::BI__builtin_sve_svqdecd_pat_s64:
721
ImmChecks.push_back(std::make_tuple(2, 1, 0));
722
ImmChecks.push_back(std::make_tuple(1, 0, 0));
723
  break;
724
case SVE::BI__builtin_sve_svqdecd_pat_u64:
725
ImmChecks.push_back(std::make_tuple(2, 1, 0));
726
ImmChecks.push_back(std::make_tuple(1, 0, 0));
727
  break;
728
case SVE::BI__builtin_sve_svqdecd_s64:
729
ImmChecks.push_back(std::make_tuple(1, 1, 0));
730
  break;
731
case SVE::BI__builtin_sve_svqdecd_u64:
732
ImmChecks.push_back(std::make_tuple(1, 1, 0));
733
  break;
734
case SVE::BI__builtin_sve_svqdech_n_s32:
735
ImmChecks.push_back(std::make_tuple(1, 1, 0));
736
  break;
737
case SVE::BI__builtin_sve_svqdech_n_s64:
738
ImmChecks.push_back(std::make_tuple(1, 1, 0));
739
  break;
740
case SVE::BI__builtin_sve_svqdech_n_u32:
741
ImmChecks.push_back(std::make_tuple(1, 1, 0));
742
  break;
743
case SVE::BI__builtin_sve_svqdech_n_u64:
744
ImmChecks.push_back(std::make_tuple(1, 1, 0));
745
  break;
746
case SVE::BI__builtin_sve_svqdech_pat_n_s32:
747
ImmChecks.push_back(std::make_tuple(2, 1, 0));
748
ImmChecks.push_back(std::make_tuple(1, 0, 0));
749
  break;
750
case SVE::BI__builtin_sve_svqdech_pat_n_s64:
751
ImmChecks.push_back(std::make_tuple(2, 1, 0));
752
ImmChecks.push_back(std::make_tuple(1, 0, 0));
753
  break;
754
case SVE::BI__builtin_sve_svqdech_pat_n_u32:
755
ImmChecks.push_back(std::make_tuple(2, 1, 0));
756
ImmChecks.push_back(std::make_tuple(1, 0, 0));
757
  break;
758
case SVE::BI__builtin_sve_svqdech_pat_n_u64:
759
ImmChecks.push_back(std::make_tuple(2, 1, 0));
760
ImmChecks.push_back(std::make_tuple(1, 0, 0));
761
  break;
762
case SVE::BI__builtin_sve_svqdech_pat_s16:
763
ImmChecks.push_back(std::make_tuple(2, 1, 0));
764
ImmChecks.push_back(std::make_tuple(1, 0, 0));
765
  break;
766
case SVE::BI__builtin_sve_svqdech_pat_u16:
767
ImmChecks.push_back(std::make_tuple(2, 1, 0));
768
ImmChecks.push_back(std::make_tuple(1, 0, 0));
769
  break;
770
case SVE::BI__builtin_sve_svqdech_s16:
771
ImmChecks.push_back(std::make_tuple(1, 1, 0));
772
  break;
773
case SVE::BI__builtin_sve_svqdech_u16:
774
ImmChecks.push_back(std::make_tuple(1, 1, 0));
775
  break;
776
case SVE::BI__builtin_sve_svqdecw_n_s32:
777
ImmChecks.push_back(std::make_tuple(1, 1, 0));
778
  break;
779
case SVE::BI__builtin_sve_svqdecw_n_s64:
780
ImmChecks.push_back(std::make_tuple(1, 1, 0));
781
  break;
782
case SVE::BI__builtin_sve_svqdecw_n_u32:
783
ImmChecks.push_back(std::make_tuple(1, 1, 0));
784
  break;
785
case SVE::BI__builtin_sve_svqdecw_n_u64:
786
ImmChecks.push_back(std::make_tuple(1, 1, 0));
787
  break;
788
case SVE::BI__builtin_sve_svqdecw_pat_n_s32:
789
ImmChecks.push_back(std::make_tuple(2, 1, 0));
790
ImmChecks.push_back(std::make_tuple(1, 0, 0));
791
  break;
792
case SVE::BI__builtin_sve_svqdecw_pat_n_s64:
793
ImmChecks.push_back(std::make_tuple(2, 1, 0));
794
ImmChecks.push_back(std::make_tuple(1, 0, 0));
795
  break;
796
case SVE::BI__builtin_sve_svqdecw_pat_n_u32:
797
ImmChecks.push_back(std::make_tuple(2, 1, 0));
798
ImmChecks.push_back(std::make_tuple(1, 0, 0));
799
  break;
800
case SVE::BI__builtin_sve_svqdecw_pat_n_u64:
801
ImmChecks.push_back(std::make_tuple(2, 1, 0));
802
ImmChecks.push_back(std::make_tuple(1, 0, 0));
803
  break;
804
case SVE::BI__builtin_sve_svqdecw_pat_s32:
805
ImmChecks.push_back(std::make_tuple(2, 1, 0));
806
ImmChecks.push_back(std::make_tuple(1, 0, 0));
807
  break;
808
case SVE::BI__builtin_sve_svqdecw_pat_u32:
809
ImmChecks.push_back(std::make_tuple(2, 1, 0));
810
ImmChecks.push_back(std::make_tuple(1, 0, 0));
811
  break;
812
case SVE::BI__builtin_sve_svqdecw_s32:
813
ImmChecks.push_back(std::make_tuple(1, 1, 0));
814
  break;
815
case SVE::BI__builtin_sve_svqdecw_u32:
816
ImmChecks.push_back(std::make_tuple(1, 1, 0));
817
  break;
818
case SVE::BI__builtin_sve_svqdmlalb_lane_s32:
819
ImmChecks.push_back(std::make_tuple(3, 7, 16));
820
  break;
821
case SVE::BI__builtin_sve_svqdmlalb_lane_s64:
822
ImmChecks.push_back(std::make_tuple(3, 7, 32));
823
  break;
824
case SVE::BI__builtin_sve_svqdmlalt_lane_s32:
825
ImmChecks.push_back(std::make_tuple(3, 7, 16));
826
  break;
827
case SVE::BI__builtin_sve_svqdmlalt_lane_s64:
828
ImmChecks.push_back(std::make_tuple(3, 7, 32));
829
  break;
830
case SVE::BI__builtin_sve_svqdmlslb_lane_s32:
831
ImmChecks.push_back(std::make_tuple(3, 7, 16));
832
  break;
833
case SVE::BI__builtin_sve_svqdmlslb_lane_s64:
834
ImmChecks.push_back(std::make_tuple(3, 7, 32));
835
  break;
836
case SVE::BI__builtin_sve_svqdmlslt_lane_s32:
837
ImmChecks.push_back(std::make_tuple(3, 7, 16));
838
  break;
839
case SVE::BI__builtin_sve_svqdmlslt_lane_s64:
840
ImmChecks.push_back(std::make_tuple(3, 7, 32));
841
  break;
842
case SVE::BI__builtin_sve_svqdmulh_lane_s16:
843
ImmChecks.push_back(std::make_tuple(2, 7, 16));
844
  break;
845
case SVE::BI__builtin_sve_svqdmulh_lane_s32:
846
ImmChecks.push_back(std::make_tuple(2, 7, 32));
847
  break;
848
case SVE::BI__builtin_sve_svqdmulh_lane_s64:
849
ImmChecks.push_back(std::make_tuple(2, 7, 64));
850
  break;
851
case SVE::BI__builtin_sve_svqdmullb_lane_s32:
852
ImmChecks.push_back(std::make_tuple(2, 7, 16));
853
  break;
854
case SVE::BI__builtin_sve_svqdmullb_lane_s64:
855
ImmChecks.push_back(std::make_tuple(2, 7, 32));
856
  break;
857
case SVE::BI__builtin_sve_svqdmullt_lane_s32:
858
ImmChecks.push_back(std::make_tuple(2, 7, 16));
859
  break;
860
case SVE::BI__builtin_sve_svqdmullt_lane_s64:
861
ImmChecks.push_back(std::make_tuple(2, 7, 32));
862
  break;
863
case SVE::BI__builtin_sve_svqincb_n_s32:
864
ImmChecks.push_back(std::make_tuple(1, 1, 0));
865
  break;
866
case SVE::BI__builtin_sve_svqincb_n_s64:
867
ImmChecks.push_back(std::make_tuple(1, 1, 0));
868
  break;
869
case SVE::BI__builtin_sve_svqincb_n_u32:
870
ImmChecks.push_back(std::make_tuple(1, 1, 0));
871
  break;
872
case SVE::BI__builtin_sve_svqincb_n_u64:
873
ImmChecks.push_back(std::make_tuple(1, 1, 0));
874
  break;
875
case SVE::BI__builtin_sve_svqincb_pat_n_s32:
876
ImmChecks.push_back(std::make_tuple(2, 1, 0));
877
ImmChecks.push_back(std::make_tuple(1, 0, 0));
878
  break;
879
case SVE::BI__builtin_sve_svqincb_pat_n_s64:
880
ImmChecks.push_back(std::make_tuple(2, 1, 0));
881
ImmChecks.push_back(std::make_tuple(1, 0, 0));
882
  break;
883
case SVE::BI__builtin_sve_svqincb_pat_n_u32:
884
ImmChecks.push_back(std::make_tuple(2, 1, 0));
885
ImmChecks.push_back(std::make_tuple(1, 0, 0));
886
  break;
887
case SVE::BI__builtin_sve_svqincb_pat_n_u64:
888
ImmChecks.push_back(std::make_tuple(2, 1, 0));
889
ImmChecks.push_back(std::make_tuple(1, 0, 0));
890
  break;
891
case SVE::BI__builtin_sve_svqincd_n_s32:
892
ImmChecks.push_back(std::make_tuple(1, 1, 0));
893
  break;
894
case SVE::BI__builtin_sve_svqincd_n_s64:
895
ImmChecks.push_back(std::make_tuple(1, 1, 0));
896
  break;
897
case SVE::BI__builtin_sve_svqincd_n_u32:
898
ImmChecks.push_back(std::make_tuple(1, 1, 0));
899
  break;
900
case SVE::BI__builtin_sve_svqincd_n_u64:
901
ImmChecks.push_back(std::make_tuple(1, 1, 0));
902
  break;
903
case SVE::BI__builtin_sve_svqincd_pat_n_s32:
904
ImmChecks.push_back(std::make_tuple(2, 1, 0));
905
ImmChecks.push_back(std::make_tuple(1, 0, 0));
906
  break;
907
case SVE::BI__builtin_sve_svqincd_pat_n_s64:
908
ImmChecks.push_back(std::make_tuple(2, 1, 0));
909
ImmChecks.push_back(std::make_tuple(1, 0, 0));
910
  break;
911
case SVE::BI__builtin_sve_svqincd_pat_n_u32:
912
ImmChecks.push_back(std::make_tuple(2, 1, 0));
913
ImmChecks.push_back(std::make_tuple(1, 0, 0));
914
  break;
915
case SVE::BI__builtin_sve_svqincd_pat_n_u64:
916
ImmChecks.push_back(std::make_tuple(2, 1, 0));
917
ImmChecks.push_back(std::make_tuple(1, 0, 0));
918
  break;
919
case SVE::BI__builtin_sve_svqincd_pat_s64:
920
ImmChecks.push_back(std::make_tuple(2, 1, 0));
921
ImmChecks.push_back(std::make_tuple(1, 0, 0));
922
  break;
923
case SVE::BI__builtin_sve_svqincd_pat_u64:
924
ImmChecks.push_back(std::make_tuple(2, 1, 0));
925
ImmChecks.push_back(std::make_tuple(1, 0, 0));
926
  break;
927
case SVE::BI__builtin_sve_svqincd_s64:
928
ImmChecks.push_back(std::make_tuple(1, 1, 0));
929
  break;
930
case SVE::BI__builtin_sve_svqincd_u64:
931
ImmChecks.push_back(std::make_tuple(1, 1, 0));
932
  break;
933
case SVE::BI__builtin_sve_svqinch_n_s32:
934
ImmChecks.push_back(std::make_tuple(1, 1, 0));
935
  break;
936
case SVE::BI__builtin_sve_svqinch_n_s64:
937
ImmChecks.push_back(std::make_tuple(1, 1, 0));
938
  break;
939
case SVE::BI__builtin_sve_svqinch_n_u32:
940
ImmChecks.push_back(std::make_tuple(1, 1, 0));
941
  break;
942
case SVE::BI__builtin_sve_svqinch_n_u64:
943
ImmChecks.push_back(std::make_tuple(1, 1, 0));
944
  break;
945
case SVE::BI__builtin_sve_svqinch_pat_n_s32:
946
ImmChecks.push_back(std::make_tuple(2, 1, 0));
947
ImmChecks.push_back(std::make_tuple(1, 0, 0));
948
  break;
949
case SVE::BI__builtin_sve_svqinch_pat_n_s64:
950
ImmChecks.push_back(std::make_tuple(2, 1, 0));
951
ImmChecks.push_back(std::make_tuple(1, 0, 0));
952
  break;
953
case SVE::BI__builtin_sve_svqinch_pat_n_u32:
954
ImmChecks.push_back(std::make_tuple(2, 1, 0));
955
ImmChecks.push_back(std::make_tuple(1, 0, 0));
956
  break;
957
case SVE::BI__builtin_sve_svqinch_pat_n_u64:
958
ImmChecks.push_back(std::make_tuple(2, 1, 0));
959
ImmChecks.push_back(std::make_tuple(1, 0, 0));
960
  break;
961
case SVE::BI__builtin_sve_svqinch_pat_s16:
962
ImmChecks.push_back(std::make_tuple(2, 1, 0));
963
ImmChecks.push_back(std::make_tuple(1, 0, 0));
964
  break;
965
case SVE::BI__builtin_sve_svqinch_pat_u16:
966
ImmChecks.push_back(std::make_tuple(2, 1, 0));
967
ImmChecks.push_back(std::make_tuple(1, 0, 0));
968
  break;
969
case SVE::BI__builtin_sve_svqinch_s16:
970
ImmChecks.push_back(std::make_tuple(1, 1, 0));
971
  break;
972
case SVE::BI__builtin_sve_svqinch_u16:
973
ImmChecks.push_back(std::make_tuple(1, 1, 0));
974
  break;
975
case SVE::BI__builtin_sve_svqincw_n_s32:
976
ImmChecks.push_back(std::make_tuple(1, 1, 0));
977
  break;
978
case SVE::BI__builtin_sve_svqincw_n_s64:
979
ImmChecks.push_back(std::make_tuple(1, 1, 0));
980
  break;
981
case SVE::BI__builtin_sve_svqincw_n_u32:
982
ImmChecks.push_back(std::make_tuple(1, 1, 0));
983
  break;
984
case SVE::BI__builtin_sve_svqincw_n_u64:
985
ImmChecks.push_back(std::make_tuple(1, 1, 0));
986
  break;
987
case SVE::BI__builtin_sve_svqincw_pat_n_s32:
988
ImmChecks.push_back(std::make_tuple(2, 1, 0));
989
ImmChecks.push_back(std::make_tuple(1, 0, 0));
990
  break;
991
case SVE::BI__builtin_sve_svqincw_pat_n_s64:
992
ImmChecks.push_back(std::make_tuple(2, 1, 0));
993
ImmChecks.push_back(std::make_tuple(1, 0, 0));
994
  break;
995
case SVE::BI__builtin_sve_svqincw_pat_n_u32:
996
ImmChecks.push_back(std::make_tuple(2, 1, 0));
997
ImmChecks.push_back(std::make_tuple(1, 0, 0));
998
  break;
999
case SVE::BI__builtin_sve_svqincw_pat_n_u64:
1000
ImmChecks.push_back(std::make_tuple(2, 1, 0));
1001
ImmChecks.push_back(std::make_tuple(1, 0, 0));
1002
  break;
1003
case SVE::BI__builtin_sve_svqincw_pat_s32:
1004
ImmChecks.push_back(std::make_tuple(2, 1, 0));
1005
ImmChecks.push_back(std::make_tuple(1, 0, 0));
1006
  break;
1007
case SVE::BI__builtin_sve_svqincw_pat_u32:
1008
ImmChecks.push_back(std::make_tuple(2, 1, 0));
1009
ImmChecks.push_back(std::make_tuple(1, 0, 0));
1010
  break;
1011
case SVE::BI__builtin_sve_svqincw_s32:
1012
ImmChecks.push_back(std::make_tuple(1, 1, 0));
1013
  break;
1014
case SVE::BI__builtin_sve_svqincw_u32:
1015
ImmChecks.push_back(std::make_tuple(1, 1, 0));
1016
  break;
1017
case SVE::BI__builtin_sve_svqrdcmlah_lane_s16:
1018
ImmChecks.push_back(std::make_tuple(3, 8, 16));
1019
ImmChecks.push_back(std::make_tuple(4, 11, 0));
1020
  break;
1021
case SVE::BI__builtin_sve_svqrdcmlah_lane_s32:
1022
ImmChecks.push_back(std::make_tuple(3, 8, 32));
1023
ImmChecks.push_back(std::make_tuple(4, 11, 0));
1024
  break;
1025
case SVE::BI__builtin_sve_svqrdcmlah_s16:
1026
ImmChecks.push_back(std::make_tuple(3, 11, 0));
1027
  break;
1028
case SVE::BI__builtin_sve_svqrdcmlah_s32:
1029
ImmChecks.push_back(std::make_tuple(3, 11, 0));
1030
  break;
1031
case SVE::BI__builtin_sve_svqrdcmlah_s64:
1032
ImmChecks.push_back(std::make_tuple(3, 11, 0));
1033
  break;
1034
case SVE::BI__builtin_sve_svqrdcmlah_s8:
1035
ImmChecks.push_back(std::make_tuple(3, 11, 0));
1036
  break;
1037
case SVE::BI__builtin_sve_svqrdmlah_lane_s16:
1038
ImmChecks.push_back(std::make_tuple(3, 7, 16));
1039
  break;
1040
case SVE::BI__builtin_sve_svqrdmlah_lane_s32:
1041
ImmChecks.push_back(std::make_tuple(3, 7, 32));
1042
  break;
1043
case SVE::BI__builtin_sve_svqrdmlah_lane_s64:
1044
ImmChecks.push_back(std::make_tuple(3, 7, 64));
1045
  break;
1046
case SVE::BI__builtin_sve_svqrdmlsh_lane_s16:
1047
ImmChecks.push_back(std::make_tuple(3, 7, 16));
1048
  break;
1049
case SVE::BI__builtin_sve_svqrdmlsh_lane_s32:
1050
ImmChecks.push_back(std::make_tuple(3, 7, 32));
1051
  break;
1052
case SVE::BI__builtin_sve_svqrdmlsh_lane_s64:
1053
ImmChecks.push_back(std::make_tuple(3, 7, 64));
1054
  break;
1055
case SVE::BI__builtin_sve_svqrdmulh_lane_s16:
1056
ImmChecks.push_back(std::make_tuple(2, 7, 16));
1057
  break;
1058
case SVE::BI__builtin_sve_svqrdmulh_lane_s32:
1059
ImmChecks.push_back(std::make_tuple(2, 7, 32));
1060
  break;
1061
case SVE::BI__builtin_sve_svqrdmulh_lane_s64:
1062
ImmChecks.push_back(std::make_tuple(2, 7, 64));
1063
  break;
1064
case SVE::BI__builtin_sve_svqrshrnb_n_s16:
1065
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1066
  break;
1067
case SVE::BI__builtin_sve_svqrshrnb_n_s32:
1068
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1069
  break;
1070
case SVE::BI__builtin_sve_svqrshrnb_n_s64:
1071
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1072
  break;
1073
case SVE::BI__builtin_sve_svqrshrnb_n_u16:
1074
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1075
  break;
1076
case SVE::BI__builtin_sve_svqrshrnb_n_u32:
1077
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1078
  break;
1079
case SVE::BI__builtin_sve_svqrshrnb_n_u64:
1080
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1081
  break;
1082
case SVE::BI__builtin_sve_svqrshrnt_n_s16:
1083
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1084
  break;
1085
case SVE::BI__builtin_sve_svqrshrnt_n_s32:
1086
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1087
  break;
1088
case SVE::BI__builtin_sve_svqrshrnt_n_s64:
1089
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1090
  break;
1091
case SVE::BI__builtin_sve_svqrshrnt_n_u16:
1092
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1093
  break;
1094
case SVE::BI__builtin_sve_svqrshrnt_n_u32:
1095
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1096
  break;
1097
case SVE::BI__builtin_sve_svqrshrnt_n_u64:
1098
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1099
  break;
1100
case SVE::BI__builtin_sve_svqrshrunb_n_s16:
1101
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1102
  break;
1103
case SVE::BI__builtin_sve_svqrshrunb_n_s32:
1104
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1105
  break;
1106
case SVE::BI__builtin_sve_svqrshrunb_n_s64:
1107
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1108
  break;
1109
case SVE::BI__builtin_sve_svqrshrunt_n_s16:
1110
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1111
  break;
1112
case SVE::BI__builtin_sve_svqrshrunt_n_s32:
1113
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1114
  break;
1115
case SVE::BI__builtin_sve_svqrshrunt_n_s64:
1116
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1117
  break;
1118
case SVE::BI__builtin_sve_svqshlu_n_s16_m:
1119
ImmChecks.push_back(std::make_tuple(2, 5, 16));
1120
  break;
1121
case SVE::BI__builtin_sve_svqshlu_n_s16_x:
1122
ImmChecks.push_back(std::make_tuple(2, 5, 16));
1123
  break;
1124
case SVE::BI__builtin_sve_svqshlu_n_s16_z:
1125
ImmChecks.push_back(std::make_tuple(2, 5, 16));
1126
  break;
1127
case SVE::BI__builtin_sve_svqshlu_n_s32_m:
1128
ImmChecks.push_back(std::make_tuple(2, 5, 32));
1129
  break;
1130
case SVE::BI__builtin_sve_svqshlu_n_s32_x:
1131
ImmChecks.push_back(std::make_tuple(2, 5, 32));
1132
  break;
1133
case SVE::BI__builtin_sve_svqshlu_n_s32_z:
1134
ImmChecks.push_back(std::make_tuple(2, 5, 32));
1135
  break;
1136
case SVE::BI__builtin_sve_svqshlu_n_s64_m:
1137
ImmChecks.push_back(std::make_tuple(2, 5, 64));
1138
  break;
1139
case SVE::BI__builtin_sve_svqshlu_n_s64_x:
1140
ImmChecks.push_back(std::make_tuple(2, 5, 64));
1141
  break;
1142
case SVE::BI__builtin_sve_svqshlu_n_s64_z:
1143
ImmChecks.push_back(std::make_tuple(2, 5, 64));
1144
  break;
1145
case SVE::BI__builtin_sve_svqshlu_n_s8_m:
1146
ImmChecks.push_back(std::make_tuple(2, 5, 8));
1147
  break;
1148
case SVE::BI__builtin_sve_svqshlu_n_s8_x:
1149
ImmChecks.push_back(std::make_tuple(2, 5, 8));
1150
  break;
1151
case SVE::BI__builtin_sve_svqshlu_n_s8_z:
1152
ImmChecks.push_back(std::make_tuple(2, 5, 8));
1153
  break;
1154
case SVE::BI__builtin_sve_svqshrnb_n_s16:
1155
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1156
  break;
1157
case SVE::BI__builtin_sve_svqshrnb_n_s32:
1158
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1159
  break;
1160
case SVE::BI__builtin_sve_svqshrnb_n_s64:
1161
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1162
  break;
1163
case SVE::BI__builtin_sve_svqshrnb_n_u16:
1164
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1165
  break;
1166
case SVE::BI__builtin_sve_svqshrnb_n_u32:
1167
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1168
  break;
1169
case SVE::BI__builtin_sve_svqshrnb_n_u64:
1170
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1171
  break;
1172
case SVE::BI__builtin_sve_svqshrnt_n_s16:
1173
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1174
  break;
1175
case SVE::BI__builtin_sve_svqshrnt_n_s32:
1176
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1177
  break;
1178
case SVE::BI__builtin_sve_svqshrnt_n_s64:
1179
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1180
  break;
1181
case SVE::BI__builtin_sve_svqshrnt_n_u16:
1182
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1183
  break;
1184
case SVE::BI__builtin_sve_svqshrnt_n_u32:
1185
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1186
  break;
1187
case SVE::BI__builtin_sve_svqshrnt_n_u64:
1188
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1189
  break;
1190
case SVE::BI__builtin_sve_svqshrunb_n_s16:
1191
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1192
  break;
1193
case SVE::BI__builtin_sve_svqshrunb_n_s32:
1194
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1195
  break;
1196
case SVE::BI__builtin_sve_svqshrunb_n_s64:
1197
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1198
  break;
1199
case SVE::BI__builtin_sve_svqshrunt_n_s16:
1200
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1201
  break;
1202
case SVE::BI__builtin_sve_svqshrunt_n_s32:
1203
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1204
  break;
1205
case SVE::BI__builtin_sve_svqshrunt_n_s64:
1206
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1207
  break;
1208
case SVE::BI__builtin_sve_svrshr_n_s16_m:
1209
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1210
  break;
1211
case SVE::BI__builtin_sve_svrshr_n_s16_x:
1212
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1213
  break;
1214
case SVE::BI__builtin_sve_svrshr_n_s16_z:
1215
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1216
  break;
1217
case SVE::BI__builtin_sve_svrshr_n_s32_m:
1218
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1219
  break;
1220
case SVE::BI__builtin_sve_svrshr_n_s32_x:
1221
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1222
  break;
1223
case SVE::BI__builtin_sve_svrshr_n_s32_z:
1224
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1225
  break;
1226
case SVE::BI__builtin_sve_svrshr_n_s64_m:
1227
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1228
  break;
1229
case SVE::BI__builtin_sve_svrshr_n_s64_x:
1230
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1231
  break;
1232
case SVE::BI__builtin_sve_svrshr_n_s64_z:
1233
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1234
  break;
1235
case SVE::BI__builtin_sve_svrshr_n_s8_m:
1236
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1237
  break;
1238
case SVE::BI__builtin_sve_svrshr_n_s8_x:
1239
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1240
  break;
1241
case SVE::BI__builtin_sve_svrshr_n_s8_z:
1242
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1243
  break;
1244
case SVE::BI__builtin_sve_svrshr_n_u16_m:
1245
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1246
  break;
1247
case SVE::BI__builtin_sve_svrshr_n_u16_x:
1248
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1249
  break;
1250
case SVE::BI__builtin_sve_svrshr_n_u16_z:
1251
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1252
  break;
1253
case SVE::BI__builtin_sve_svrshr_n_u32_m:
1254
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1255
  break;
1256
case SVE::BI__builtin_sve_svrshr_n_u32_x:
1257
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1258
  break;
1259
case SVE::BI__builtin_sve_svrshr_n_u32_z:
1260
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1261
  break;
1262
case SVE::BI__builtin_sve_svrshr_n_u64_m:
1263
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1264
  break;
1265
case SVE::BI__builtin_sve_svrshr_n_u64_x:
1266
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1267
  break;
1268
case SVE::BI__builtin_sve_svrshr_n_u64_z:
1269
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1270
  break;
1271
case SVE::BI__builtin_sve_svrshr_n_u8_m:
1272
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1273
  break;
1274
case SVE::BI__builtin_sve_svrshr_n_u8_x:
1275
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1276
  break;
1277
case SVE::BI__builtin_sve_svrshr_n_u8_z:
1278
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1279
  break;
1280
case SVE::BI__builtin_sve_svrshrnb_n_s16:
1281
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1282
  break;
1283
case SVE::BI__builtin_sve_svrshrnb_n_s32:
1284
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1285
  break;
1286
case SVE::BI__builtin_sve_svrshrnb_n_s64:
1287
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1288
  break;
1289
case SVE::BI__builtin_sve_svrshrnb_n_u16:
1290
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1291
  break;
1292
case SVE::BI__builtin_sve_svrshrnb_n_u32:
1293
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1294
  break;
1295
case SVE::BI__builtin_sve_svrshrnb_n_u64:
1296
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1297
  break;
1298
case SVE::BI__builtin_sve_svrshrnt_n_s16:
1299
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1300
  break;
1301
case SVE::BI__builtin_sve_svrshrnt_n_s32:
1302
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1303
  break;
1304
case SVE::BI__builtin_sve_svrshrnt_n_s64:
1305
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1306
  break;
1307
case SVE::BI__builtin_sve_svrshrnt_n_u16:
1308
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1309
  break;
1310
case SVE::BI__builtin_sve_svrshrnt_n_u32:
1311
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1312
  break;
1313
case SVE::BI__builtin_sve_svrshrnt_n_u64:
1314
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1315
  break;
1316
case SVE::BI__builtin_sve_svrsra_n_s16:
1317
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1318
  break;
1319
case SVE::BI__builtin_sve_svrsra_n_s32:
1320
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1321
  break;
1322
case SVE::BI__builtin_sve_svrsra_n_s64:
1323
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1324
  break;
1325
case SVE::BI__builtin_sve_svrsra_n_s8:
1326
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1327
  break;
1328
case SVE::BI__builtin_sve_svrsra_n_u16:
1329
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1330
  break;
1331
case SVE::BI__builtin_sve_svrsra_n_u32:
1332
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1333
  break;
1334
case SVE::BI__builtin_sve_svrsra_n_u64:
1335
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1336
  break;
1337
case SVE::BI__builtin_sve_svrsra_n_u8:
1338
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1339
  break;
1340
case SVE::BI__builtin_sve_svset2_bf16:
1341
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1342
  break;
1343
case SVE::BI__builtin_sve_svset2_f16:
1344
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1345
  break;
1346
case SVE::BI__builtin_sve_svset2_f32:
1347
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1348
  break;
1349
case SVE::BI__builtin_sve_svset2_f64:
1350
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1351
  break;
1352
case SVE::BI__builtin_sve_svset2_s16:
1353
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1354
  break;
1355
case SVE::BI__builtin_sve_svset2_s32:
1356
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1357
  break;
1358
case SVE::BI__builtin_sve_svset2_s64:
1359
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1360
  break;
1361
case SVE::BI__builtin_sve_svset2_s8:
1362
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1363
  break;
1364
case SVE::BI__builtin_sve_svset2_u16:
1365
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1366
  break;
1367
case SVE::BI__builtin_sve_svset2_u32:
1368
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1369
  break;
1370
case SVE::BI__builtin_sve_svset2_u64:
1371
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1372
  break;
1373
case SVE::BI__builtin_sve_svset2_u8:
1374
ImmChecks.push_back(std::make_tuple(1, 13, 0));
1375
  break;
1376
case SVE::BI__builtin_sve_svset3_bf16:
1377
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1378
  break;
1379
case SVE::BI__builtin_sve_svset3_f16:
1380
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1381
  break;
1382
case SVE::BI__builtin_sve_svset3_f32:
1383
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1384
  break;
1385
case SVE::BI__builtin_sve_svset3_f64:
1386
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1387
  break;
1388
case SVE::BI__builtin_sve_svset3_s16:
1389
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1390
  break;
1391
case SVE::BI__builtin_sve_svset3_s32:
1392
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1393
  break;
1394
case SVE::BI__builtin_sve_svset3_s64:
1395
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1396
  break;
1397
case SVE::BI__builtin_sve_svset3_s8:
1398
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1399
  break;
1400
case SVE::BI__builtin_sve_svset3_u16:
1401
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1402
  break;
1403
case SVE::BI__builtin_sve_svset3_u32:
1404
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1405
  break;
1406
case SVE::BI__builtin_sve_svset3_u64:
1407
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1408
  break;
1409
case SVE::BI__builtin_sve_svset3_u8:
1410
ImmChecks.push_back(std::make_tuple(1, 14, 0));
1411
  break;
1412
case SVE::BI__builtin_sve_svset4_bf16:
1413
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1414
  break;
1415
case SVE::BI__builtin_sve_svset4_f16:
1416
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1417
  break;
1418
case SVE::BI__builtin_sve_svset4_f32:
1419
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1420
  break;
1421
case SVE::BI__builtin_sve_svset4_f64:
1422
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1423
  break;
1424
case SVE::BI__builtin_sve_svset4_s16:
1425
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1426
  break;
1427
case SVE::BI__builtin_sve_svset4_s32:
1428
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1429
  break;
1430
case SVE::BI__builtin_sve_svset4_s64:
1431
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1432
  break;
1433
case SVE::BI__builtin_sve_svset4_s8:
1434
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1435
  break;
1436
case SVE::BI__builtin_sve_svset4_u16:
1437
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1438
  break;
1439
case SVE::BI__builtin_sve_svset4_u32:
1440
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1441
  break;
1442
case SVE::BI__builtin_sve_svset4_u64:
1443
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1444
  break;
1445
case SVE::BI__builtin_sve_svset4_u8:
1446
ImmChecks.push_back(std::make_tuple(1, 15, 0));
1447
  break;
1448
case SVE::BI__builtin_sve_svshllb_n_s16:
1449
ImmChecks.push_back(std::make_tuple(1, 5, 8));
1450
  break;
1451
case SVE::BI__builtin_sve_svshllb_n_s32:
1452
ImmChecks.push_back(std::make_tuple(1, 5, 16));
1453
  break;
1454
case SVE::BI__builtin_sve_svshllb_n_s64:
1455
ImmChecks.push_back(std::make_tuple(1, 5, 32));
1456
  break;
1457
case SVE::BI__builtin_sve_svshllb_n_u16:
1458
ImmChecks.push_back(std::make_tuple(1, 5, 8));
1459
  break;
1460
case SVE::BI__builtin_sve_svshllb_n_u32:
1461
ImmChecks.push_back(std::make_tuple(1, 5, 16));
1462
  break;
1463
case SVE::BI__builtin_sve_svshllb_n_u64:
1464
ImmChecks.push_back(std::make_tuple(1, 5, 32));
1465
  break;
1466
case SVE::BI__builtin_sve_svshllt_n_s16:
1467
ImmChecks.push_back(std::make_tuple(1, 5, 8));
1468
  break;
1469
case SVE::BI__builtin_sve_svshllt_n_s32:
1470
ImmChecks.push_back(std::make_tuple(1, 5, 16));
1471
  break;
1472
case SVE::BI__builtin_sve_svshllt_n_s64:
1473
ImmChecks.push_back(std::make_tuple(1, 5, 32));
1474
  break;
1475
case SVE::BI__builtin_sve_svshllt_n_u16:
1476
ImmChecks.push_back(std::make_tuple(1, 5, 8));
1477
  break;
1478
case SVE::BI__builtin_sve_svshllt_n_u32:
1479
ImmChecks.push_back(std::make_tuple(1, 5, 16));
1480
  break;
1481
case SVE::BI__builtin_sve_svshllt_n_u64:
1482
ImmChecks.push_back(std::make_tuple(1, 5, 32));
1483
  break;
1484
case SVE::BI__builtin_sve_svshrnb_n_s16:
1485
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1486
  break;
1487
case SVE::BI__builtin_sve_svshrnb_n_s32:
1488
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1489
  break;
1490
case SVE::BI__builtin_sve_svshrnb_n_s64:
1491
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1492
  break;
1493
case SVE::BI__builtin_sve_svshrnb_n_u16:
1494
ImmChecks.push_back(std::make_tuple(1, 4, 16));
1495
  break;
1496
case SVE::BI__builtin_sve_svshrnb_n_u32:
1497
ImmChecks.push_back(std::make_tuple(1, 4, 32));
1498
  break;
1499
case SVE::BI__builtin_sve_svshrnb_n_u64:
1500
ImmChecks.push_back(std::make_tuple(1, 4, 64));
1501
  break;
1502
case SVE::BI__builtin_sve_svshrnt_n_s16:
1503
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1504
  break;
1505
case SVE::BI__builtin_sve_svshrnt_n_s32:
1506
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1507
  break;
1508
case SVE::BI__builtin_sve_svshrnt_n_s64:
1509
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1510
  break;
1511
case SVE::BI__builtin_sve_svshrnt_n_u16:
1512
ImmChecks.push_back(std::make_tuple(2, 4, 16));
1513
  break;
1514
case SVE::BI__builtin_sve_svshrnt_n_u32:
1515
ImmChecks.push_back(std::make_tuple(2, 4, 32));
1516
  break;
1517
case SVE::BI__builtin_sve_svshrnt_n_u64:
1518
ImmChecks.push_back(std::make_tuple(2, 4, 64));
1519
  break;
1520
case SVE::BI__builtin_sve_svsli_n_s16:
1521
ImmChecks.push_back(std::make_tuple(2, 5, 16));
1522
  break;
1523
case SVE::BI__builtin_sve_svsli_n_s32:
1524
ImmChecks.push_back(std::make_tuple(2, 5, 32));
1525
  break;
1526
case SVE::BI__builtin_sve_svsli_n_s64:
1527
ImmChecks.push_back(std::make_tuple(2, 5, 64));
1528
  break;
1529
case SVE::BI__builtin_sve_svsli_n_s8:
1530
ImmChecks.push_back(std::make_tuple(2, 5, 8));
1531
  break;
1532
case SVE::BI__builtin_sve_svsli_n_u16:
1533
ImmChecks.push_back(std::make_tuple(2, 5, 16));
1534
  break;
1535
case SVE::BI__builtin_sve_svsli_n_u32:
1536
ImmChecks.push_back(std::make_tuple(2, 5, 32));
1537
  break;
1538
case SVE::BI__builtin_sve_svsli_n_u64:
1539
ImmChecks.push_back(std::make_tuple(2, 5, 64));
1540
  break;
1541
case SVE::BI__builtin_sve_svsli_n_u8:
1542
ImmChecks.push_back(std::make_tuple(2, 5, 8));
1543
  break;
1544
case SVE::BI__builtin_sve_svsra_n_s16:
1545
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1546
  break;
1547
case SVE::BI__builtin_sve_svsra_n_s32:
1548
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1549
  break;
1550
case SVE::BI__builtin_sve_svsra_n_s64:
1551
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1552
  break;
1553
case SVE::BI__builtin_sve_svsra_n_s8:
1554
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1555
  break;
1556
case SVE::BI__builtin_sve_svsra_n_u16:
1557
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1558
  break;
1559
case SVE::BI__builtin_sve_svsra_n_u32:
1560
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1561
  break;
1562
case SVE::BI__builtin_sve_svsra_n_u64:
1563
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1564
  break;
1565
case SVE::BI__builtin_sve_svsra_n_u8:
1566
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1567
  break;
1568
case SVE::BI__builtin_sve_svsri_n_s16:
1569
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1570
  break;
1571
case SVE::BI__builtin_sve_svsri_n_s32:
1572
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1573
  break;
1574
case SVE::BI__builtin_sve_svsri_n_s64:
1575
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1576
  break;
1577
case SVE::BI__builtin_sve_svsri_n_s8:
1578
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1579
  break;
1580
case SVE::BI__builtin_sve_svsri_n_u16:
1581
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1582
  break;
1583
case SVE::BI__builtin_sve_svsri_n_u32:
1584
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1585
  break;
1586
case SVE::BI__builtin_sve_svsri_n_u64:
1587
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1588
  break;
1589
case SVE::BI__builtin_sve_svsri_n_u8:
1590
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1591
  break;
1592
case SVE::BI__builtin_sve_svsudot_lane_s32:
1593
ImmChecks.push_back(std::make_tuple(3, 9, 8));
1594
  break;
1595
case SVE::BI__builtin_sve_svtmad_f16:
1596
ImmChecks.push_back(std::make_tuple(2, 6, 0));
1597
  break;
1598
case SVE::BI__builtin_sve_svtmad_f32:
1599
ImmChecks.push_back(std::make_tuple(2, 6, 0));
1600
  break;
1601
case SVE::BI__builtin_sve_svtmad_f64:
1602
ImmChecks.push_back(std::make_tuple(2, 6, 0));
1603
  break;
1604
case SVE::BI__builtin_sve_svusdot_lane_s32:
1605
ImmChecks.push_back(std::make_tuple(3, 9, 8));
1606
  break;
1607
case SVE::BI__builtin_sve_svxar_n_s16:
1608
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1609
  break;
1610
case SVE::BI__builtin_sve_svxar_n_s32:
1611
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1612
  break;
1613
case SVE::BI__builtin_sve_svxar_n_s64:
1614
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1615
  break;
1616
case SVE::BI__builtin_sve_svxar_n_s8:
1617
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1618
  break;
1619
case SVE::BI__builtin_sve_svxar_n_u16:
1620
ImmChecks.push_back(std::make_tuple(2, 3, 16));
1621
  break;
1622
case SVE::BI__builtin_sve_svxar_n_u32:
1623
ImmChecks.push_back(std::make_tuple(2, 3, 32));
1624
  break;
1625
case SVE::BI__builtin_sve_svxar_n_u64:
1626
ImmChecks.push_back(std::make_tuple(2, 3, 64));
1627
  break;
1628
case SVE::BI__builtin_sve_svxar_n_u8:
1629
ImmChecks.push_back(std::make_tuple(2, 3, 8));
1630
  break;
1631
#endif
1632