]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/include/llvm/IR/IntrinsicsHexagon.td
Merge clang trunk r351319, resolve conflicts, and update FREEBSD-Xlist.
[FreeBSD/FreeBSD.git] / contrib / llvm / include / llvm / IR / IntrinsicsHexagon.td
1 //===- IntrinsicsHexagon.td - Defines Hexagon intrinsics ---*- tablegen -*-===//
2 //                     The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file defines all of the Hexagon-specific intrinsics.
10 //
11 //===----------------------------------------------------------------------===//
12
13 //===----------------------------------------------------------------------===//
14 // Definitions for all Hexagon intrinsics.
15 //
16 // All Hexagon intrinsics start with "llvm.hexagon.".
17 let TargetPrefix = "hexagon" in {
18   /// Hexagon_Intrinsic - Base class for the majority of Hexagon intrinsics.
19   class Hexagon_Intrinsic<string GCCIntSuffix, list<LLVMType> ret_types,
20                               list<LLVMType> param_types,
21                               list<IntrinsicProperty> properties>
22     : GCCBuiltin<!strconcat("__builtin_", GCCIntSuffix)>,
23       Intrinsic<ret_types, param_types, properties>;
24
25   /// Hexagon_NonGCC_Intrinsic - Base class for bitcode convertible Hexagon
26   /// intrinsics.
27   class Hexagon_NonGCC_Intrinsic<list<LLVMType> ret_types,
28                                  list<LLVMType> param_types,
29                                  list<IntrinsicProperty> properties>
30     : Intrinsic<ret_types, param_types, properties>;
31 }
32
33 class Hexagon_mem_memmemsi_Intrinsic<string GCCIntSuffix>
34   : Hexagon_Intrinsic<GCCIntSuffix,
35                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_ptr_ty,
36                            llvm_i32_ty],
37                           [IntrArgMemOnly]>;
38
39 class Hexagon_mem_memsisi_Intrinsic<string GCCIntSuffix>
40   : Hexagon_Intrinsic<GCCIntSuffix,
41                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty,
42                            llvm_i32_ty],
43                           [IntrWriteMem]>;
44
45 class Hexagon_mem_memdisi_Intrinsic<string GCCIntSuffix>
46   : Hexagon_Intrinsic<GCCIntSuffix,
47                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_i64_ty,
48                            llvm_i32_ty],
49                           [IntrWriteMem]>;
50
51 class Hexagon_mem_memmemsisi_Intrinsic<string GCCIntSuffix>
52   : Hexagon_Intrinsic<GCCIntSuffix,
53                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_ptr_ty,
54                            llvm_i32_ty, llvm_i32_ty],
55                           [IntrArgMemOnly]>;
56
57 class Hexagon_mem_memsisisi_Intrinsic<string GCCIntSuffix>
58   : Hexagon_Intrinsic<GCCIntSuffix,
59                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty,
60                            llvm_i32_ty, llvm_i32_ty],
61                           [IntrWriteMem]>;
62
63 class Hexagon_mem_memdisisi_Intrinsic<string GCCIntSuffix>
64   : Hexagon_Intrinsic<GCCIntSuffix,
65                           [llvm_ptr_ty], [llvm_ptr_ty, llvm_i64_ty,
66                            llvm_i32_ty, llvm_i32_ty],
67                           [IntrWriteMem]>;
68
69 //
70 // BUILTIN_INFO_NONCONST(circ_ldd,PTR_ftype_PTRPTRSISI,4)
71 //
72 def int_hexagon_circ_ldd :
73 Hexagon_mem_memmemsisi_Intrinsic<"circ_ldd">;
74 //
75 // BUILTIN_INFO_NONCONST(circ_ldw,PTR_ftype_PTRPTRSISI,4)
76 //
77 def int_hexagon_circ_ldw :
78 Hexagon_mem_memmemsisi_Intrinsic<"circ_ldw">;
79 //
80 // BUILTIN_INFO_NONCONST(circ_ldh,PTR_ftype_PTRPTRSISI,4)
81 //
82 def int_hexagon_circ_ldh :
83 Hexagon_mem_memmemsisi_Intrinsic<"circ_ldh">;
84 //
85 // BUILTIN_INFO_NONCONST(circ_lduh,PTR_ftype_PTRPTRSISI,4)
86 //
87 def int_hexagon_circ_lduh :
88 Hexagon_mem_memmemsisi_Intrinsic<"circ_lduh">;
89 //
90 // BUILTIN_INFO_NONCONST(circ_ldb,PTR_ftype_PTRPTRSISI,4)
91 //
92 def int_hexagon_circ_ldb :
93 Hexagon_mem_memmemsisi_Intrinsic<"circ_ldb">;
94 //
95 // BUILTIN_INFO_NONCONST(circ_ldub,PTR_ftype_PTRPTRSISI,4)
96 //
97 def int_hexagon_circ_ldub :
98 Hexagon_mem_memmemsisi_Intrinsic<"circ_ldub">;
99
100 //
101 // BUILTIN_INFO_NONCONST(circ_std,PTR_ftype_PTRDISISI,4)
102 //
103 def int_hexagon_circ_std :
104 Hexagon_mem_memdisisi_Intrinsic<"circ_std">;
105 //
106 // BUILTIN_INFO_NONCONST(circ_stw,PTR_ftype_PTRSISISI,4)
107 //
108 def int_hexagon_circ_stw :
109 Hexagon_mem_memsisisi_Intrinsic<"circ_stw">;
110 //
111 // BUILTIN_INFO_NONCONST(circ_sth,PTR_ftype_PTRSISISI,4)
112 //
113 def int_hexagon_circ_sth :
114 Hexagon_mem_memsisisi_Intrinsic<"circ_sth">;
115 //
116 // BUILTIN_INFO_NONCONST(circ_sthhi,PTR_ftype_PTRSISISI,4)
117 //
118 def int_hexagon_circ_sthhi :
119 Hexagon_mem_memsisisi_Intrinsic<"circ_sthhi">;
120 //
121 // BUILTIN_INFO_NONCONST(circ_stb,PTR_ftype_PTRSISISI,4)
122 //
123 def int_hexagon_circ_stb :
124 Hexagon_mem_memsisisi_Intrinsic<"circ_stb">;
125
126 //
127 // BUILTIN_INFO(HEXAGON.dcfetch_A,v_ftype_DI*,1)
128 //
129 def int_hexagon_prefetch :
130 Hexagon_Intrinsic<"HEXAGON_prefetch", [], [llvm_ptr_ty], []>;
131 def int_hexagon_Y2_dccleana :
132 Hexagon_Intrinsic<"HEXAGON_Y2_dccleana", [], [llvm_ptr_ty], []>;
133 def int_hexagon_Y2_dccleaninva :
134 Hexagon_Intrinsic<"HEXAGON_Y2_dccleaninva", [], [llvm_ptr_ty], []>;
135 def int_hexagon_Y2_dcinva :
136 Hexagon_Intrinsic<"HEXAGON_Y2_dcinva", [], [llvm_ptr_ty], []>;
137 def int_hexagon_Y2_dczeroa :
138 Hexagon_Intrinsic<"HEXAGON_Y2_dczeroa", [], [llvm_ptr_ty],
139       [IntrWriteMem, IntrArgMemOnly, IntrHasSideEffects]>;
140 def int_hexagon_Y4_l2fetch :
141 Hexagon_Intrinsic<"HEXAGON_Y4_l2fetch", [], [llvm_ptr_ty, llvm_i32_ty], []>;
142 def int_hexagon_Y5_l2fetch :
143 Hexagon_Intrinsic<"HEXAGON_Y5_l2fetch", [], [llvm_ptr_ty, llvm_i64_ty], []>;
144
145 def llvm_ptr32_ty : LLVMPointerType<llvm_i32_ty>;
146 def llvm_ptr64_ty : LLVMPointerType<llvm_i64_ty>;
147
148 // Mark locked loads as read/write to prevent any accidental reordering.
149 def int_hexagon_L2_loadw_locked :
150 Hexagon_Intrinsic<"HEXAGON_L2_loadw_locked", [llvm_i32_ty], [llvm_ptr32_ty],
151       [IntrArgMemOnly, NoCapture<0>]>;
152 def int_hexagon_L4_loadd_locked :
153 Hexagon_Intrinsic<"HEXAGON_L4_loadd_locked", [llvm_i64_ty], [llvm_ptr64_ty],
154       [IntrArgMemOnly, NoCapture<0>]>;
155
156 def int_hexagon_S2_storew_locked :
157 Hexagon_Intrinsic<"HEXAGON_S2_storew_locked", [llvm_i32_ty],
158       [llvm_ptr32_ty, llvm_i32_ty], [IntrArgMemOnly, NoCapture<0>]>;
159 def int_hexagon_S4_stored_locked :
160 Hexagon_Intrinsic<"HEXAGON_S4_stored_locked", [llvm_i32_ty],
161       [llvm_ptr64_ty, llvm_i64_ty], [IntrArgMemOnly, NoCapture<0>]>;
162
163 def int_hexagon_vmemcpy : Hexagon_Intrinsic<"hexagon_vmemcpy",
164     [], [llvm_ptr_ty, llvm_ptr_ty, llvm_i32_ty],
165     [IntrArgMemOnly, NoCapture<0>, NoCapture<1>, WriteOnly<0>, ReadOnly<1>]>;
166
167 def int_hexagon_vmemset : Hexagon_Intrinsic<"hexagon_vmemset",
168     [], [llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty],
169     [IntrArgMemOnly, NoCapture<0>, WriteOnly<0>]>;
170
171 multiclass Hexagon_custom_circ_ld_Intrinsic<LLVMType ElTy> {
172   def NAME#_pci : Hexagon_NonGCC_Intrinsic<
173     [ElTy, llvm_ptr_ty],
174     [llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty],
175     [IntrArgMemOnly, NoCapture<3>]>;
176   def NAME#_pcr : Hexagon_NonGCC_Intrinsic<
177     [ElTy, llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty, llvm_ptr_ty],
178     [IntrArgMemOnly, NoCapture<2>]>;
179 }
180
181 defm int_hexagon_L2_loadrub : Hexagon_custom_circ_ld_Intrinsic<llvm_i32_ty>;
182 defm int_hexagon_L2_loadrb : Hexagon_custom_circ_ld_Intrinsic<llvm_i32_ty>;
183 defm int_hexagon_L2_loadruh : Hexagon_custom_circ_ld_Intrinsic<llvm_i32_ty>;
184 defm int_hexagon_L2_loadrh : Hexagon_custom_circ_ld_Intrinsic<llvm_i32_ty>;
185 defm int_hexagon_L2_loadri : Hexagon_custom_circ_ld_Intrinsic<llvm_i32_ty>;
186 defm int_hexagon_L2_loadrd : Hexagon_custom_circ_ld_Intrinsic<llvm_i64_ty>;
187
188 multiclass Hexagon_custom_circ_st_Intrinsic<LLVMType ElTy> {
189   def NAME#_pci : Hexagon_NonGCC_Intrinsic<
190     [llvm_ptr_ty],
191     [llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, ElTy, llvm_ptr_ty],
192     [IntrArgMemOnly, NoCapture<4>]>;
193   def NAME#_pcr : Hexagon_NonGCC_Intrinsic<
194     [llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty, ElTy, llvm_ptr_ty],
195     [IntrArgMemOnly, NoCapture<3>]>;
196 }
197
198 defm int_hexagon_S2_storerb : Hexagon_custom_circ_st_Intrinsic<llvm_i32_ty>;
199 defm int_hexagon_S2_storerh : Hexagon_custom_circ_st_Intrinsic<llvm_i32_ty>;
200 defm int_hexagon_S2_storerf : Hexagon_custom_circ_st_Intrinsic<llvm_i32_ty>;
201 defm int_hexagon_S2_storeri : Hexagon_custom_circ_st_Intrinsic<llvm_i32_ty>;
202 defm int_hexagon_S2_storerd : Hexagon_custom_circ_st_Intrinsic<llvm_i64_ty>;
203
204 // The front-end emits the intrinsic call with only two arguments. The third
205 // argument from the builtin is already used by front-end to write to memory
206 // by generating a store.
207 class Hexagon_custom_brev_ld_Intrinsic<LLVMType ElTy>
208  : Hexagon_NonGCC_Intrinsic<
209     [ElTy, llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty],
210     [IntrReadMem]>;
211
212 def int_hexagon_L2_loadrub_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i32_ty>;
213 def int_hexagon_L2_loadrb_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i32_ty>;
214 def int_hexagon_L2_loadruh_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i32_ty>;
215 def int_hexagon_L2_loadrh_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i32_ty>;
216 def int_hexagon_L2_loadri_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i32_ty>;
217 def int_hexagon_L2_loadrd_pbr : Hexagon_custom_brev_ld_Intrinsic<llvm_i64_ty>;
218
219 def int_hexagon_S2_storerb_pbr : Hexagon_mem_memsisi_Intrinsic<"brev_stb">;
220 def int_hexagon_S2_storerh_pbr : Hexagon_mem_memsisi_Intrinsic<"brev_sth">;
221 def int_hexagon_S2_storerf_pbr : Hexagon_mem_memsisi_Intrinsic<"brev_sthhi">;
222 def int_hexagon_S2_storeri_pbr : Hexagon_mem_memsisi_Intrinsic<"brev_stw">;
223 def int_hexagon_S2_storerd_pbr : Hexagon_mem_memdisi_Intrinsic<"brev_std">;
224
225 //
226 // Masked vector stores
227 //
228
229 //
230 // Hexagon_vv64ivmemv512_Intrinsic<string GCCIntSuffix>
231 // tag: V6_vS32b_qpred_ai
232 class Hexagon_vv64ivmemv512_Intrinsic<string GCCIntSuffix>
233  : Hexagon_Intrinsic<GCCIntSuffix,
234                           [], [llvm_v512i1_ty,llvm_ptr_ty,llvm_v16i32_ty],
235                           [IntrArgMemOnly]>;
236
237 //
238 // Hexagon_vv128ivmemv1024_Intrinsic<string GCCIntSuffix>
239 // tag: V6_vS32b_qpred_ai_128B
240 class Hexagon_vv128ivmemv1024_Intrinsic<string GCCIntSuffix>
241  : Hexagon_Intrinsic<GCCIntSuffix,
242                           [], [llvm_v1024i1_ty,llvm_ptr_ty,llvm_v32i32_ty],
243                           [IntrArgMemOnly]>;
244
245 def int_hexagon_V6_vS32b_qpred_ai :
246 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vS32b_qpred_ai">;
247
248 def int_hexagon_V6_vS32b_nqpred_ai :
249 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vS32b_nqpred_ai">;
250
251 def int_hexagon_V6_vS32b_nt_qpred_ai :
252 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vS32b_nt_qpred_ai">;
253
254 def int_hexagon_V6_vS32b_nt_nqpred_ai :
255 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vS32b_nt_nqpred_ai">;
256
257 def int_hexagon_V6_vS32b_qpred_ai_128B :
258 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vS32b_qpred_ai_128B">;
259
260 def int_hexagon_V6_vS32b_nqpred_ai_128B :
261 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vS32b_nqpred_ai_128B">;
262
263 def int_hexagon_V6_vS32b_nt_qpred_ai_128B :
264 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vS32b_nt_qpred_ai_128B">;
265
266 def int_hexagon_V6_vS32b_nt_nqpred_ai_128B :
267 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vS32b_nt_nqpred_ai_128B">;
268
269 def int_hexagon_V6_vmaskedstoreq :
270 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vmaskedstoreq">;
271
272 def int_hexagon_V6_vmaskedstorenq :
273 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vmaskedstorenq">;
274
275 def int_hexagon_V6_vmaskedstorentq :
276 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vmaskedstorentq">;
277
278 def int_hexagon_V6_vmaskedstorentnq :
279 Hexagon_vv64ivmemv512_Intrinsic<"HEXAGON_V6_vmaskedstorentnq">;
280
281 def int_hexagon_V6_vmaskedstoreq_128B :
282 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vmaskedstoreq_128B">;
283
284 def int_hexagon_V6_vmaskedstorenq_128B :
285 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vmaskedstorenq_128B">;
286
287 def int_hexagon_V6_vmaskedstorentq_128B :
288 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vmaskedstorentq_128B">;
289
290 def int_hexagon_V6_vmaskedstorentnq_128B :
291 Hexagon_vv128ivmemv1024_Intrinsic<"HEXAGON_V6_vmaskedstorentnq_128B">;
292
293 class Hexagon_V65_vvmemiiv512_Intrinsic<string GCCIntSuffix>
294  : Hexagon_Intrinsic<GCCIntSuffix,
295                           [], [llvm_ptr_ty,llvm_i32_ty,llvm_i32_ty,
296                                llvm_v16i32_ty],
297                           [IntrArgMemOnly]>;
298
299 class Hexagon_V65_vvmemiiv1024_Intrinsic<string GCCIntSuffix>
300  : Hexagon_Intrinsic<GCCIntSuffix,
301                           [], [llvm_ptr_ty,llvm_i32_ty,llvm_i32_ty,
302                                llvm_v32i32_ty],
303                           [IntrArgMemOnly]>;
304
305 class Hexagon_V65_vvmemiiv2048_Intrinsic<string GCCIntSuffix>
306  : Hexagon_Intrinsic<GCCIntSuffix,
307                           [], [llvm_ptr_ty,llvm_i32_ty,llvm_i32_ty,
308                                llvm_v64i32_ty],
309                           [IntrArgMemOnly]>;
310
311 class Hexagon_V65_vvmemv64iiiv512_Intrinsic<string GCCIntSuffix>
312  : Hexagon_Intrinsic<GCCIntSuffix,
313                           [], [llvm_ptr_ty,llvm_v512i1_ty,llvm_i32_ty,
314                                llvm_i32_ty,llvm_v16i32_ty],
315                           [IntrArgMemOnly]>;
316
317 class Hexagon_V65_vvmemv128iiiv1024_Intrinsic<string GCCIntSuffix>
318  : Hexagon_Intrinsic<GCCIntSuffix,
319                           [], [llvm_ptr_ty,llvm_v1024i1_ty,llvm_i32_ty,
320                                llvm_i32_ty,llvm_v32i32_ty],
321                           [IntrArgMemOnly]>;
322
323 class Hexagon_V65_vvmemv64iiiv1024_Intrinsic<string GCCIntSuffix>
324  : Hexagon_Intrinsic<GCCIntSuffix,
325                           [], [llvm_ptr_ty,llvm_v512i1_ty,llvm_i32_ty,
326                                llvm_i32_ty,llvm_v32i32_ty],
327                           [IntrArgMemOnly]>;
328
329 class Hexagon_V65_vvmemv128iiiv2048_Intrinsic<string GCCIntSuffix>
330  : Hexagon_Intrinsic<GCCIntSuffix,
331                           [], [llvm_ptr_ty,llvm_v1024i1_ty,llvm_i32_ty,
332                                llvm_i32_ty,llvm_v64i32_ty],
333                           [IntrArgMemOnly]>;
334
335 def int_hexagon_V6_vgathermw :
336 Hexagon_V65_vvmemiiv512_Intrinsic<"HEXAGON_V6_vgathermw">;
337
338 def int_hexagon_V6_vgathermw_128B :
339 Hexagon_V65_vvmemiiv1024_Intrinsic<"HEXAGON_V6_vgathermw_128B">;
340
341 def int_hexagon_V6_vgathermh :
342 Hexagon_V65_vvmemiiv512_Intrinsic<"HEXAGON_V6_vgathermh">;
343
344 def int_hexagon_V6_vgathermh_128B :
345 Hexagon_V65_vvmemiiv1024_Intrinsic<"HEXAGON_V6_vgathermh_128B">;
346
347 def int_hexagon_V6_vgathermhw :
348 Hexagon_V65_vvmemiiv1024_Intrinsic<"HEXAGON_V6_vgathermhw">;
349
350 def int_hexagon_V6_vgathermhw_128B :
351 Hexagon_V65_vvmemiiv2048_Intrinsic<"HEXAGON_V6_vgathermhw_128B">;
352
353 def int_hexagon_V6_vgathermwq :
354 Hexagon_V65_vvmemv64iiiv512_Intrinsic<"HEXAGON_V6_vgathermwq">;
355
356 def int_hexagon_V6_vgathermwq_128B :
357 Hexagon_V65_vvmemv128iiiv1024_Intrinsic<"HEXAGON_V6_vgathermwq_128B">;
358
359 def int_hexagon_V6_vgathermhq :
360 Hexagon_V65_vvmemv64iiiv512_Intrinsic<"HEXAGON_V6_vgathermhq">;
361
362 def int_hexagon_V6_vgathermhq_128B :
363 Hexagon_V65_vvmemv128iiiv1024_Intrinsic<"HEXAGON_V6_vgathermhq_128B">;
364
365 def int_hexagon_V6_vgathermhwq :
366 Hexagon_V65_vvmemv64iiiv1024_Intrinsic<"HEXAGON_V6_vgathermhwq">;
367
368 def int_hexagon_V6_vgathermhwq_128B :
369 Hexagon_V65_vvmemv128iiiv2048_Intrinsic<"HEXAGON_V6_vgathermhwq_128B">;
370
371 class Hexagon_V65_viiv512v512_Intrinsic<string GCCIntSuffix>
372  : Hexagon_Intrinsic<GCCIntSuffix,
373                           [], [llvm_i32_ty,llvm_i32_ty,
374                                            llvm_v16i32_ty,llvm_v16i32_ty],
375                           [IntrWriteMem]>;
376
377 class Hexagon_V65_viiv1024v1024_Intrinsic<string GCCIntSuffix>
378  : Hexagon_Intrinsic<GCCIntSuffix,
379                           [], [llvm_i32_ty,llvm_i32_ty,
380                                            llvm_v32i32_ty,llvm_v32i32_ty],
381                           [IntrWriteMem]>;
382
383 class Hexagon_V65_vv64iiiv512v512_Intrinsic<string GCCIntSuffix>
384  : Hexagon_Intrinsic<GCCIntSuffix,
385                           [], [llvm_v512i1_ty,llvm_i32_ty,
386                                            llvm_i32_ty,llvm_v16i32_ty,
387                                            llvm_v16i32_ty],
388                           [IntrWriteMem]>;
389
390 class Hexagon_V65_vv128iiiv1024v1024_Intrinsic<string GCCIntSuffix>
391  : Hexagon_Intrinsic<GCCIntSuffix,
392                           [], [llvm_v1024i1_ty,llvm_i32_ty,
393                                            llvm_i32_ty,llvm_v32i32_ty,
394                                            llvm_v32i32_ty],
395                           [IntrWriteMem]>;
396
397 class Hexagon_V65_viiv1024v512_Intrinsic<string GCCIntSuffix>
398  : Hexagon_Intrinsic<GCCIntSuffix,
399                           [], [llvm_i32_ty,llvm_i32_ty,
400                                            llvm_v32i32_ty,llvm_v16i32_ty],
401                           [IntrWriteMem]>;
402
403 class Hexagon_V65_viiv2048v1024_Intrinsic<string GCCIntSuffix>
404  : Hexagon_Intrinsic<GCCIntSuffix,
405                           [], [llvm_i32_ty,llvm_i32_ty,
406                                            llvm_v64i32_ty,llvm_v32i32_ty],
407                           [IntrWriteMem]>;
408
409 class Hexagon_V65_vv64iiiv1024v512_Intrinsic<string GCCIntSuffix>
410  : Hexagon_Intrinsic<GCCIntSuffix,
411                           [], [llvm_v512i1_ty,llvm_i32_ty,
412                                            llvm_i32_ty,llvm_v32i32_ty,
413                                            llvm_v16i32_ty],
414                           [IntrWriteMem]>;
415
416 class Hexagon_V65_vv128iiiv2048v1024_Intrinsic<string GCCIntSuffix>
417  : Hexagon_Intrinsic<GCCIntSuffix,
418                           [], [llvm_v1024i1_ty,llvm_i32_ty,
419                                            llvm_i32_ty,llvm_v64i32_ty,
420                                            llvm_v32i32_ty],
421                           [IntrWriteMem]>;
422
423 class Hexagon_V65_v2048_Intrinsic<string GCCIntSuffix>
424  : Hexagon_Intrinsic<GCCIntSuffix,
425                           [llvm_v64i32_ty], [],
426                           [IntrNoMem]>;
427
428 //
429 // BUILTIN_INFO(HEXAGON.V6_vscattermw,v_ftype_SISIVIVI,4)
430 // tag : V6_vscattermw
431 def int_hexagon_V6_vscattermw :
432 Hexagon_V65_viiv512v512_Intrinsic<"HEXAGON_V6_vscattermw">;
433
434 //
435 // BUILTIN_INFO(HEXAGON.V6_vscattermw_128B,v_ftype_SISIVIVI,4)
436 // tag : V6_vscattermw_128B
437 def int_hexagon_V6_vscattermw_128B :
438 Hexagon_V65_viiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermw_128B">;
439
440 //
441 // BUILTIN_INFO(HEXAGON.V6_vscattermh,v_ftype_SISIVIVI,4)
442 // tag : V6_vscattermh
443 def int_hexagon_V6_vscattermh :
444 Hexagon_V65_viiv512v512_Intrinsic<"HEXAGON_V6_vscattermh">;
445
446 //
447 // BUILTIN_INFO(HEXAGON.V6_vscattermh_128B,v_ftype_SISIVIVI,4)
448 // tag : V6_vscattermh_128B
449 def int_hexagon_V6_vscattermh_128B :
450 Hexagon_V65_viiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermh_128B">;
451
452 //
453 // BUILTIN_INFO(HEXAGON.V6_vscattermw_add,v_ftype_SISIVIVI,4)
454 // tag : V6_vscattermw_add
455 def int_hexagon_V6_vscattermw_add :
456 Hexagon_V65_viiv512v512_Intrinsic<"HEXAGON_V6_vscattermw_add">;
457
458 //
459 // BUILTIN_INFO(HEXAGON.V6_vscattermw_add_128B,v_ftype_SISIVIVI,4)
460 // tag : V6_vscattermw_add_128B
461 def int_hexagon_V6_vscattermw_add_128B :
462 Hexagon_V65_viiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermw_add_128B">;
463
464 //
465 // BUILTIN_INFO(HEXAGON.V6_vscattermh_add,v_ftype_SISIVIVI,4)
466 // tag : V6_vscattermh_add
467 def int_hexagon_V6_vscattermh_add :
468 Hexagon_V65_viiv512v512_Intrinsic<"HEXAGON_V6_vscattermh_add">;
469
470 //
471 // BUILTIN_INFO(HEXAGON.V6_vscattermh_add_128B,v_ftype_SISIVIVI,4)
472 // tag : V6_vscattermh_add_128B
473 def int_hexagon_V6_vscattermh_add_128B :
474 Hexagon_V65_viiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermh_add_128B">;
475
476 //
477 // BUILTIN_INFO(HEXAGON.V6_vscattermwq,v_ftype_QVSISIVIVI,5)
478 // tag : V6_vscattermwq
479 def int_hexagon_V6_vscattermwq :
480 Hexagon_V65_vv64iiiv512v512_Intrinsic<"HEXAGON_V6_vscattermwq">;
481
482 //
483 // BUILTIN_INFO(HEXAGON.V6_vscattermwq_128B,v_ftype_QVSISIVIVI,5)
484 // tag : V6_vscattermwq_128B
485 def int_hexagon_V6_vscattermwq_128B :
486 Hexagon_V65_vv128iiiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermwq_128B">;
487
488 //
489 // BUILTIN_INFO(HEXAGON.V6_vscattermhq,v_ftype_QVSISIVIVI,5)
490 // tag : V6_vscattermhq
491 def int_hexagon_V6_vscattermhq :
492 Hexagon_V65_vv64iiiv512v512_Intrinsic<"HEXAGON_V6_vscattermhq">;
493
494 //
495 // BUILTIN_INFO(HEXAGON.V6_vscattermhq_128B,v_ftype_QVSISIVIVI,5)
496 // tag : V6_vscattermhq_128B
497 def int_hexagon_V6_vscattermhq_128B :
498 Hexagon_V65_vv128iiiv1024v1024_Intrinsic<"HEXAGON_V6_vscattermhq_128B">;
499
500 //
501 // BUILTIN_INFO(HEXAGON.V6_vscattermhw,v_ftype_SISIVDVI,4)
502 // tag : V6_vscattermhw
503 def int_hexagon_V6_vscattermhw :
504 Hexagon_V65_viiv1024v512_Intrinsic<"HEXAGON_V6_vscattermhw">;
505
506 //
507 // BUILTIN_INFO(HEXAGON.V6_vscattermhw_128B,v_ftype_SISIVDVI,4)
508 // tag : V6_vscattermhw_128B
509 def int_hexagon_V6_vscattermhw_128B :
510 Hexagon_V65_viiv2048v1024_Intrinsic<"HEXAGON_V6_vscattermhw_128B">;
511
512 //
513 // BUILTIN_INFO(HEXAGON.V6_vscattermhwq,v_ftype_QVSISIVDVI,5)
514 // tag : V6_vscattermhwq
515 def int_hexagon_V6_vscattermhwq :
516 Hexagon_V65_vv64iiiv1024v512_Intrinsic<"HEXAGON_V6_vscattermhwq">;
517
518 //
519 // BUILTIN_INFO(HEXAGON.V6_vscattermhwq_128B,v_ftype_QVSISIVDVI,5)
520 // tag : V6_vscattermhwq_128B
521 def int_hexagon_V6_vscattermhwq_128B :
522 Hexagon_V65_vv128iiiv2048v1024_Intrinsic<"HEXAGON_V6_vscattermhwq_128B">;
523
524 //
525 // BUILTIN_INFO(HEXAGON.V6_vscattermhw_add,v_ftype_SISIVDVI,4)
526 // tag : V6_vscattermhw_add
527 def int_hexagon_V6_vscattermhw_add :
528 Hexagon_V65_viiv1024v512_Intrinsic<"HEXAGON_V6_vscattermhw_add">;
529
530 //
531 // BUILTIN_INFO(HEXAGON.V6_vscattermhw_add_128B,v_ftype_SISIVDVI,4)
532 // tag : V6_vscattermhw_add_128B
533 def int_hexagon_V6_vscattermhw_add_128B :
534 Hexagon_V65_viiv2048v1024_Intrinsic<"HEXAGON_V6_vscattermhw_add_128B">;
535
536 // Auto-generated intrinsics
537
538 // tag : S2_vsatwh
539 class Hexagon_i32_i64_Intrinsic<string GCCIntSuffix>
540   : Hexagon_Intrinsic<GCCIntSuffix,
541        [llvm_i32_ty], [llvm_i64_ty],
542        [IntrNoMem]>;
543
544 // tag : V6_vrmpybusv
545 class Hexagon_v16i32_v16i32v16i32_Intrinsic<string GCCIntSuffix>
546   : Hexagon_Intrinsic<GCCIntSuffix,
547        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty],
548        [IntrNoMem]>;
549
550 // tag : V6_vrmpybusv
551 class Hexagon_v32i32_v32i32v32i32_Intrinsic<string GCCIntSuffix>
552   : Hexagon_Intrinsic<GCCIntSuffix,
553        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty],
554        [IntrNoMem]>;
555
556 // tag : V6_vaslw_acc
557 class Hexagon_v16i32_v16i32v16i32i32_Intrinsic<string GCCIntSuffix>
558   : Hexagon_Intrinsic<GCCIntSuffix,
559        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty],
560        [IntrNoMem]>;
561
562 // tag : V6_vaslw_acc
563 class Hexagon_v32i32_v32i32v32i32i32_Intrinsic<string GCCIntSuffix>
564   : Hexagon_Intrinsic<GCCIntSuffix,
565        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty],
566        [IntrNoMem]>;
567
568 // tag : V6_vmux
569 class Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<string GCCIntSuffix>
570   : Hexagon_Intrinsic<GCCIntSuffix,
571        [llvm_v16i32_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty],
572        [IntrNoMem]>;
573
574 // tag : V6_vmux
575 class Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<string GCCIntSuffix>
576   : Hexagon_Intrinsic<GCCIntSuffix,
577        [llvm_v32i32_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty],
578        [IntrNoMem]>;
579
580 // tag : S2_tableidxd_goodsyntax
581 class Hexagon_i32_i32i32i32i32_Intrinsic<string GCCIntSuffix>
582   : Hexagon_Intrinsic<GCCIntSuffix,
583        [llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty,llvm_i32_ty,llvm_i32_ty],
584        [IntrNoMem]>;
585
586 // tag : V6_vandnqrt_acc
587 class Hexagon_v16i32_v16i32v512i1i32_Intrinsic<string GCCIntSuffix>
588   : Hexagon_Intrinsic<GCCIntSuffix,
589        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v512i1_ty,llvm_i32_ty],
590        [IntrNoMem]>;
591
592 // tag : V6_vandnqrt_acc
593 class Hexagon_v32i32_v32i32v1024i1i32_Intrinsic<string GCCIntSuffix>
594   : Hexagon_Intrinsic<GCCIntSuffix,
595        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v1024i1_ty,llvm_i32_ty],
596        [IntrNoMem]>;
597
598 // tag : V6_vrmpybusi
599 class Hexagon_v32i32_v32i32i32i32_Intrinsic<string GCCIntSuffix>
600   : Hexagon_Intrinsic<GCCIntSuffix,
601        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i32_ty,llvm_i32_ty],
602        [IntrNoMem]>;
603
604 // tag : V6_vrmpybusi
605 class Hexagon_v64i32_v64i32i32i32_Intrinsic<string GCCIntSuffix>
606   : Hexagon_Intrinsic<GCCIntSuffix,
607        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_i32_ty,llvm_i32_ty],
608        [IntrNoMem]>;
609
610 // tag : V6_vsubb_dv
611 class Hexagon_v64i32_v64i32v64i32_Intrinsic<string GCCIntSuffix>
612   : Hexagon_Intrinsic<GCCIntSuffix,
613        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty],
614        [IntrNoMem]>;
615
616 // tag : M2_mpysu_up
617 class Hexagon_i32_i32i32_Intrinsic<string GCCIntSuffix>
618   : Hexagon_Intrinsic<GCCIntSuffix,
619        [llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty],
620        [IntrNoMem]>;
621
622 // tag : M2_mpyud_acc_ll_s0
623 class Hexagon_i64_i64i32i32_Intrinsic<string GCCIntSuffix>
624   : Hexagon_Intrinsic<GCCIntSuffix,
625        [llvm_i64_ty], [llvm_i64_ty,llvm_i32_ty,llvm_i32_ty],
626        [IntrNoMem]>;
627
628 // tag : S2_lsr_i_r_nac
629 class Hexagon_i32_i32i32i32_Intrinsic<string GCCIntSuffix>
630   : Hexagon_Intrinsic<GCCIntSuffix,
631        [llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty,llvm_i32_ty],
632        [IntrNoMem]>;
633
634 // tag : M2_cmpysc_s0
635 class Hexagon_i64_i32i32_Intrinsic<string GCCIntSuffix>
636   : Hexagon_Intrinsic<GCCIntSuffix,
637        [llvm_i64_ty], [llvm_i32_ty,llvm_i32_ty],
638        [IntrNoMem]>;
639
640 // tag : V6_lo
641 class Hexagon_v16i32_v32i32_Intrinsic<string GCCIntSuffix>
642   : Hexagon_Intrinsic<GCCIntSuffix,
643        [llvm_v16i32_ty], [llvm_v32i32_ty],
644        [IntrNoMem]>;
645
646 // tag : V6_lo
647 class Hexagon_v32i32_v64i32_Intrinsic<string GCCIntSuffix>
648   : Hexagon_Intrinsic<GCCIntSuffix,
649        [llvm_v32i32_ty], [llvm_v64i32_ty],
650        [IntrNoMem]>;
651
652 // tag : S2_shuffoh
653 class Hexagon_i64_i64i64_Intrinsic<string GCCIntSuffix>
654   : Hexagon_Intrinsic<GCCIntSuffix,
655        [llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty],
656        [IntrNoMem]>;
657
658 // tag : F2_sfmax
659 class Hexagon_float_floatfloat_Intrinsic<string GCCIntSuffix>
660   : Hexagon_Intrinsic<GCCIntSuffix,
661        [llvm_float_ty], [llvm_float_ty,llvm_float_ty],
662        [IntrNoMem, Throws]>;
663
664 // tag : A2_vabswsat
665 class Hexagon_i64_i64_Intrinsic<string GCCIntSuffix>
666   : Hexagon_Intrinsic<GCCIntSuffix,
667        [llvm_i64_ty], [llvm_i64_ty],
668        [IntrNoMem]>;
669
670 // tag :
671 class Hexagon_v32i32_v32i32_Intrinsic<string GCCIntSuffix>
672   : Hexagon_Intrinsic<GCCIntSuffix,
673        [llvm_v32i32_ty], [llvm_v32i32_ty],
674        [IntrNoMem]>;
675
676 // tag : V6_ldnp0
677 class Hexagon_v16i32_i32i32_Intrinsic<string GCCIntSuffix>
678   : Hexagon_Intrinsic<GCCIntSuffix,
679        [llvm_v16i32_ty], [llvm_i32_ty,llvm_i32_ty],
680        [IntrNoMem]>;
681
682 // tag : V6_ldnp0
683 class Hexagon_v32i32_i32i32_Intrinsic<string GCCIntSuffix>
684   : Hexagon_Intrinsic<GCCIntSuffix,
685        [llvm_v32i32_ty], [llvm_i32_ty,llvm_i32_ty],
686        [IntrNoMem]>;
687
688 // tag : V6_vdmpyhb
689 class Hexagon_v16i32_v16i32i32_Intrinsic<string GCCIntSuffix>
690   : Hexagon_Intrinsic<GCCIntSuffix,
691        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_i32_ty],
692        [IntrNoMem]>;
693
694 // tag : V6_vdmpyhb
695 class Hexagon_v32i32_v32i32i32_Intrinsic<string GCCIntSuffix>
696   : Hexagon_Intrinsic<GCCIntSuffix,
697        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i32_ty],
698        [IntrNoMem]>;
699
700 // tag : A4_vcmphgti
701 class Hexagon_i32_i64i32_Intrinsic<string GCCIntSuffix>
702   : Hexagon_Intrinsic<GCCIntSuffix,
703        [llvm_i32_ty], [llvm_i64_ty,llvm_i32_ty],
704        [IntrNoMem]>;
705
706 // tag :
707 class Hexagon_v32i32_v16i32i32_Intrinsic<string GCCIntSuffix>
708   : Hexagon_Intrinsic<GCCIntSuffix,
709        [llvm_v32i32_ty], [llvm_v16i32_ty,llvm_i32_ty],
710        [IntrNoMem]>;
711
712 // tag : S6_rol_i_p_or
713 class Hexagon_i64_i64i64i32_Intrinsic<string GCCIntSuffix>
714   : Hexagon_Intrinsic<GCCIntSuffix,
715        [llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i32_ty],
716        [IntrNoMem]>;
717
718 // tag : V6_vgtuh_and
719 class Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<string GCCIntSuffix>
720   : Hexagon_Intrinsic<GCCIntSuffix,
721        [llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty],
722        [IntrNoMem]>;
723
724 // tag : V6_vgtuh_and
725 class Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<string GCCIntSuffix>
726   : Hexagon_Intrinsic<GCCIntSuffix,
727        [llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty],
728        [IntrNoMem]>;
729
730 // tag : A2_abssat
731 class Hexagon_i32_i32_Intrinsic<string GCCIntSuffix>
732   : Hexagon_Intrinsic<GCCIntSuffix,
733        [llvm_i32_ty], [llvm_i32_ty],
734        [IntrNoMem]>;
735
736 // tag : A2_vcmpwgtu
737 class Hexagon_i32_i64i64_Intrinsic<string GCCIntSuffix>
738   : Hexagon_Intrinsic<GCCIntSuffix,
739        [llvm_i32_ty], [llvm_i64_ty,llvm_i64_ty],
740        [IntrNoMem]>;
741
742 // tag : V6_vtmpybus_acc
743 class Hexagon_v64i32_v64i32v64i32i32_Intrinsic<string GCCIntSuffix>
744   : Hexagon_Intrinsic<GCCIntSuffix,
745        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty,llvm_i32_ty],
746        [IntrNoMem]>;
747
748 // tag : F2_conv_df2uw_chop
749 class Hexagon_i32_double_Intrinsic<string GCCIntSuffix>
750   : Hexagon_Intrinsic<GCCIntSuffix,
751        [llvm_i32_ty], [llvm_double_ty],
752        [IntrNoMem]>;
753
754 // tag : V6_pred_or
755 class Hexagon_v512i1_v512i1v512i1_Intrinsic<string GCCIntSuffix>
756   : Hexagon_Intrinsic<GCCIntSuffix,
757        [llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v512i1_ty],
758        [IntrNoMem]>;
759
760 // tag : V6_pred_or
761 class Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<string GCCIntSuffix>
762   : Hexagon_Intrinsic<GCCIntSuffix,
763        [llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v1024i1_ty],
764        [IntrNoMem]>;
765
766 // tag : S2_asr_i_p_rnd_goodsyntax
767 class Hexagon_i64_i64i32_Intrinsic<string GCCIntSuffix>
768   : Hexagon_Intrinsic<GCCIntSuffix,
769        [llvm_i64_ty], [llvm_i64_ty,llvm_i32_ty],
770        [IntrNoMem]>;
771
772 // tag : F2_conv_w2df
773 class Hexagon_double_i32_Intrinsic<string GCCIntSuffix>
774   : Hexagon_Intrinsic<GCCIntSuffix,
775        [llvm_double_ty], [llvm_i32_ty],
776        [IntrNoMem]>;
777
778 // tag : V6_vunpackuh
779 class Hexagon_v32i32_v16i32_Intrinsic<string GCCIntSuffix>
780   : Hexagon_Intrinsic<GCCIntSuffix,
781        [llvm_v32i32_ty], [llvm_v16i32_ty],
782        [IntrNoMem]>;
783
784 // tag : V6_vunpackuh
785 class Hexagon_v64i32_v32i32_Intrinsic<string GCCIntSuffix>
786   : Hexagon_Intrinsic<GCCIntSuffix,
787        [llvm_v64i32_ty], [llvm_v32i32_ty],
788        [IntrNoMem]>;
789
790 // tag : V6_vadduhw_acc
791 class Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<string GCCIntSuffix>
792   : Hexagon_Intrinsic<GCCIntSuffix,
793        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_v16i32_ty],
794        [IntrNoMem]>;
795
796 // tag : V6_vadduhw_acc
797 class Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<string GCCIntSuffix>
798   : Hexagon_Intrinsic<GCCIntSuffix,
799        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_v32i32_ty],
800        [IntrNoMem]>;
801
802 // tag : M2_vdmacs_s0
803 class Hexagon_i64_i64i64i64_Intrinsic<string GCCIntSuffix>
804   : Hexagon_Intrinsic<GCCIntSuffix,
805        [llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i64_ty],
806        [IntrNoMem]>;
807
808 // tag : V6_vrmpybub_rtt_acc
809 class Hexagon_v32i32_v32i32v16i32i64_Intrinsic<string GCCIntSuffix>
810   : Hexagon_Intrinsic<GCCIntSuffix,
811        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_i64_ty],
812        [IntrNoMem]>;
813
814 // tag : V6_vrmpybub_rtt_acc
815 class Hexagon_v64i32_v64i32v32i32i64_Intrinsic<string GCCIntSuffix>
816   : Hexagon_Intrinsic<GCCIntSuffix,
817        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_i64_ty],
818        [IntrNoMem]>;
819
820 // tag : V6_ldu0
821 class Hexagon_v16i32_i32_Intrinsic<string GCCIntSuffix>
822   : Hexagon_Intrinsic<GCCIntSuffix,
823        [llvm_v16i32_ty], [llvm_i32_ty],
824        [IntrNoMem]>;
825
826 // tag : V6_ldu0
827 class Hexagon_v32i32_i32_Intrinsic<string GCCIntSuffix>
828   : Hexagon_Intrinsic<GCCIntSuffix,
829        [llvm_v32i32_ty], [llvm_i32_ty],
830        [IntrNoMem]>;
831
832 // tag : S4_extract_rp
833 class Hexagon_i32_i32i64_Intrinsic<string GCCIntSuffix>
834   : Hexagon_Intrinsic<GCCIntSuffix,
835        [llvm_i32_ty], [llvm_i32_ty,llvm_i64_ty],
836        [IntrNoMem]>;
837
838 // tag : V6_vdmpyhsuisat
839 class Hexagon_v16i32_v32i32i32_Intrinsic<string GCCIntSuffix>
840   : Hexagon_Intrinsic<GCCIntSuffix,
841        [llvm_v16i32_ty], [llvm_v32i32_ty,llvm_i32_ty],
842        [IntrNoMem]>;
843
844 // tag : V6_vdmpyhsuisat
845 class Hexagon_v32i32_v64i32i32_Intrinsic<string GCCIntSuffix>
846   : Hexagon_Intrinsic<GCCIntSuffix,
847        [llvm_v32i32_ty], [llvm_v64i32_ty,llvm_i32_ty],
848        [IntrNoMem]>;
849
850 // tag : A2_addsp
851 class Hexagon_i64_i32i64_Intrinsic<string GCCIntSuffix>
852   : Hexagon_Intrinsic<GCCIntSuffix,
853        [llvm_i64_ty], [llvm_i32_ty,llvm_i64_ty],
854        [IntrNoMem]>;
855
856 // tag : V6_extractw
857 class Hexagon_i32_v16i32i32_Intrinsic<string GCCIntSuffix>
858   : Hexagon_Intrinsic<GCCIntSuffix,
859        [llvm_i32_ty], [llvm_v16i32_ty,llvm_i32_ty],
860        [IntrNoMem]>;
861
862 // tag : V6_extractw
863 class Hexagon_i32_v32i32i32_Intrinsic<string GCCIntSuffix>
864   : Hexagon_Intrinsic<GCCIntSuffix,
865        [llvm_i32_ty], [llvm_v32i32_ty,llvm_i32_ty],
866        [IntrNoMem]>;
867
868 // tag : V6_vlutvwhi
869 class Hexagon_v32i32_v16i32v16i32i32_Intrinsic<string GCCIntSuffix>
870   : Hexagon_Intrinsic<GCCIntSuffix,
871        [llvm_v32i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty],
872        [IntrNoMem]>;
873
874 // tag : V6_vlutvwhi
875 class Hexagon_v64i32_v32i32v32i32i32_Intrinsic<string GCCIntSuffix>
876   : Hexagon_Intrinsic<GCCIntSuffix,
877        [llvm_v64i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty],
878        [IntrNoMem]>;
879
880 // tag : V6_vgtuh
881 class Hexagon_v512i1_v16i32v16i32_Intrinsic<string GCCIntSuffix>
882   : Hexagon_Intrinsic<GCCIntSuffix,
883        [llvm_v512i1_ty], [llvm_v16i32_ty,llvm_v16i32_ty],
884        [IntrNoMem]>;
885
886 // tag : V6_vgtuh
887 class Hexagon_v1024i1_v32i32v32i32_Intrinsic<string GCCIntSuffix>
888   : Hexagon_Intrinsic<GCCIntSuffix,
889        [llvm_v1024i1_ty], [llvm_v32i32_ty,llvm_v32i32_ty],
890        [IntrNoMem]>;
891
892 // tag : F2_sffma_lib
893 class Hexagon_float_floatfloatfloat_Intrinsic<string GCCIntSuffix>
894   : Hexagon_Intrinsic<GCCIntSuffix,
895        [llvm_float_ty], [llvm_float_ty,llvm_float_ty,llvm_float_ty],
896        [IntrNoMem, Throws]>;
897
898 // tag : F2_conv_ud2df
899 class Hexagon_double_i64_Intrinsic<string GCCIntSuffix>
900   : Hexagon_Intrinsic<GCCIntSuffix,
901        [llvm_double_ty], [llvm_i64_ty],
902        [IntrNoMem]>;
903
904 // tag : S2_vzxthw
905 class Hexagon_i64_i32_Intrinsic<string GCCIntSuffix>
906   : Hexagon_Intrinsic<GCCIntSuffix,
907        [llvm_i64_ty], [llvm_i32_ty],
908        [IntrNoMem]>;
909
910 // tag : V6_vtmpyhb
911 class Hexagon_v64i32_v64i32i32_Intrinsic<string GCCIntSuffix>
912   : Hexagon_Intrinsic<GCCIntSuffix,
913        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_i32_ty],
914        [IntrNoMem]>;
915
916 // tag : V6_vshufoeh
917 class Hexagon_v32i32_v16i32v16i32_Intrinsic<string GCCIntSuffix>
918   : Hexagon_Intrinsic<GCCIntSuffix,
919        [llvm_v32i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty],
920        [IntrNoMem]>;
921
922 // tag : V6_vshufoeh
923 class Hexagon_v64i32_v32i32v32i32_Intrinsic<string GCCIntSuffix>
924   : Hexagon_Intrinsic<GCCIntSuffix,
925        [llvm_v64i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty],
926        [IntrNoMem]>;
927
928 // tag : V6_vlut4
929 class Hexagon_v16i32_v16i32i64_Intrinsic<string GCCIntSuffix>
930   : Hexagon_Intrinsic<GCCIntSuffix,
931        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_i64_ty],
932        [IntrNoMem]>;
933
934 // tag : V6_vlut4
935 class Hexagon_v32i32_v32i32i64_Intrinsic<string GCCIntSuffix>
936   : Hexagon_Intrinsic<GCCIntSuffix,
937        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i64_ty],
938        [IntrNoMem]>;
939
940 // tag :
941 class Hexagon_v16i32_v16i32_Intrinsic<string GCCIntSuffix>
942   : Hexagon_Intrinsic<GCCIntSuffix,
943        [llvm_v16i32_ty], [llvm_v16i32_ty],
944        [IntrNoMem]>;
945
946 // tag : F2_conv_uw2sf
947 class Hexagon_float_i32_Intrinsic<string GCCIntSuffix>
948   : Hexagon_Intrinsic<GCCIntSuffix,
949        [llvm_float_ty], [llvm_i32_ty],
950        [IntrNoMem]>;
951
952 // tag : V6_vswap
953 class Hexagon_v32i32_v512i1v16i32v16i32_Intrinsic<string GCCIntSuffix>
954   : Hexagon_Intrinsic<GCCIntSuffix,
955        [llvm_v32i32_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty],
956        [IntrNoMem]>;
957
958 // tag : V6_vswap
959 class Hexagon_v64i32_v1024i1v32i32v32i32_Intrinsic<string GCCIntSuffix>
960   : Hexagon_Intrinsic<GCCIntSuffix,
961        [llvm_v64i32_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty],
962        [IntrNoMem]>;
963
964 // tag : V6_vandnqrt
965 class Hexagon_v16i32_v512i1i32_Intrinsic<string GCCIntSuffix>
966   : Hexagon_Intrinsic<GCCIntSuffix,
967        [llvm_v16i32_ty], [llvm_v512i1_ty,llvm_i32_ty],
968        [IntrNoMem]>;
969
970 // tag : V6_vandnqrt
971 class Hexagon_v32i32_v1024i1i32_Intrinsic<string GCCIntSuffix>
972   : Hexagon_Intrinsic<GCCIntSuffix,
973        [llvm_v32i32_ty], [llvm_v1024i1_ty,llvm_i32_ty],
974        [IntrNoMem]>;
975
976 // tag : V6_vmpyub
977 class Hexagon_v64i32_v32i32i32_Intrinsic<string GCCIntSuffix>
978   : Hexagon_Intrinsic<GCCIntSuffix,
979        [llvm_v64i32_ty], [llvm_v32i32_ty,llvm_i32_ty],
980        [IntrNoMem]>;
981
982 // tag : A5_ACS
983 class Hexagon_i64i32_i64i64i64_Intrinsic<string GCCIntSuffix>
984   : Hexagon_Intrinsic<GCCIntSuffix,
985        [llvm_i64_ty,llvm_i32_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i64_ty],
986        [IntrNoMem]>;
987
988 // tag : V6_vunpackob
989 class Hexagon_v32i32_v32i32v16i32_Intrinsic<string GCCIntSuffix>
990   : Hexagon_Intrinsic<GCCIntSuffix,
991        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty],
992        [IntrNoMem]>;
993
994 // tag : V6_vunpackob
995 class Hexagon_v64i32_v64i32v32i32_Intrinsic<string GCCIntSuffix>
996   : Hexagon_Intrinsic<GCCIntSuffix,
997        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty],
998        [IntrNoMem]>;
999
1000 // tag : V6_vmpyhsat_acc
1001 class Hexagon_v32i32_v32i32v16i32i32_Intrinsic<string GCCIntSuffix>
1002   : Hexagon_Intrinsic<GCCIntSuffix,
1003        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_i32_ty],
1004        [IntrNoMem]>;
1005
1006 // tag : V6_vmpyhsat_acc
1007 class Hexagon_v64i32_v64i32v32i32i32_Intrinsic<string GCCIntSuffix>
1008   : Hexagon_Intrinsic<GCCIntSuffix,
1009        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_i32_ty],
1010        [IntrNoMem]>;
1011
1012 // tag : V6_vaddcarrysat
1013 class Hexagon_v16i32_v16i32v16i32v512i1_Intrinsic<string GCCIntSuffix>
1014   : Hexagon_Intrinsic<GCCIntSuffix,
1015        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v512i1_ty],
1016        [IntrNoMem]>;
1017
1018 // tag : V6_vaddcarrysat
1019 class Hexagon_v32i32_v32i32v32i32v1024i1_Intrinsic<string GCCIntSuffix>
1020   : Hexagon_Intrinsic<GCCIntSuffix,
1021        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v1024i1_ty],
1022        [IntrNoMem]>;
1023
1024 // tag : V6_vlutvvb_oracc
1025 class Hexagon_v16i32_v16i32v16i32v16i32i32_Intrinsic<string GCCIntSuffix>
1026   : Hexagon_Intrinsic<GCCIntSuffix,
1027        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty],
1028        [IntrNoMem]>;
1029
1030 // tag : V6_vlutvvb_oracc
1031 class Hexagon_v32i32_v32i32v32i32v32i32i32_Intrinsic<string GCCIntSuffix>
1032   : Hexagon_Intrinsic<GCCIntSuffix,
1033        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty],
1034        [IntrNoMem]>;
1035
1036 // tag : V6_vrmpybub_rtt
1037 class Hexagon_v32i32_v16i32i64_Intrinsic<string GCCIntSuffix>
1038   : Hexagon_Intrinsic<GCCIntSuffix,
1039        [llvm_v32i32_ty], [llvm_v16i32_ty,llvm_i64_ty],
1040        [IntrNoMem]>;
1041
1042 // tag : V6_vrmpybub_rtt
1043 class Hexagon_v64i32_v32i32i64_Intrinsic<string GCCIntSuffix>
1044   : Hexagon_Intrinsic<GCCIntSuffix,
1045        [llvm_v64i32_ty], [llvm_v32i32_ty,llvm_i64_ty],
1046        [IntrNoMem]>;
1047
1048 // tag : A4_addp_c
1049 class Hexagon_i64i32_i64i64i32_Intrinsic<string GCCIntSuffix>
1050   : Hexagon_Intrinsic<GCCIntSuffix,
1051        [llvm_i64_ty,llvm_i32_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i32_ty],
1052        [IntrNoMem]>;
1053
1054 // tag : V6_vrsadubi_acc
1055 class Hexagon_v32i32_v32i32v32i32i32i32_Intrinsic<string GCCIntSuffix>
1056   : Hexagon_Intrinsic<GCCIntSuffix,
1057        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty,llvm_i32_ty],
1058        [IntrNoMem]>;
1059
1060 // tag : V6_vrsadubi_acc
1061 class Hexagon_v64i32_v64i32v64i32i32i32_Intrinsic<string GCCIntSuffix>
1062   : Hexagon_Intrinsic<GCCIntSuffix,
1063        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty,llvm_i32_ty,llvm_i32_ty],
1064        [IntrNoMem]>;
1065
1066 // tag : F2_conv_df2sf
1067 class Hexagon_float_double_Intrinsic<string GCCIntSuffix>
1068   : Hexagon_Intrinsic<GCCIntSuffix,
1069        [llvm_float_ty], [llvm_double_ty],
1070        [IntrNoMem]>;
1071
1072 // tag : V6_vandvqv
1073 class Hexagon_v16i32_v512i1v16i32_Intrinsic<string GCCIntSuffix>
1074   : Hexagon_Intrinsic<GCCIntSuffix,
1075        [llvm_v16i32_ty], [llvm_v512i1_ty,llvm_v16i32_ty],
1076        [IntrNoMem]>;
1077
1078 // tag : V6_vandvqv
1079 class Hexagon_v32i32_v1024i1v32i32_Intrinsic<string GCCIntSuffix>
1080   : Hexagon_Intrinsic<GCCIntSuffix,
1081        [llvm_v32i32_ty], [llvm_v1024i1_ty,llvm_v32i32_ty],
1082        [IntrNoMem]>;
1083
1084 // tag : C2_vmux
1085 class Hexagon_i64_i32i64i64_Intrinsic<string GCCIntSuffix>
1086   : Hexagon_Intrinsic<GCCIntSuffix,
1087        [llvm_i64_ty], [llvm_i32_ty,llvm_i64_ty,llvm_i64_ty],
1088        [IntrNoMem]>;
1089
1090 // tag : F2_sfcmpeq
1091 class Hexagon_i32_floatfloat_Intrinsic<string GCCIntSuffix>
1092   : Hexagon_Intrinsic<GCCIntSuffix,
1093        [llvm_i32_ty], [llvm_float_ty,llvm_float_ty],
1094        [IntrNoMem, Throws]>;
1095
1096 // tag : V6_vmpahhsat
1097 class Hexagon_v16i32_v16i32v16i32i64_Intrinsic<string GCCIntSuffix>
1098   : Hexagon_Intrinsic<GCCIntSuffix,
1099        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i64_ty],
1100        [IntrNoMem]>;
1101
1102 // tag : V6_vmpahhsat
1103 class Hexagon_v32i32_v32i32v32i32i64_Intrinsic<string GCCIntSuffix>
1104   : Hexagon_Intrinsic<GCCIntSuffix,
1105        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i64_ty],
1106        [IntrNoMem]>;
1107
1108 // tag : V6_vandvrt
1109 class Hexagon_v512i1_v16i32i32_Intrinsic<string GCCIntSuffix>
1110   : Hexagon_Intrinsic<GCCIntSuffix,
1111        [llvm_v512i1_ty], [llvm_v16i32_ty,llvm_i32_ty],
1112        [IntrNoMem]>;
1113
1114 // tag : V6_vandvrt
1115 class Hexagon_v1024i1_v32i32i32_Intrinsic<string GCCIntSuffix>
1116   : Hexagon_Intrinsic<GCCIntSuffix,
1117        [llvm_v1024i1_ty], [llvm_v32i32_ty,llvm_i32_ty],
1118        [IntrNoMem]>;
1119
1120 // tag : V6_vsubcarry
1121 class Hexagon_custom_v16i32v512i1_v16i32v16i32v512i1_Intrinsic
1122   : Hexagon_NonGCC_Intrinsic<
1123        [llvm_v16i32_ty,llvm_v512i1_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v512i1_ty],
1124        [IntrNoMem]>;
1125
1126 // tag : V6_vsubcarry
1127 class Hexagon_custom_v32i32v1024i1_v32i32v32i32v1024i1_Intrinsic_128B
1128   : Hexagon_NonGCC_Intrinsic<
1129        [llvm_v32i32_ty,llvm_v1024i1_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v1024i1_ty],
1130        [IntrNoMem]>;
1131
1132 // tag : F2_sffixupr
1133 class Hexagon_float_float_Intrinsic<string GCCIntSuffix>
1134   : Hexagon_Intrinsic<GCCIntSuffix,
1135        [llvm_float_ty], [llvm_float_ty],
1136        [IntrNoMem, Throws]>;
1137
1138 // tag : V6_vandvrt_acc
1139 class Hexagon_v512i1_v512i1v16i32i32_Intrinsic<string GCCIntSuffix>
1140   : Hexagon_Intrinsic<GCCIntSuffix,
1141        [llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_i32_ty],
1142        [IntrNoMem]>;
1143
1144 // tag : V6_vandvrt_acc
1145 class Hexagon_v1024i1_v1024i1v32i32i32_Intrinsic<string GCCIntSuffix>
1146   : Hexagon_Intrinsic<GCCIntSuffix,
1147        [llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_i32_ty],
1148        [IntrNoMem]>;
1149
1150 // tag : F2_dfsub
1151 class Hexagon_double_doubledouble_Intrinsic<string GCCIntSuffix>
1152   : Hexagon_Intrinsic<GCCIntSuffix,
1153        [llvm_double_ty], [llvm_double_ty,llvm_double_ty],
1154        [IntrNoMem, Throws]>;
1155
1156 // tag : V6_vmpyowh_sacc
1157 class Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<string GCCIntSuffix>
1158   : Hexagon_Intrinsic<GCCIntSuffix,
1159        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v16i32_ty],
1160        [IntrNoMem]>;
1161
1162 // tag : V6_vmpyowh_sacc
1163 class Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<string GCCIntSuffix>
1164   : Hexagon_Intrinsic<GCCIntSuffix,
1165        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v32i32_ty],
1166        [IntrNoMem]>;
1167
1168 // tag : S2_insertp
1169 class Hexagon_i64_i64i64i32i32_Intrinsic<string GCCIntSuffix>
1170   : Hexagon_Intrinsic<GCCIntSuffix,
1171        [llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i32_ty,llvm_i32_ty],
1172        [IntrNoMem]>;
1173
1174 // tag : F2_sfinvsqrta
1175 class Hexagon_floati32_float_Intrinsic<string GCCIntSuffix>
1176   : Hexagon_Intrinsic<GCCIntSuffix,
1177        [llvm_float_ty,llvm_i32_ty], [llvm_float_ty],
1178        [IntrNoMem, Throws]>;
1179
1180 // tag : V6_vtran2x2_map
1181 class Hexagon_v16i32v16i32_v16i32v16i32i32_Intrinsic<string GCCIntSuffix>
1182   : Hexagon_Intrinsic<GCCIntSuffix,
1183        [llvm_v16i32_ty,llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty],
1184        [IntrNoMem]>;
1185
1186 // tag : V6_vtran2x2_map
1187 class Hexagon_v32i32v32i32_v32i32v32i32i32_Intrinsic<string GCCIntSuffix>
1188   : Hexagon_Intrinsic<GCCIntSuffix,
1189        [llvm_v32i32_ty,llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty],
1190        [IntrNoMem]>;
1191
1192 // tag : V6_vlutvwh_oracc
1193 class Hexagon_v32i32_v32i32v16i32v16i32i32_Intrinsic<string GCCIntSuffix>
1194   : Hexagon_Intrinsic<GCCIntSuffix,
1195        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty],
1196        [IntrNoMem]>;
1197
1198 // tag : V6_vlutvwh_oracc
1199 class Hexagon_v64i32_v64i32v32i32v32i32i32_Intrinsic<string GCCIntSuffix>
1200   : Hexagon_Intrinsic<GCCIntSuffix,
1201        [llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty],
1202        [IntrNoMem]>;
1203
1204 // tag : F2_dfcmpge
1205 class Hexagon_i32_doubledouble_Intrinsic<string GCCIntSuffix>
1206   : Hexagon_Intrinsic<GCCIntSuffix,
1207        [llvm_i32_ty], [llvm_double_ty,llvm_double_ty],
1208        [IntrNoMem, Throws]>;
1209
1210 // tag : F2_conv_df2d_chop
1211 class Hexagon_i64_double_Intrinsic<string GCCIntSuffix>
1212   : Hexagon_Intrinsic<GCCIntSuffix,
1213        [llvm_i64_ty], [llvm_double_ty],
1214        [IntrNoMem]>;
1215
1216 // tag : F2_conv_sf2w
1217 class Hexagon_i32_float_Intrinsic<string GCCIntSuffix>
1218   : Hexagon_Intrinsic<GCCIntSuffix,
1219        [llvm_i32_ty], [llvm_float_ty],
1220        [IntrNoMem]>;
1221
1222 // tag : F2_sfclass
1223 class Hexagon_i32_floati32_Intrinsic<string GCCIntSuffix>
1224   : Hexagon_Intrinsic<GCCIntSuffix,
1225        [llvm_i32_ty], [llvm_float_ty,llvm_i32_ty],
1226        [IntrNoMem, Throws]>;
1227
1228 // tag : F2_conv_sf2ud_chop
1229 class Hexagon_i64_float_Intrinsic<string GCCIntSuffix>
1230   : Hexagon_Intrinsic<GCCIntSuffix,
1231        [llvm_i64_ty], [llvm_float_ty],
1232        [IntrNoMem]>;
1233
1234 // tag : V6_pred_scalar2v2
1235 class Hexagon_v512i1_i32_Intrinsic<string GCCIntSuffix>
1236   : Hexagon_Intrinsic<GCCIntSuffix,
1237        [llvm_v512i1_ty], [llvm_i32_ty],
1238        [IntrNoMem]>;
1239
1240 // tag : V6_pred_scalar2v2
1241 class Hexagon_v1024i1_i32_Intrinsic<string GCCIntSuffix>
1242   : Hexagon_Intrinsic<GCCIntSuffix,
1243        [llvm_v1024i1_ty], [llvm_i32_ty],
1244        [IntrNoMem]>;
1245
1246 // tag : F2_sfrecipa
1247 class Hexagon_floati32_floatfloat_Intrinsic<string GCCIntSuffix>
1248   : Hexagon_Intrinsic<GCCIntSuffix,
1249        [llvm_float_ty,llvm_i32_ty], [llvm_float_ty,llvm_float_ty],
1250        [IntrNoMem, Throws]>;
1251
1252 // tag : V6_vprefixqh
1253 class Hexagon_v16i32_v512i1_Intrinsic<string GCCIntSuffix>
1254   : Hexagon_Intrinsic<GCCIntSuffix,
1255        [llvm_v16i32_ty], [llvm_v512i1_ty],
1256        [IntrNoMem]>;
1257
1258 // tag : V6_vprefixqh
1259 class Hexagon_v32i32_v1024i1_Intrinsic<string GCCIntSuffix>
1260   : Hexagon_Intrinsic<GCCIntSuffix,
1261        [llvm_v32i32_ty], [llvm_v1024i1_ty],
1262        [IntrNoMem]>;
1263
1264 // tag : V6_vdmpyhisat_acc
1265 class Hexagon_v16i32_v16i32v32i32i32_Intrinsic<string GCCIntSuffix>
1266   : Hexagon_Intrinsic<GCCIntSuffix,
1267        [llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v32i32_ty,llvm_i32_ty],
1268        [IntrNoMem]>;
1269
1270 // tag : V6_vdmpyhisat_acc
1271 class Hexagon_v32i32_v32i32v64i32i32_Intrinsic<string GCCIntSuffix>
1272   : Hexagon_Intrinsic<GCCIntSuffix,
1273        [llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v64i32_ty,llvm_i32_ty],
1274        [IntrNoMem]>;
1275
1276 // tag : F2_conv_ud2sf
1277 class Hexagon_float_i64_Intrinsic<string GCCIntSuffix>
1278   : Hexagon_Intrinsic<GCCIntSuffix,
1279        [llvm_float_ty], [llvm_i64_ty],
1280        [IntrNoMem]>;
1281
1282 // tag : F2_conv_sf2df
1283 class Hexagon_double_float_Intrinsic<string GCCIntSuffix>
1284   : Hexagon_Intrinsic<GCCIntSuffix,
1285        [llvm_double_ty], [llvm_float_ty],
1286        [IntrNoMem]>;
1287
1288 // tag : F2_sffma_sc
1289 class Hexagon_float_floatfloatfloati32_Intrinsic<string GCCIntSuffix>
1290   : Hexagon_Intrinsic<GCCIntSuffix,
1291        [llvm_float_ty], [llvm_float_ty,llvm_float_ty,llvm_float_ty,llvm_i32_ty],
1292        [IntrNoMem, Throws]>;
1293
1294 // tag : F2_dfclass
1295 class Hexagon_i32_doublei32_Intrinsic<string GCCIntSuffix>
1296   : Hexagon_Intrinsic<GCCIntSuffix,
1297        [llvm_i32_ty], [llvm_double_ty,llvm_i32_ty],
1298        [IntrNoMem, Throws]>;
1299
1300 // tag : V6_vd0
1301 class Hexagon_v16i32__Intrinsic<string GCCIntSuffix>
1302   : Hexagon_Intrinsic<GCCIntSuffix,
1303        [llvm_v16i32_ty], [],
1304        [IntrNoMem]>;
1305
1306 // tag : V6_vd0
1307 class Hexagon_v32i32__Intrinsic<string GCCIntSuffix>
1308   : Hexagon_Intrinsic<GCCIntSuffix,
1309        [llvm_v32i32_ty], [],
1310        [IntrNoMem]>;
1311
1312 // tag : V6_vdd0
1313 class Hexagon_v64i32__Intrinsic<string GCCIntSuffix>
1314   : Hexagon_Intrinsic<GCCIntSuffix,
1315        [llvm_v64i32_ty], [],
1316        [IntrNoMem]>;
1317
1318 // tag : S2_insert_rp
1319 class Hexagon_i32_i32i32i64_Intrinsic<string GCCIntSuffix>
1320   : Hexagon_Intrinsic<GCCIntSuffix,
1321        [llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty,llvm_i64_ty],
1322        [IntrNoMem]>;
1323
1324 // tag : V6_vassignp
1325 class Hexagon_v64i32_v64i32_Intrinsic<string GCCIntSuffix>
1326   : Hexagon_Intrinsic<GCCIntSuffix,
1327        [llvm_v64i32_ty], [llvm_v64i32_ty],
1328        [IntrNoMem]>;
1329
1330 // tag : A6_vminub_RdP
1331 class Hexagon_i64i32_i64i64_Intrinsic<string GCCIntSuffix>
1332   : Hexagon_Intrinsic<GCCIntSuffix,
1333        [llvm_i64_ty,llvm_i32_ty], [llvm_i64_ty,llvm_i64_ty],
1334        [IntrNoMem]>;
1335
1336 // tag : V6_pred_not
1337 class Hexagon_v512i1_v512i1_Intrinsic<string GCCIntSuffix>
1338   : Hexagon_Intrinsic<GCCIntSuffix,
1339        [llvm_v512i1_ty], [llvm_v512i1_ty],
1340        [IntrNoMem]>;
1341
1342 // tag : V6_pred_not
1343 class Hexagon_v1024i1_v1024i1_Intrinsic<string GCCIntSuffix>
1344   : Hexagon_Intrinsic<GCCIntSuffix,
1345        [llvm_v1024i1_ty], [llvm_v1024i1_ty],
1346        [IntrNoMem]>;
1347
1348 // V5 Scalar Instructions.
1349
1350 def int_hexagon_S2_asr_r_p_or :
1351 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_r_p_or">;
1352
1353 def int_hexagon_S2_vsatwh :
1354 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vsatwh">;
1355
1356 def int_hexagon_S2_tableidxd_goodsyntax :
1357 Hexagon_i32_i32i32i32i32_Intrinsic<"HEXAGON_S2_tableidxd_goodsyntax">;
1358
1359 def int_hexagon_M2_mpysu_up :
1360 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpysu_up">;
1361
1362 def int_hexagon_M2_mpyud_acc_ll_s0 :
1363 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_ll_s0">;
1364
1365 def int_hexagon_M2_mpyud_acc_ll_s1 :
1366 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_ll_s1">;
1367
1368 def int_hexagon_M2_cmpysc_s1 :
1369 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpysc_s1">;
1370
1371 def int_hexagon_M2_cmpysc_s0 :
1372 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpysc_s0">;
1373
1374 def int_hexagon_M4_cmpyi_whc :
1375 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_M4_cmpyi_whc">;
1376
1377 def int_hexagon_M2_mpy_sat_rnd_lh_s1 :
1378 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_lh_s1">;
1379
1380 def int_hexagon_M2_mpy_sat_rnd_lh_s0 :
1381 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_lh_s0">;
1382
1383 def int_hexagon_S2_tableidxb_goodsyntax :
1384 Hexagon_i32_i32i32i32i32_Intrinsic<"HEXAGON_S2_tableidxb_goodsyntax">;
1385
1386 def int_hexagon_S2_shuffoh :
1387 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_shuffoh">;
1388
1389 def int_hexagon_F2_sfmax :
1390 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sfmax">;
1391
1392 def int_hexagon_A2_vabswsat :
1393 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_vabswsat">;
1394
1395 def int_hexagon_S2_asr_i_r :
1396 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asr_i_r">;
1397
1398 def int_hexagon_S2_asr_i_p :
1399 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_i_p">;
1400
1401 def int_hexagon_A4_combineri :
1402 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A4_combineri">;
1403
1404 def int_hexagon_M2_mpy_nac_sat_hl_s1 :
1405 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hl_s1">;
1406
1407 def int_hexagon_M4_vpmpyh_acc :
1408 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M4_vpmpyh_acc">;
1409
1410 def int_hexagon_M2_vcmpy_s0_sat_i :
1411 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vcmpy_s0_sat_i">;
1412
1413 def int_hexagon_A2_notp :
1414 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_notp">;
1415
1416 def int_hexagon_M2_mpy_hl_s1 :
1417 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_hl_s1">;
1418
1419 def int_hexagon_M2_mpy_hl_s0 :
1420 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_hl_s0">;
1421
1422 def int_hexagon_C4_or_and :
1423 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_or_and">;
1424
1425 def int_hexagon_M2_vmac2s_s0 :
1426 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_vmac2s_s0">;
1427
1428 def int_hexagon_M2_vmac2s_s1 :
1429 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_vmac2s_s1">;
1430
1431 def int_hexagon_S2_brevp :
1432 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_brevp">;
1433
1434 def int_hexagon_M4_pmpyw_acc :
1435 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M4_pmpyw_acc">;
1436
1437 def int_hexagon_S2_cl1 :
1438 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_cl1">;
1439
1440 def int_hexagon_C4_cmplte :
1441 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmplte">;
1442
1443 def int_hexagon_M2_mmpyul_s0 :
1444 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyul_s0">;
1445
1446 def int_hexagon_A2_vaddws :
1447 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddws">;
1448
1449 def int_hexagon_A2_maxup :
1450 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_maxup">;
1451
1452 def int_hexagon_A4_vcmphgti :
1453 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmphgti">;
1454
1455 def int_hexagon_S2_interleave :
1456 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_interleave">;
1457
1458 def int_hexagon_M2_vrcmpyi_s0 :
1459 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vrcmpyi_s0">;
1460
1461 def int_hexagon_A2_abssat :
1462 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_abssat">;
1463
1464 def int_hexagon_A2_vcmpwgtu :
1465 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpwgtu">;
1466
1467 def int_hexagon_C2_cmpgtu :
1468 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgtu">;
1469
1470 def int_hexagon_C2_cmpgtp :
1471 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_C2_cmpgtp">;
1472
1473 def int_hexagon_A4_cmphgtui :
1474 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmphgtui">;
1475
1476 def int_hexagon_C2_cmpgti :
1477 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgti">;
1478
1479 def int_hexagon_M2_mpyi :
1480 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyi">;
1481
1482 def int_hexagon_F2_conv_df2uw_chop :
1483 Hexagon_i32_double_Intrinsic<"HEXAGON_F2_conv_df2uw_chop">;
1484
1485 def int_hexagon_A4_cmpheq :
1486 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpheq">;
1487
1488 def int_hexagon_M2_mpy_lh_s1 :
1489 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_lh_s1">;
1490
1491 def int_hexagon_M2_mpy_lh_s0 :
1492 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_lh_s0">;
1493
1494 def int_hexagon_S2_lsr_i_r_xacc :
1495 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r_xacc">;
1496
1497 def int_hexagon_S2_vrcnegh :
1498 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_vrcnegh">;
1499
1500 def int_hexagon_S2_extractup :
1501 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_S2_extractup">;
1502
1503 def int_hexagon_S2_asr_i_p_rnd_goodsyntax :
1504 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_rnd_goodsyntax">;
1505
1506 def int_hexagon_S4_ntstbit_r :
1507 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S4_ntstbit_r">;
1508
1509 def int_hexagon_F2_conv_w2sf :
1510 Hexagon_float_i32_Intrinsic<"HEXAGON_F2_conv_w2sf">;
1511
1512 def int_hexagon_C2_not :
1513 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_not">;
1514
1515 def int_hexagon_C2_tfrpr :
1516 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_tfrpr">;
1517
1518 def int_hexagon_M2_mpy_ll_s1 :
1519 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_ll_s1">;
1520
1521 def int_hexagon_M2_mpy_ll_s0 :
1522 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_ll_s0">;
1523
1524 def int_hexagon_A4_cmpbgt :
1525 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbgt">;
1526
1527 def int_hexagon_S2_asr_r_r_and :
1528 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_r_r_and">;
1529
1530 def int_hexagon_A4_rcmpneqi :
1531 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_rcmpneqi">;
1532
1533 def int_hexagon_S2_asl_i_r_nac :
1534 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_nac">;
1535
1536 def int_hexagon_M2_subacc :
1537 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_subacc">;
1538
1539 def int_hexagon_A2_orp :
1540 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_orp">;
1541
1542 def int_hexagon_M2_mpyu_up :
1543 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_up">;
1544
1545 def int_hexagon_M2_mpy_acc_sat_lh_s1 :
1546 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_lh_s1">;
1547
1548 def int_hexagon_S2_asr_i_vh :
1549 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_i_vh">;
1550
1551 def int_hexagon_S2_asr_i_vw :
1552 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_i_vw">;
1553
1554 def int_hexagon_A4_cmpbgtu :
1555 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbgtu">;
1556
1557 def int_hexagon_A4_vcmpbeq_any :
1558 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A4_vcmpbeq_any">;
1559
1560 def int_hexagon_A4_cmpbgti :
1561 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbgti">;
1562
1563 def int_hexagon_M2_mpyd_lh_s1 :
1564 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_lh_s1">;
1565
1566 def int_hexagon_S2_asl_r_p_nac :
1567 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_r_p_nac">;
1568
1569 def int_hexagon_S2_lsr_i_r_nac :
1570 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r_nac">;
1571
1572 def int_hexagon_A2_addsp :
1573 Hexagon_i64_i32i64_Intrinsic<"HEXAGON_A2_addsp">;
1574
1575 def int_hexagon_S4_vxsubaddw :
1576 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxsubaddw">;
1577
1578 def int_hexagon_A4_vcmpheqi :
1579 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpheqi">;
1580
1581 def int_hexagon_S4_vxsubaddh :
1582 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxsubaddh">;
1583
1584 def int_hexagon_M4_pmpyw :
1585 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M4_pmpyw">;
1586
1587 def int_hexagon_S2_vsathb :
1588 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vsathb">;
1589
1590 def int_hexagon_S2_asr_r_p_and :
1591 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_r_p_and">;
1592
1593 def int_hexagon_M2_mpyu_acc_lh_s1 :
1594 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_lh_s1">;
1595
1596 def int_hexagon_M2_mpyu_acc_lh_s0 :
1597 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_lh_s0">;
1598
1599 def int_hexagon_S2_lsl_r_p_acc :
1600 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p_acc">;
1601
1602 def int_hexagon_A2_pxorf :
1603 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_A2_pxorf">;
1604
1605 def int_hexagon_C2_cmpgei :
1606 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgei">;
1607
1608 def int_hexagon_A2_vsubub :
1609 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubub">;
1610
1611 def int_hexagon_S2_asl_i_p :
1612 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_i_p">;
1613
1614 def int_hexagon_S2_asl_i_r :
1615 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asl_i_r">;
1616
1617 def int_hexagon_A4_vrminuw :
1618 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrminuw">;
1619
1620 def int_hexagon_F2_sffma :
1621 Hexagon_float_floatfloatfloat_Intrinsic<"HEXAGON_F2_sffma">;
1622
1623 def int_hexagon_A2_absp :
1624 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_absp">;
1625
1626 def int_hexagon_C2_all8 :
1627 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_all8">;
1628
1629 def int_hexagon_A4_vrminuh :
1630 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrminuh">;
1631
1632 def int_hexagon_F2_sffma_lib :
1633 Hexagon_float_floatfloatfloat_Intrinsic<"HEXAGON_F2_sffma_lib">;
1634
1635 def int_hexagon_M4_vrmpyoh_s0 :
1636 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M4_vrmpyoh_s0">;
1637
1638 def int_hexagon_M4_vrmpyoh_s1 :
1639 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M4_vrmpyoh_s1">;
1640
1641 def int_hexagon_C2_bitsset :
1642 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_bitsset">;
1643
1644 def int_hexagon_M2_mpysip :
1645 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpysip">;
1646
1647 def int_hexagon_M2_mpysin :
1648 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpysin">;
1649
1650 def int_hexagon_A4_boundscheck :
1651 Hexagon_i32_i32i64_Intrinsic<"HEXAGON_A4_boundscheck">;
1652
1653 def int_hexagon_M5_vrmpybuu :
1654 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M5_vrmpybuu">;
1655
1656 def int_hexagon_C4_fastcorner9 :
1657 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_fastcorner9">;
1658
1659 def int_hexagon_M2_vrcmpys_s1rp :
1660 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_M2_vrcmpys_s1rp">;
1661
1662 def int_hexagon_A2_neg :
1663 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_neg">;
1664
1665 def int_hexagon_A2_subsat :
1666 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subsat">;
1667
1668 def int_hexagon_S2_asl_r_r :
1669 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asl_r_r">;
1670
1671 def int_hexagon_S2_asl_r_p :
1672 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_r_p">;
1673
1674 def int_hexagon_A2_vnavgh :
1675 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavgh">;
1676
1677 def int_hexagon_M2_mpy_nac_sat_hl_s0 :
1678 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hl_s0">;
1679
1680 def int_hexagon_F2_conv_ud2df :
1681 Hexagon_double_i64_Intrinsic<"HEXAGON_F2_conv_ud2df">;
1682
1683 def int_hexagon_A2_vnavgw :
1684 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavgw">;
1685
1686 def int_hexagon_S2_asl_i_r_acc :
1687 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_acc">;
1688
1689 def int_hexagon_S4_subi_lsr_ri :
1690 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_subi_lsr_ri">;
1691
1692 def int_hexagon_S2_vzxthw :
1693 Hexagon_i64_i32_Intrinsic<"HEXAGON_S2_vzxthw">;
1694
1695 def int_hexagon_F2_sfadd :
1696 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sfadd">;
1697
1698 def int_hexagon_A2_sub :
1699 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_sub">;
1700
1701 def int_hexagon_M2_vmac2su_s0 :
1702 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_vmac2su_s0">;
1703
1704 def int_hexagon_M2_vmac2su_s1 :
1705 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_vmac2su_s1">;
1706
1707 def int_hexagon_M2_dpmpyss_s0 :
1708 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_dpmpyss_s0">;
1709
1710 def int_hexagon_S2_insert :
1711 Hexagon_i32_i32i32i32i32_Intrinsic<"HEXAGON_S2_insert">;
1712
1713 def int_hexagon_S2_packhl :
1714 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_S2_packhl">;
1715
1716 def int_hexagon_A4_vcmpwgti :
1717 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpwgti">;
1718
1719 def int_hexagon_A2_vavguwr :
1720 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavguwr">;
1721
1722 def int_hexagon_S2_asl_r_r_and :
1723 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_r_r_and">;
1724
1725 def int_hexagon_A2_svsubhs :
1726 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svsubhs">;
1727
1728 def int_hexagon_A2_addh_l16_hl :
1729 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_l16_hl">;
1730
1731 def int_hexagon_M4_and_and :
1732 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_and_and">;
1733
1734 def int_hexagon_F2_conv_d2df :
1735 Hexagon_double_i64_Intrinsic<"HEXAGON_F2_conv_d2df">;
1736
1737 def int_hexagon_C2_cmpgtui :
1738 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgtui">;
1739
1740 def int_hexagon_A2_vconj :
1741 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_vconj">;
1742
1743 def int_hexagon_S2_lsr_r_vw :
1744 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_r_vw">;
1745
1746 def int_hexagon_S2_lsr_r_vh :
1747 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_r_vh">;
1748
1749 def int_hexagon_A2_subh_l16_hl :
1750 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_l16_hl">;
1751
1752 def int_hexagon_S4_vxsubaddhr :
1753 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxsubaddhr">;
1754
1755 def int_hexagon_S2_clbp :
1756 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_clbp">;
1757
1758 def int_hexagon_S2_deinterleave :
1759 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_deinterleave">;
1760
1761 def int_hexagon_C2_any8 :
1762 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_any8">;
1763
1764 def int_hexagon_S2_togglebit_r :
1765 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_togglebit_r">;
1766
1767 def int_hexagon_S2_togglebit_i :
1768 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_togglebit_i">;
1769
1770 def int_hexagon_F2_conv_uw2sf :
1771 Hexagon_float_i32_Intrinsic<"HEXAGON_F2_conv_uw2sf">;
1772
1773 def int_hexagon_S2_vsathb_nopack :
1774 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_vsathb_nopack">;
1775
1776 def int_hexagon_M2_cmacs_s0 :
1777 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmacs_s0">;
1778
1779 def int_hexagon_M2_cmacs_s1 :
1780 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmacs_s1">;
1781
1782 def int_hexagon_M2_mpy_sat_hh_s0 :
1783 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_hh_s0">;
1784
1785 def int_hexagon_M2_mpy_sat_hh_s1 :
1786 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_hh_s1">;
1787
1788 def int_hexagon_M2_mmacuhs_s1 :
1789 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacuhs_s1">;
1790
1791 def int_hexagon_M2_mmacuhs_s0 :
1792 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacuhs_s0">;
1793
1794 def int_hexagon_S2_clrbit_r :
1795 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_clrbit_r">;
1796
1797 def int_hexagon_C4_or_andn :
1798 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_or_andn">;
1799
1800 def int_hexagon_S2_asl_r_r_nac :
1801 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_r_r_nac">;
1802
1803 def int_hexagon_S2_asl_i_p_acc :
1804 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_i_p_acc">;
1805
1806 def int_hexagon_A4_vcmpwgtui :
1807 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpwgtui">;
1808
1809 def int_hexagon_M4_vrmpyoh_acc_s0 :
1810 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M4_vrmpyoh_acc_s0">;
1811
1812 def int_hexagon_M4_vrmpyoh_acc_s1 :
1813 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M4_vrmpyoh_acc_s1">;
1814
1815 def int_hexagon_A4_vrmaxh :
1816 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrmaxh">;
1817
1818 def int_hexagon_A2_vcmpbeq :
1819 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpbeq">;
1820
1821 def int_hexagon_A2_vcmphgt :
1822 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmphgt">;
1823
1824 def int_hexagon_A2_vnavgwcr :
1825 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavgwcr">;
1826
1827 def int_hexagon_M2_vrcmacr_s0c :
1828 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vrcmacr_s0c">;
1829
1830 def int_hexagon_A2_vavgwcr :
1831 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgwcr">;
1832
1833 def int_hexagon_S2_asl_i_p_xacc :
1834 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_i_p_xacc">;
1835
1836 def int_hexagon_A4_vrmaxw :
1837 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrmaxw">;
1838
1839 def int_hexagon_A2_vnavghr :
1840 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavghr">;
1841
1842 def int_hexagon_M4_cmpyi_wh :
1843 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_M4_cmpyi_wh">;
1844
1845 def int_hexagon_A2_tfrsi :
1846 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_tfrsi">;
1847
1848 def int_hexagon_S2_asr_i_r_acc :
1849 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_acc">;
1850
1851 def int_hexagon_A2_svnavgh :
1852 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svnavgh">;
1853
1854 def int_hexagon_S2_lsr_i_r :
1855 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r">;
1856
1857 def int_hexagon_M2_vmac2 :
1858 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_vmac2">;
1859
1860 def int_hexagon_A4_vcmphgtui :
1861 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmphgtui">;
1862
1863 def int_hexagon_A2_svavgh :
1864 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svavgh">;
1865
1866 def int_hexagon_M4_vrmpyeh_acc_s0 :
1867 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M4_vrmpyeh_acc_s0">;
1868
1869 def int_hexagon_M4_vrmpyeh_acc_s1 :
1870 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M4_vrmpyeh_acc_s1">;
1871
1872 def int_hexagon_S2_lsr_i_p :
1873 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p">;
1874
1875 def int_hexagon_A2_combine_hl :
1876 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_combine_hl">;
1877
1878 def int_hexagon_M2_mpy_up :
1879 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_up">;
1880
1881 def int_hexagon_A2_combine_hh :
1882 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_combine_hh">;
1883
1884 def int_hexagon_A2_negsat :
1885 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_negsat">;
1886
1887 def int_hexagon_M2_mpyd_hl_s0 :
1888 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_hl_s0">;
1889
1890 def int_hexagon_M2_mpyd_hl_s1 :
1891 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_hl_s1">;
1892
1893 def int_hexagon_A4_bitsplit :
1894 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A4_bitsplit">;
1895
1896 def int_hexagon_A2_vabshsat :
1897 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_vabshsat">;
1898
1899 def int_hexagon_M2_mpyui :
1900 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyui">;
1901
1902 def int_hexagon_A2_addh_l16_sat_ll :
1903 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_l16_sat_ll">;
1904
1905 def int_hexagon_S2_lsl_r_r_and :
1906 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsl_r_r_and">;
1907
1908 def int_hexagon_M2_mmpyul_rs0 :
1909 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyul_rs0">;
1910
1911 def int_hexagon_S2_asr_i_r_rnd_goodsyntax :
1912 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_rnd_goodsyntax">;
1913
1914 def int_hexagon_S2_lsr_r_p_nac :
1915 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p_nac">;
1916
1917 def int_hexagon_C2_cmplt :
1918 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmplt">;
1919
1920 def int_hexagon_M2_cmacr_s0 :
1921 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmacr_s0">;
1922
1923 def int_hexagon_M4_or_and :
1924 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_or_and">;
1925
1926 def int_hexagon_M4_mpyrr_addi :
1927 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mpyrr_addi">;
1928
1929 def int_hexagon_S4_or_andi :
1930 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_or_andi">;
1931
1932 def int_hexagon_M2_mpy_sat_hl_s0 :
1933 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_hl_s0">;
1934
1935 def int_hexagon_M2_mpy_sat_hl_s1 :
1936 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_hl_s1">;
1937
1938 def int_hexagon_M4_mpyrr_addr :
1939 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mpyrr_addr">;
1940
1941 def int_hexagon_M2_mmachs_rs0 :
1942 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmachs_rs0">;
1943
1944 def int_hexagon_M2_mmachs_rs1 :
1945 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmachs_rs1">;
1946
1947 def int_hexagon_M2_vrcmpyr_s0c :
1948 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vrcmpyr_s0c">;
1949
1950 def int_hexagon_M2_mpy_acc_sat_hl_s0 :
1951 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hl_s0">;
1952
1953 def int_hexagon_M2_mpyd_acc_ll_s1 :
1954 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_ll_s1">;
1955
1956 def int_hexagon_F2_sffixupn :
1957 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sffixupn">;
1958
1959 def int_hexagon_M2_mpyd_acc_lh_s0 :
1960 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_lh_s0">;
1961
1962 def int_hexagon_M2_mpyd_acc_lh_s1 :
1963 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_lh_s1">;
1964
1965 def int_hexagon_M2_mpy_rnd_hh_s0 :
1966 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_hh_s0">;
1967
1968 def int_hexagon_M2_mpy_rnd_hh_s1 :
1969 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_hh_s1">;
1970
1971 def int_hexagon_A2_vadduhs :
1972 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vadduhs">;
1973
1974 def int_hexagon_A2_vsubuhs :
1975 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubuhs">;
1976
1977 def int_hexagon_A2_subh_h16_hl :
1978 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_hl">;
1979
1980 def int_hexagon_A2_subh_h16_hh :
1981 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_hh">;
1982
1983 def int_hexagon_A2_xorp :
1984 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_xorp">;
1985
1986 def int_hexagon_A4_tfrpcp :
1987 Hexagon_i64_i64_Intrinsic<"HEXAGON_A4_tfrpcp">;
1988
1989 def int_hexagon_A2_addh_h16_lh :
1990 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_lh">;
1991
1992 def int_hexagon_A2_addh_h16_sat_hl :
1993 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_sat_hl">;
1994
1995 def int_hexagon_A2_addh_h16_ll :
1996 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_ll">;
1997
1998 def int_hexagon_A2_addh_h16_sat_hh :
1999 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_sat_hh">;
2000
2001 def int_hexagon_A2_zxtb :
2002 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_zxtb">;
2003
2004 def int_hexagon_A2_zxth :
2005 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_zxth">;
2006
2007 def int_hexagon_A2_vnavgwr :
2008 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavgwr">;
2009
2010 def int_hexagon_M4_or_xor :
2011 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_or_xor">;
2012
2013 def int_hexagon_M2_mpyud_acc_hh_s0 :
2014 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_hh_s0">;
2015
2016 def int_hexagon_M2_mpyud_acc_hh_s1 :
2017 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_hh_s1">;
2018
2019 def int_hexagon_M5_vmacbsu :
2020 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M5_vmacbsu">;
2021
2022 def int_hexagon_M2_dpmpyuu_acc_s0 :
2023 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_dpmpyuu_acc_s0">;
2024
2025 def int_hexagon_M2_mpy_rnd_hl_s0 :
2026 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_hl_s0">;
2027
2028 def int_hexagon_M2_mpy_rnd_hl_s1 :
2029 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_hl_s1">;
2030
2031 def int_hexagon_F2_sffms_lib :
2032 Hexagon_float_floatfloatfloat_Intrinsic<"HEXAGON_F2_sffms_lib">;
2033
2034 def int_hexagon_C4_cmpneqi :
2035 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmpneqi">;
2036
2037 def int_hexagon_M4_and_xor :
2038 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_and_xor">;
2039
2040 def int_hexagon_A2_sat :
2041 Hexagon_i32_i64_Intrinsic<"HEXAGON_A2_sat">;
2042
2043 def int_hexagon_M2_mpyd_nac_lh_s1 :
2044 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_lh_s1">;
2045
2046 def int_hexagon_M2_mpyd_nac_lh_s0 :
2047 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_lh_s0">;
2048
2049 def int_hexagon_A2_addsat :
2050 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addsat">;
2051
2052 def int_hexagon_A2_svavghs :
2053 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svavghs">;
2054
2055 def int_hexagon_A2_vrsadub_acc :
2056 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_A2_vrsadub_acc">;
2057
2058 def int_hexagon_C2_bitsclri :
2059 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_bitsclri">;
2060
2061 def int_hexagon_A2_subh_h16_sat_hh :
2062 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_sat_hh">;
2063
2064 def int_hexagon_A2_subh_h16_sat_hl :
2065 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_sat_hl">;
2066
2067 def int_hexagon_M2_mmaculs_rs0 :
2068 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmaculs_rs0">;
2069
2070 def int_hexagon_M2_mmaculs_rs1 :
2071 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmaculs_rs1">;
2072
2073 def int_hexagon_M2_vradduh :
2074 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_M2_vradduh">;
2075
2076 def int_hexagon_A4_addp_c :
2077 Hexagon_i64i32_i64i64i32_Intrinsic<"HEXAGON_A4_addp_c">;
2078
2079 def int_hexagon_C2_xor :
2080 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_xor">;
2081
2082 def int_hexagon_S2_lsl_r_r_acc :
2083 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsl_r_r_acc">;
2084
2085 def int_hexagon_M2_mmpyh_rs1 :
2086 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyh_rs1">;
2087
2088 def int_hexagon_M2_mmpyh_rs0 :
2089 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyh_rs0">;
2090
2091 def int_hexagon_F2_conv_df2ud_chop :
2092 Hexagon_i64_double_Intrinsic<"HEXAGON_F2_conv_df2ud_chop">;
2093
2094 def int_hexagon_C4_or_or :
2095 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_or_or">;
2096
2097 def int_hexagon_S4_vxaddsubhr :
2098 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxaddsubhr">;
2099
2100 def int_hexagon_S2_vsathub :
2101 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vsathub">;
2102
2103 def int_hexagon_F2_conv_df2sf :
2104 Hexagon_float_double_Intrinsic<"HEXAGON_F2_conv_df2sf">;
2105
2106 def int_hexagon_M2_hmmpyh_rs1 :
2107 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_hmmpyh_rs1">;
2108
2109 def int_hexagon_M2_hmmpyh_s1 :
2110 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_hmmpyh_s1">;
2111
2112 def int_hexagon_A2_vavgwr :
2113 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgwr">;
2114
2115 def int_hexagon_S2_tableidxh_goodsyntax :
2116 Hexagon_i32_i32i32i32i32_Intrinsic<"HEXAGON_S2_tableidxh_goodsyntax">;
2117
2118 def int_hexagon_A2_sxth :
2119 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_sxth">;
2120
2121 def int_hexagon_A2_sxtb :
2122 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_sxtb">;
2123
2124 def int_hexagon_C4_or_orn :
2125 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_or_orn">;
2126
2127 def int_hexagon_M2_vrcmaci_s0c :
2128 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vrcmaci_s0c">;
2129
2130 def int_hexagon_A2_sxtw :
2131 Hexagon_i64_i32_Intrinsic<"HEXAGON_A2_sxtw">;
2132
2133 def int_hexagon_M2_vabsdiffh :
2134 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vabsdiffh">;
2135
2136 def int_hexagon_M2_mpy_acc_lh_s1 :
2137 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_lh_s1">;
2138
2139 def int_hexagon_M2_mpy_acc_lh_s0 :
2140 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_lh_s0">;
2141
2142 def int_hexagon_M2_hmmpyl_s1 :
2143 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_hmmpyl_s1">;
2144
2145 def int_hexagon_S2_cl1p :
2146 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_cl1p">;
2147
2148 def int_hexagon_M2_vabsdiffw :
2149 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vabsdiffw">;
2150
2151 def int_hexagon_A4_andnp :
2152 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A4_andnp">;
2153
2154 def int_hexagon_C2_vmux :
2155 Hexagon_i64_i32i64i64_Intrinsic<"HEXAGON_C2_vmux">;
2156
2157 def int_hexagon_S2_parityp :
2158 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_S2_parityp">;
2159
2160 def int_hexagon_S2_lsr_i_p_and :
2161 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p_and">;
2162
2163 def int_hexagon_S2_asr_i_r_or :
2164 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_or">;
2165
2166 def int_hexagon_M2_mpyu_nac_ll_s0 :
2167 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_ll_s0">;
2168
2169 def int_hexagon_M2_mpyu_nac_ll_s1 :
2170 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_ll_s1">;
2171
2172 def int_hexagon_F2_sfcmpeq :
2173 Hexagon_i32_floatfloat_Intrinsic<"HEXAGON_F2_sfcmpeq">;
2174
2175 def int_hexagon_A2_vaddb_map :
2176 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddb_map">;
2177
2178 def int_hexagon_S2_lsr_r_r_nac :
2179 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_r_r_nac">;
2180
2181 def int_hexagon_A2_vcmpheq :
2182 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpheq">;
2183
2184 def int_hexagon_S2_clbnorm :
2185 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_clbnorm">;
2186
2187 def int_hexagon_M2_cnacsc_s1 :
2188 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cnacsc_s1">;
2189
2190 def int_hexagon_M2_cnacsc_s0 :
2191 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cnacsc_s0">;
2192
2193 def int_hexagon_S4_subaddi :
2194 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_subaddi">;
2195
2196 def int_hexagon_M2_mpyud_nac_hl_s1 :
2197 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_hl_s1">;
2198
2199 def int_hexagon_M2_mpyud_nac_hl_s0 :
2200 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_hl_s0">;
2201
2202 def int_hexagon_S5_vasrhrnd_goodsyntax :
2203 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S5_vasrhrnd_goodsyntax">;
2204
2205 def int_hexagon_S2_tstbit_r :
2206 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_tstbit_r">;
2207
2208 def int_hexagon_S4_vrcrotate :
2209 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_S4_vrcrotate">;
2210
2211 def int_hexagon_M2_mmachs_s1 :
2212 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmachs_s1">;
2213
2214 def int_hexagon_M2_mmachs_s0 :
2215 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmachs_s0">;
2216
2217 def int_hexagon_S2_tstbit_i :
2218 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_tstbit_i">;
2219
2220 def int_hexagon_M2_mpy_up_s1 :
2221 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_up_s1">;
2222
2223 def int_hexagon_S2_extractu_rp :
2224 Hexagon_i32_i32i64_Intrinsic<"HEXAGON_S2_extractu_rp">;
2225
2226 def int_hexagon_M2_mmpyuh_rs0 :
2227 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyuh_rs0">;
2228
2229 def int_hexagon_S2_lsr_i_vw :
2230 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_i_vw">;
2231
2232 def int_hexagon_M2_mpy_rnd_ll_s0 :
2233 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_ll_s0">;
2234
2235 def int_hexagon_M2_mpy_rnd_ll_s1 :
2236 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_ll_s1">;
2237
2238 def int_hexagon_M4_or_or :
2239 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_or_or">;
2240
2241 def int_hexagon_M2_mpyu_hh_s1 :
2242 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_hh_s1">;
2243
2244 def int_hexagon_M2_mpyu_hh_s0 :
2245 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_hh_s0">;
2246
2247 def int_hexagon_S2_asl_r_p_acc :
2248 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_r_p_acc">;
2249
2250 def int_hexagon_M2_mpyu_nac_lh_s0 :
2251 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_lh_s0">;
2252
2253 def int_hexagon_M2_mpyu_nac_lh_s1 :
2254 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_lh_s1">;
2255
2256 def int_hexagon_M2_mpy_sat_ll_s0 :
2257 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_ll_s0">;
2258
2259 def int_hexagon_M2_mpy_sat_ll_s1 :
2260 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_ll_s1">;
2261
2262 def int_hexagon_F2_conv_w2df :
2263 Hexagon_double_i32_Intrinsic<"HEXAGON_F2_conv_w2df">;
2264
2265 def int_hexagon_A2_subh_l16_sat_hl :
2266 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_l16_sat_hl">;
2267
2268 def int_hexagon_C2_cmpeqi :
2269 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpeqi">;
2270
2271 def int_hexagon_S2_asl_i_r_and :
2272 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_and">;
2273
2274 def int_hexagon_S2_vcnegh :
2275 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_vcnegh">;
2276
2277 def int_hexagon_A4_vcmpweqi :
2278 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpweqi">;
2279
2280 def int_hexagon_M2_vdmpyrs_s0 :
2281 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_M2_vdmpyrs_s0">;
2282
2283 def int_hexagon_M2_vdmpyrs_s1 :
2284 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_M2_vdmpyrs_s1">;
2285
2286 def int_hexagon_M4_xor_xacc :
2287 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M4_xor_xacc">;
2288
2289 def int_hexagon_M2_vdmpys_s1 :
2290 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vdmpys_s1">;
2291
2292 def int_hexagon_M2_vdmpys_s0 :
2293 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vdmpys_s0">;
2294
2295 def int_hexagon_A2_vavgubr :
2296 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgubr">;
2297
2298 def int_hexagon_M2_mpyu_hl_s1 :
2299 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_hl_s1">;
2300
2301 def int_hexagon_M2_mpyu_hl_s0 :
2302 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_hl_s0">;
2303
2304 def int_hexagon_S2_asl_r_r_acc :
2305 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_r_r_acc">;
2306
2307 def int_hexagon_S2_cl0p :
2308 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_cl0p">;
2309
2310 def int_hexagon_S2_valignib :
2311 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_valignib">;
2312
2313 def int_hexagon_F2_sffixupd :
2314 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sffixupd">;
2315
2316 def int_hexagon_M2_mpy_sat_rnd_hl_s1 :
2317 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hl_s1">;
2318
2319 def int_hexagon_M2_mpy_sat_rnd_hl_s0 :
2320 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hl_s0">;
2321
2322 def int_hexagon_M2_cmacsc_s0 :
2323 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmacsc_s0">;
2324
2325 def int_hexagon_M2_cmacsc_s1 :
2326 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmacsc_s1">;
2327
2328 def int_hexagon_S2_ct1 :
2329 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_ct1">;
2330
2331 def int_hexagon_S2_ct0 :
2332 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_ct0">;
2333
2334 def int_hexagon_M2_dpmpyuu_nac_s0 :
2335 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_dpmpyuu_nac_s0">;
2336
2337 def int_hexagon_M2_mmpyul_rs1 :
2338 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyul_rs1">;
2339
2340 def int_hexagon_S4_ntstbit_i :
2341 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S4_ntstbit_i">;
2342
2343 def int_hexagon_F2_sffixupr :
2344 Hexagon_float_float_Intrinsic<"HEXAGON_F2_sffixupr">;
2345
2346 def int_hexagon_S2_asr_r_p_xor :
2347 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_r_p_xor">;
2348
2349 def int_hexagon_M2_mpyud_acc_hl_s0 :
2350 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_hl_s0">;
2351
2352 def int_hexagon_M2_mpyud_acc_hl_s1 :
2353 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_hl_s1">;
2354
2355 def int_hexagon_A2_vcmphgtu :
2356 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmphgtu">;
2357
2358 def int_hexagon_C2_andn :
2359 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_andn">;
2360
2361 def int_hexagon_M2_vmpy2s_s0pack :
2362 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_vmpy2s_s0pack">;
2363
2364 def int_hexagon_S4_addaddi :
2365 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_addaddi">;
2366
2367 def int_hexagon_M2_mpyd_acc_ll_s0 :
2368 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_ll_s0">;
2369
2370 def int_hexagon_M2_mpy_acc_sat_hl_s1 :
2371 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hl_s1">;
2372
2373 def int_hexagon_A4_rcmpeqi :
2374 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_rcmpeqi">;
2375
2376 def int_hexagon_M4_xor_and :
2377 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_xor_and">;
2378
2379 def int_hexagon_S2_asl_i_p_and :
2380 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_i_p_and">;
2381
2382 def int_hexagon_M2_mmpyuh_rs1 :
2383 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyuh_rs1">;
2384
2385 def int_hexagon_S2_asr_r_r_or :
2386 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_r_r_or">;
2387
2388 def int_hexagon_A4_round_ri :
2389 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_round_ri">;
2390
2391 def int_hexagon_A2_max :
2392 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_max">;
2393
2394 def int_hexagon_A4_round_rr :
2395 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_round_rr">;
2396
2397 def int_hexagon_A4_combineii :
2398 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A4_combineii">;
2399
2400 def int_hexagon_A4_combineir :
2401 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A4_combineir">;
2402
2403 def int_hexagon_C4_and_orn :
2404 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_and_orn">;
2405
2406 def int_hexagon_M5_vmacbuu :
2407 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M5_vmacbuu">;
2408
2409 def int_hexagon_A4_rcmpeq :
2410 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_rcmpeq">;
2411
2412 def int_hexagon_M4_cmpyr_whc :
2413 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_M4_cmpyr_whc">;
2414
2415 def int_hexagon_S2_lsr_i_r_acc :
2416 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r_acc">;
2417
2418 def int_hexagon_S2_vzxtbh :
2419 Hexagon_i64_i32_Intrinsic<"HEXAGON_S2_vzxtbh">;
2420
2421 def int_hexagon_M2_mmacuhs_rs1 :
2422 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacuhs_rs1">;
2423
2424 def int_hexagon_S2_asr_r_r_sat :
2425 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asr_r_r_sat">;
2426
2427 def int_hexagon_A2_combinew :
2428 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A2_combinew">;
2429
2430 def int_hexagon_M2_mpy_acc_ll_s1 :
2431 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_ll_s1">;
2432
2433 def int_hexagon_M2_mpy_acc_ll_s0 :
2434 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_ll_s0">;
2435
2436 def int_hexagon_M2_cmpyi_s0 :
2437 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpyi_s0">;
2438
2439 def int_hexagon_S2_asl_r_p_or :
2440 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_r_p_or">;
2441
2442 def int_hexagon_S4_ori_asl_ri :
2443 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_ori_asl_ri">;
2444
2445 def int_hexagon_C4_nbitsset :
2446 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_nbitsset">;
2447
2448 def int_hexagon_M2_mpyu_acc_hh_s1 :
2449 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_hh_s1">;
2450
2451 def int_hexagon_M2_mpyu_acc_hh_s0 :
2452 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_hh_s0">;
2453
2454 def int_hexagon_M2_mpyu_ll_s1 :
2455 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_ll_s1">;
2456
2457 def int_hexagon_M2_mpyu_ll_s0 :
2458 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_ll_s0">;
2459
2460 def int_hexagon_A2_addh_l16_ll :
2461 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_l16_ll">;
2462
2463 def int_hexagon_S2_lsr_r_r_and :
2464 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_r_r_and">;
2465
2466 def int_hexagon_A4_modwrapu :
2467 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_modwrapu">;
2468
2469 def int_hexagon_A4_rcmpneq :
2470 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_rcmpneq">;
2471
2472 def int_hexagon_M2_mpyd_acc_hh_s0 :
2473 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_hh_s0">;
2474
2475 def int_hexagon_M2_mpyd_acc_hh_s1 :
2476 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_hh_s1">;
2477
2478 def int_hexagon_F2_sfimm_p :
2479 Hexagon_float_i32_Intrinsic<"HEXAGON_F2_sfimm_p">;
2480
2481 def int_hexagon_F2_sfimm_n :
2482 Hexagon_float_i32_Intrinsic<"HEXAGON_F2_sfimm_n">;
2483
2484 def int_hexagon_M4_cmpyr_wh :
2485 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_M4_cmpyr_wh">;
2486
2487 def int_hexagon_S2_lsl_r_p_and :
2488 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p_and">;
2489
2490 def int_hexagon_A2_vavgub :
2491 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgub">;
2492
2493 def int_hexagon_F2_conv_d2sf :
2494 Hexagon_float_i64_Intrinsic<"HEXAGON_F2_conv_d2sf">;
2495
2496 def int_hexagon_A2_vavguh :
2497 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavguh">;
2498
2499 def int_hexagon_A4_cmpbeqi :
2500 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbeqi">;
2501
2502 def int_hexagon_F2_sfcmpuo :
2503 Hexagon_i32_floatfloat_Intrinsic<"HEXAGON_F2_sfcmpuo">;
2504
2505 def int_hexagon_A2_vavguw :
2506 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavguw">;
2507
2508 def int_hexagon_S2_asr_i_p_nac :
2509 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_nac">;
2510
2511 def int_hexagon_S2_vsatwh_nopack :
2512 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_vsatwh_nopack">;
2513
2514 def int_hexagon_M2_mpyd_hh_s0 :
2515 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_hh_s0">;
2516
2517 def int_hexagon_M2_mpyd_hh_s1 :
2518 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_hh_s1">;
2519
2520 def int_hexagon_S2_lsl_r_p_or :
2521 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p_or">;
2522
2523 def int_hexagon_A2_minu :
2524 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_minu">;
2525
2526 def int_hexagon_M2_mpy_sat_lh_s1 :
2527 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_lh_s1">;
2528
2529 def int_hexagon_M4_or_andn :
2530 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_or_andn">;
2531
2532 def int_hexagon_A2_minp :
2533 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_minp">;
2534
2535 def int_hexagon_S4_or_andix :
2536 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_or_andix">;
2537
2538 def int_hexagon_M2_mpy_rnd_lh_s0 :
2539 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_lh_s0">;
2540
2541 def int_hexagon_M2_mpy_rnd_lh_s1 :
2542 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_rnd_lh_s1">;
2543
2544 def int_hexagon_M2_mmpyuh_s0 :
2545 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyuh_s0">;
2546
2547 def int_hexagon_M2_mmpyuh_s1 :
2548 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyuh_s1">;
2549
2550 def int_hexagon_M2_mpy_acc_sat_lh_s0 :
2551 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_lh_s0">;
2552
2553 def int_hexagon_F2_sfcmpge :
2554 Hexagon_i32_floatfloat_Intrinsic<"HEXAGON_F2_sfcmpge">;
2555
2556 def int_hexagon_F2_sfmin :
2557 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sfmin">;
2558
2559 def int_hexagon_F2_sfcmpgt :
2560 Hexagon_i32_floatfloat_Intrinsic<"HEXAGON_F2_sfcmpgt">;
2561
2562 def int_hexagon_M4_vpmpyh :
2563 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M4_vpmpyh">;
2564
2565 def int_hexagon_M2_mmacuhs_rs0 :
2566 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacuhs_rs0">;
2567
2568 def int_hexagon_M2_mpyd_rnd_lh_s1 :
2569 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_lh_s1">;
2570
2571 def int_hexagon_M2_mpyd_rnd_lh_s0 :
2572 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_lh_s0">;
2573
2574 def int_hexagon_A2_roundsat :
2575 Hexagon_i32_i64_Intrinsic<"HEXAGON_A2_roundsat">;
2576
2577 def int_hexagon_S2_ct1p :
2578 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_ct1p">;
2579
2580 def int_hexagon_S4_extract_rp :
2581 Hexagon_i32_i32i64_Intrinsic<"HEXAGON_S4_extract_rp">;
2582
2583 def int_hexagon_S2_lsl_r_r_or :
2584 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsl_r_r_or">;
2585
2586 def int_hexagon_C4_cmplteui :
2587 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmplteui">;
2588
2589 def int_hexagon_S4_addi_lsr_ri :
2590 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_addi_lsr_ri">;
2591
2592 def int_hexagon_A4_tfrcpp :
2593 Hexagon_i64_i64_Intrinsic<"HEXAGON_A4_tfrcpp">;
2594
2595 def int_hexagon_S2_asr_i_svw_trun :
2596 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_S2_asr_i_svw_trun">;
2597
2598 def int_hexagon_A4_cmphgti :
2599 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmphgti">;
2600
2601 def int_hexagon_A4_vrminh :
2602 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrminh">;
2603
2604 def int_hexagon_A4_vrminw :
2605 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrminw">;
2606
2607 def int_hexagon_A4_cmphgtu :
2608 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmphgtu">;
2609
2610 def int_hexagon_S2_insertp_rp :
2611 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_S2_insertp_rp">;
2612
2613 def int_hexagon_A2_vnavghcr :
2614 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vnavghcr">;
2615
2616 def int_hexagon_S4_subi_asl_ri :
2617 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_subi_asl_ri">;
2618
2619 def int_hexagon_S2_lsl_r_vh :
2620 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsl_r_vh">;
2621
2622 def int_hexagon_M2_mpy_hh_s0 :
2623 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_hh_s0">;
2624
2625 def int_hexagon_A2_vsubws :
2626 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubws">;
2627
2628 def int_hexagon_A2_sath :
2629 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_sath">;
2630
2631 def int_hexagon_S2_asl_r_p_xor :
2632 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_r_p_xor">;
2633
2634 def int_hexagon_A2_satb :
2635 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_satb">;
2636
2637 def int_hexagon_C2_cmpltu :
2638 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpltu">;
2639
2640 def int_hexagon_S2_insertp :
2641 Hexagon_i64_i64i64i32i32_Intrinsic<"HEXAGON_S2_insertp">;
2642
2643 def int_hexagon_M2_mpyd_rnd_ll_s1 :
2644 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_ll_s1">;
2645
2646 def int_hexagon_M2_mpyd_rnd_ll_s0 :
2647 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_ll_s0">;
2648
2649 def int_hexagon_S2_lsr_i_p_nac :
2650 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p_nac">;
2651
2652 def int_hexagon_S2_extractup_rp :
2653 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_extractup_rp">;
2654
2655 def int_hexagon_S4_vxaddsubw :
2656 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxaddsubw">;
2657
2658 def int_hexagon_S4_vxaddsubh :
2659 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_vxaddsubh">;
2660
2661 def int_hexagon_A2_asrh :
2662 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_asrh">;
2663
2664 def int_hexagon_S4_extractp_rp :
2665 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S4_extractp_rp">;
2666
2667 def int_hexagon_S2_lsr_r_r_acc :
2668 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_r_r_acc">;
2669
2670 def int_hexagon_M2_mpyd_nac_ll_s1 :
2671 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_ll_s1">;
2672
2673 def int_hexagon_M2_mpyd_nac_ll_s0 :
2674 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_ll_s0">;
2675
2676 def int_hexagon_C2_or :
2677 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_or">;
2678
2679 def int_hexagon_M2_mmpyul_s1 :
2680 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyul_s1">;
2681
2682 def int_hexagon_M2_vrcmacr_s0 :
2683 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vrcmacr_s0">;
2684
2685 def int_hexagon_A2_xor :
2686 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_xor">;
2687
2688 def int_hexagon_A2_add :
2689 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_add">;
2690
2691 def int_hexagon_A2_vsububs :
2692 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsububs">;
2693
2694 def int_hexagon_M2_vmpy2s_s1 :
2695 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_vmpy2s_s1">;
2696
2697 def int_hexagon_M2_vmpy2s_s0 :
2698 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_vmpy2s_s0">;
2699
2700 def int_hexagon_A2_vraddub_acc :
2701 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_A2_vraddub_acc">;
2702
2703 def int_hexagon_F2_sfinvsqrta :
2704 Hexagon_floati32_float_Intrinsic<"HEXAGON_F2_sfinvsqrta">;
2705
2706 def int_hexagon_S2_ct0p :
2707 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_ct0p">;
2708
2709 def int_hexagon_A2_svaddh :
2710 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svaddh">;
2711
2712 def int_hexagon_S2_vcrotate :
2713 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_vcrotate">;
2714
2715 def int_hexagon_A2_aslh :
2716 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_aslh">;
2717
2718 def int_hexagon_A2_subh_h16_lh :
2719 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_lh">;
2720
2721 def int_hexagon_A2_subh_h16_ll :
2722 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_ll">;
2723
2724 def int_hexagon_M2_hmmpyl_rs1 :
2725 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_hmmpyl_rs1">;
2726
2727 def int_hexagon_S2_asr_r_p :
2728 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_r_p">;
2729
2730 def int_hexagon_S2_vsplatrh :
2731 Hexagon_i64_i32_Intrinsic<"HEXAGON_S2_vsplatrh">;
2732
2733 def int_hexagon_S2_asr_r_r :
2734 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asr_r_r">;
2735
2736 def int_hexagon_A2_addh_h16_hl :
2737 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_hl">;
2738
2739 def int_hexagon_S2_vsplatrb :
2740 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_vsplatrb">;
2741
2742 def int_hexagon_A2_addh_h16_hh :
2743 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_hh">;
2744
2745 def int_hexagon_M2_cmpyr_s0 :
2746 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpyr_s0">;
2747
2748 def int_hexagon_M2_dpmpyss_rnd_s0 :
2749 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_dpmpyss_rnd_s0">;
2750
2751 def int_hexagon_C2_muxri :
2752 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C2_muxri">;
2753
2754 def int_hexagon_M2_vmac2es_s0 :
2755 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vmac2es_s0">;
2756
2757 def int_hexagon_M2_vmac2es_s1 :
2758 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vmac2es_s1">;
2759
2760 def int_hexagon_C2_pxfer_map :
2761 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_pxfer_map">;
2762
2763 def int_hexagon_M2_mpyu_lh_s1 :
2764 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_lh_s1">;
2765
2766 def int_hexagon_M2_mpyu_lh_s0 :
2767 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpyu_lh_s0">;
2768
2769 def int_hexagon_S2_asl_i_r_or :
2770 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_or">;
2771
2772 def int_hexagon_M2_mpyd_acc_hl_s0 :
2773 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_hl_s0">;
2774
2775 def int_hexagon_M2_mpyd_acc_hl_s1 :
2776 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_acc_hl_s1">;
2777
2778 def int_hexagon_S2_asr_r_p_nac :
2779 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_r_p_nac">;
2780
2781 def int_hexagon_A2_vaddw :
2782 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddw">;
2783
2784 def int_hexagon_S2_asr_i_r_and :
2785 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_and">;
2786
2787 def int_hexagon_A2_vaddh :
2788 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddh">;
2789
2790 def int_hexagon_M2_mpy_nac_sat_lh_s1 :
2791 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_lh_s1">;
2792
2793 def int_hexagon_M2_mpy_nac_sat_lh_s0 :
2794 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_lh_s0">;
2795
2796 def int_hexagon_C2_cmpeqp :
2797 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_C2_cmpeqp">;
2798
2799 def int_hexagon_M4_mpyri_addi :
2800 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mpyri_addi">;
2801
2802 def int_hexagon_A2_not :
2803 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_not">;
2804
2805 def int_hexagon_S4_andi_lsr_ri :
2806 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_andi_lsr_ri">;
2807
2808 def int_hexagon_M2_macsip :
2809 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_macsip">;
2810
2811 def int_hexagon_A2_tfrcrr :
2812 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_tfrcrr">;
2813
2814 def int_hexagon_M2_macsin :
2815 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_macsin">;
2816
2817 def int_hexagon_C2_orn :
2818 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_orn">;
2819
2820 def int_hexagon_M4_and_andn :
2821 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_and_andn">;
2822
2823 def int_hexagon_F2_sfmpy :
2824 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sfmpy">;
2825
2826 def int_hexagon_M2_mpyud_nac_hh_s1 :
2827 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_hh_s1">;
2828
2829 def int_hexagon_M2_mpyud_nac_hh_s0 :
2830 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_hh_s0">;
2831
2832 def int_hexagon_S2_lsr_r_p_acc :
2833 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p_acc">;
2834
2835 def int_hexagon_S2_asr_r_vw :
2836 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_r_vw">;
2837
2838 def int_hexagon_M4_and_or :
2839 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_and_or">;
2840
2841 def int_hexagon_S2_asr_r_vh :
2842 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_r_vh">;
2843
2844 def int_hexagon_C2_mask :
2845 Hexagon_i64_i32_Intrinsic<"HEXAGON_C2_mask">;
2846
2847 def int_hexagon_M2_mpy_nac_hh_s0 :
2848 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_hh_s0">;
2849
2850 def int_hexagon_M2_mpy_nac_hh_s1 :
2851 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_hh_s1">;
2852
2853 def int_hexagon_M2_mpy_up_s1_sat :
2854 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_up_s1_sat">;
2855
2856 def int_hexagon_A4_vcmpbgt :
2857 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A4_vcmpbgt">;
2858
2859 def int_hexagon_M5_vrmacbsu :
2860 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M5_vrmacbsu">;
2861
2862 def int_hexagon_S2_tableidxw_goodsyntax :
2863 Hexagon_i32_i32i32i32i32_Intrinsic<"HEXAGON_S2_tableidxw_goodsyntax">;
2864
2865 def int_hexagon_A2_vrsadub :
2866 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vrsadub">;
2867
2868 def int_hexagon_A2_tfrrcr :
2869 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_tfrrcr">;
2870
2871 def int_hexagon_M2_vrcmpys_acc_s1 :
2872 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_M2_vrcmpys_acc_s1">;
2873
2874 def int_hexagon_F2_dfcmpge :
2875 Hexagon_i32_doubledouble_Intrinsic<"HEXAGON_F2_dfcmpge">;
2876
2877 def int_hexagon_M2_accii :
2878 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_accii">;
2879
2880 def int_hexagon_A5_vaddhubs :
2881 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A5_vaddhubs">;
2882
2883 def int_hexagon_A2_vmaxw :
2884 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxw">;
2885
2886 def int_hexagon_A2_vmaxb :
2887 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxb">;
2888
2889 def int_hexagon_A2_vmaxh :
2890 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxh">;
2891
2892 def int_hexagon_S2_vsxthw :
2893 Hexagon_i64_i32_Intrinsic<"HEXAGON_S2_vsxthw">;
2894
2895 def int_hexagon_S4_andi_asl_ri :
2896 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_andi_asl_ri">;
2897
2898 def int_hexagon_S2_asl_i_p_nac :
2899 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_i_p_nac">;
2900
2901 def int_hexagon_S2_lsl_r_p_xor :
2902 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p_xor">;
2903
2904 def int_hexagon_C2_cmpgt :
2905 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgt">;
2906
2907 def int_hexagon_F2_conv_df2d_chop :
2908 Hexagon_i64_double_Intrinsic<"HEXAGON_F2_conv_df2d_chop">;
2909
2910 def int_hexagon_M2_mpyu_nac_hl_s0 :
2911 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_hl_s0">;
2912
2913 def int_hexagon_M2_mpyu_nac_hl_s1 :
2914 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_hl_s1">;
2915
2916 def int_hexagon_F2_conv_sf2w :
2917 Hexagon_i32_float_Intrinsic<"HEXAGON_F2_conv_sf2w">;
2918
2919 def int_hexagon_S2_lsr_r_p_or :
2920 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p_or">;
2921
2922 def int_hexagon_F2_sfclass :
2923 Hexagon_i32_floati32_Intrinsic<"HEXAGON_F2_sfclass">;
2924
2925 def int_hexagon_M2_mpyud_acc_lh_s0 :
2926 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_lh_s0">;
2927
2928 def int_hexagon_M4_xor_andn :
2929 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_xor_andn">;
2930
2931 def int_hexagon_S2_addasl_rrri :
2932 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_addasl_rrri">;
2933
2934 def int_hexagon_M5_vdmpybsu :
2935 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M5_vdmpybsu">;
2936
2937 def int_hexagon_M2_mpyu_nac_hh_s0 :
2938 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_hh_s0">;
2939
2940 def int_hexagon_M2_mpyu_nac_hh_s1 :
2941 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_nac_hh_s1">;
2942
2943 def int_hexagon_A2_addi :
2944 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addi">;
2945
2946 def int_hexagon_A2_addp :
2947 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_addp">;
2948
2949 def int_hexagon_M2_vmpy2s_s1pack :
2950 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_vmpy2s_s1pack">;
2951
2952 def int_hexagon_S4_clbpnorm :
2953 Hexagon_i32_i64_Intrinsic<"HEXAGON_S4_clbpnorm">;
2954
2955 def int_hexagon_A4_round_rr_sat :
2956 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_round_rr_sat">;
2957
2958 def int_hexagon_M2_nacci :
2959 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_nacci">;
2960
2961 def int_hexagon_S2_shuffeh :
2962 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_shuffeh">;
2963
2964 def int_hexagon_S2_lsr_i_r_and :
2965 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r_and">;
2966
2967 def int_hexagon_M2_mpy_sat_rnd_hh_s1 :
2968 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hh_s1">;
2969
2970 def int_hexagon_M2_mpy_sat_rnd_hh_s0 :
2971 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hh_s0">;
2972
2973 def int_hexagon_F2_conv_sf2uw :
2974 Hexagon_i32_float_Intrinsic<"HEXAGON_F2_conv_sf2uw">;
2975
2976 def int_hexagon_A2_vsubh :
2977 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubh">;
2978
2979 def int_hexagon_F2_conv_sf2ud :
2980 Hexagon_i64_float_Intrinsic<"HEXAGON_F2_conv_sf2ud">;
2981
2982 def int_hexagon_A2_vsubw :
2983 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubw">;
2984
2985 def int_hexagon_A2_vcmpwgt :
2986 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpwgt">;
2987
2988 def int_hexagon_M4_xor_or :
2989 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_xor_or">;
2990
2991 def int_hexagon_F2_conv_sf2uw_chop :
2992 Hexagon_i32_float_Intrinsic<"HEXAGON_F2_conv_sf2uw_chop">;
2993
2994 def int_hexagon_S2_asl_r_vw :
2995 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_r_vw">;
2996
2997 def int_hexagon_S2_vsatwuh_nopack :
2998 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_vsatwuh_nopack">;
2999
3000 def int_hexagon_S2_asl_r_vh :
3001 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_r_vh">;
3002
3003 def int_hexagon_A2_svsubuhs :
3004 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svsubuhs">;
3005
3006 def int_hexagon_M5_vmpybsu :
3007 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M5_vmpybsu">;
3008
3009 def int_hexagon_A2_subh_l16_sat_ll :
3010 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_l16_sat_ll">;
3011
3012 def int_hexagon_C4_and_and :
3013 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_and_and">;
3014
3015 def int_hexagon_M2_mpyu_acc_hl_s1 :
3016 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_hl_s1">;
3017
3018 def int_hexagon_M2_mpyu_acc_hl_s0 :
3019 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_hl_s0">;
3020
3021 def int_hexagon_S2_lsr_r_p :
3022 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p">;
3023
3024 def int_hexagon_S2_lsr_r_r :
3025 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_lsr_r_r">;
3026
3027 def int_hexagon_A4_subp_c :
3028 Hexagon_i64i32_i64i64i32_Intrinsic<"HEXAGON_A4_subp_c">;
3029
3030 def int_hexagon_A2_vsubhs :
3031 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubhs">;
3032
3033 def int_hexagon_C2_vitpack :
3034 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_vitpack">;
3035
3036 def int_hexagon_A2_vavguhr :
3037 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavguhr">;
3038
3039 def int_hexagon_S2_vsplicerb :
3040 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_vsplicerb">;
3041
3042 def int_hexagon_C4_nbitsclr :
3043 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_nbitsclr">;
3044
3045 def int_hexagon_A2_vcmpbgtu :
3046 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpbgtu">;
3047
3048 def int_hexagon_M2_cmpys_s1 :
3049 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpys_s1">;
3050
3051 def int_hexagon_M2_cmpys_s0 :
3052 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_cmpys_s0">;
3053
3054 def int_hexagon_F2_dfcmpuo :
3055 Hexagon_i32_doubledouble_Intrinsic<"HEXAGON_F2_dfcmpuo">;
3056
3057 def int_hexagon_S2_shuffob :
3058 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_shuffob">;
3059
3060 def int_hexagon_C2_and :
3061 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_and">;
3062
3063 def int_hexagon_S5_popcountp :
3064 Hexagon_i32_i64_Intrinsic<"HEXAGON_S5_popcountp">;
3065
3066 def int_hexagon_S4_extractp :
3067 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_S4_extractp">;
3068
3069 def int_hexagon_S2_cl0 :
3070 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_cl0">;
3071
3072 def int_hexagon_A4_vcmpbgti :
3073 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpbgti">;
3074
3075 def int_hexagon_M2_mmacls_s1 :
3076 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacls_s1">;
3077
3078 def int_hexagon_M2_mmacls_s0 :
3079 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacls_s0">;
3080
3081 def int_hexagon_C4_cmpneq :
3082 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmpneq">;
3083
3084 def int_hexagon_M2_vmac2es :
3085 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vmac2es">;
3086
3087 def int_hexagon_M2_vdmacs_s0 :
3088 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vdmacs_s0">;
3089
3090 def int_hexagon_M2_vdmacs_s1 :
3091 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vdmacs_s1">;
3092
3093 def int_hexagon_M2_mpyud_ll_s0 :
3094 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_ll_s0">;
3095
3096 def int_hexagon_M2_mpyud_ll_s1 :
3097 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_ll_s1">;
3098
3099 def int_hexagon_S2_clb :
3100 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_clb">;
3101
3102 def int_hexagon_M2_mpy_nac_ll_s0 :
3103 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_ll_s0">;
3104
3105 def int_hexagon_M2_mpy_nac_ll_s1 :
3106 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_ll_s1">;
3107
3108 def int_hexagon_M2_mpyd_nac_hl_s1 :
3109 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_hl_s1">;
3110
3111 def int_hexagon_M2_mpyd_nac_hl_s0 :
3112 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_hl_s0">;
3113
3114 def int_hexagon_M2_maci :
3115 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_maci">;
3116
3117 def int_hexagon_A2_vmaxuh :
3118 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxuh">;
3119
3120 def int_hexagon_A4_bitspliti :
3121 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A4_bitspliti">;
3122
3123 def int_hexagon_A2_vmaxub :
3124 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxub">;
3125
3126 def int_hexagon_M2_mpyud_hh_s0 :
3127 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_hh_s0">;
3128
3129 def int_hexagon_M2_mpyud_hh_s1 :
3130 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_hh_s1">;
3131
3132 def int_hexagon_M2_vrmac_s0 :
3133 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vrmac_s0">;
3134
3135 def int_hexagon_M2_mpy_sat_lh_s0 :
3136 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_lh_s0">;
3137
3138 def int_hexagon_S2_asl_r_r_sat :
3139 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asl_r_r_sat">;
3140
3141 def int_hexagon_F2_conv_sf2d :
3142 Hexagon_i64_float_Intrinsic<"HEXAGON_F2_conv_sf2d">;
3143
3144 def int_hexagon_S2_asr_r_r_nac :
3145 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_r_r_nac">;
3146
3147 def int_hexagon_F2_dfimm_n :
3148 Hexagon_double_i32_Intrinsic<"HEXAGON_F2_dfimm_n">;
3149
3150 def int_hexagon_A4_cmphgt :
3151 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmphgt">;
3152
3153 def int_hexagon_F2_dfimm_p :
3154 Hexagon_double_i32_Intrinsic<"HEXAGON_F2_dfimm_p">;
3155
3156 def int_hexagon_M2_mpyud_acc_lh_s1 :
3157 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_acc_lh_s1">;
3158
3159 def int_hexagon_M2_vcmpy_s1_sat_r :
3160 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vcmpy_s1_sat_r">;
3161
3162 def int_hexagon_M4_mpyri_addr_u2 :
3163 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mpyri_addr_u2">;
3164
3165 def int_hexagon_M2_vcmpy_s1_sat_i :
3166 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vcmpy_s1_sat_i">;
3167
3168 def int_hexagon_S2_lsl_r_p_nac :
3169 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p_nac">;
3170
3171 def int_hexagon_M5_vrmacbuu :
3172 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M5_vrmacbuu">;
3173
3174 def int_hexagon_S5_asrhub_rnd_sat_goodsyntax :
3175 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_S5_asrhub_rnd_sat_goodsyntax">;
3176
3177 def int_hexagon_S2_vspliceib :
3178 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_vspliceib">;
3179
3180 def int_hexagon_M2_dpmpyss_acc_s0 :
3181 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_dpmpyss_acc_s0">;
3182
3183 def int_hexagon_M2_cnacs_s1 :
3184 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cnacs_s1">;
3185
3186 def int_hexagon_M2_cnacs_s0 :
3187 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cnacs_s0">;
3188
3189 def int_hexagon_A2_maxu :
3190 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_maxu">;
3191
3192 def int_hexagon_A2_maxp :
3193 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_maxp">;
3194
3195 def int_hexagon_A2_andir :
3196 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_andir">;
3197
3198 def int_hexagon_F2_sfrecipa :
3199 Hexagon_floati32_floatfloat_Intrinsic<"HEXAGON_F2_sfrecipa">;
3200
3201 def int_hexagon_A2_combineii :
3202 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_A2_combineii">;
3203
3204 def int_hexagon_A4_orn :
3205 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_orn">;
3206
3207 def int_hexagon_A4_cmpbgtui :
3208 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbgtui">;
3209
3210 def int_hexagon_S2_lsr_r_r_or :
3211 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_r_r_or">;
3212
3213 def int_hexagon_A4_vcmpbeqi :
3214 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpbeqi">;
3215
3216 def int_hexagon_S2_lsl_r_r :
3217 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_lsl_r_r">;
3218
3219 def int_hexagon_S2_lsl_r_p :
3220 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsl_r_p">;
3221
3222 def int_hexagon_A2_or :
3223 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_or">;
3224
3225 def int_hexagon_F2_dfcmpeq :
3226 Hexagon_i32_doubledouble_Intrinsic<"HEXAGON_F2_dfcmpeq">;
3227
3228 def int_hexagon_C2_cmpeq :
3229 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpeq">;
3230
3231 def int_hexagon_A2_tfrp :
3232 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_tfrp">;
3233
3234 def int_hexagon_C4_and_andn :
3235 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_and_andn">;
3236
3237 def int_hexagon_S2_vsathub_nopack :
3238 Hexagon_i64_i64_Intrinsic<"HEXAGON_S2_vsathub_nopack">;
3239
3240 def int_hexagon_A2_satuh :
3241 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_satuh">;
3242
3243 def int_hexagon_A2_satub :
3244 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_satub">;
3245
3246 def int_hexagon_M2_vrcmpys_s1 :
3247 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_M2_vrcmpys_s1">;
3248
3249 def int_hexagon_S4_or_ori :
3250 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_or_ori">;
3251
3252 def int_hexagon_C4_fastcorner9_not :
3253 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_fastcorner9_not">;
3254
3255 def int_hexagon_A2_tfrih :
3256 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_tfrih">;
3257
3258 def int_hexagon_A2_tfril :
3259 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_tfril">;
3260
3261 def int_hexagon_M4_mpyri_addr :
3262 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mpyri_addr">;
3263
3264 def int_hexagon_S2_vtrunehb :
3265 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vtrunehb">;
3266
3267 def int_hexagon_A2_vabsw :
3268 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_vabsw">;
3269
3270 def int_hexagon_A2_vabsh :
3271 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_vabsh">;
3272
3273 def int_hexagon_F2_sfsub :
3274 Hexagon_float_floatfloat_Intrinsic<"HEXAGON_F2_sfsub">;
3275
3276 def int_hexagon_C2_muxii :
3277 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C2_muxii">;
3278
3279 def int_hexagon_C2_muxir :
3280 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C2_muxir">;
3281
3282 def int_hexagon_A2_swiz :
3283 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_swiz">;
3284
3285 def int_hexagon_S2_asr_i_p_and :
3286 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_and">;
3287
3288 def int_hexagon_M2_cmpyrsc_s0 :
3289 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_cmpyrsc_s0">;
3290
3291 def int_hexagon_M2_cmpyrsc_s1 :
3292 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_cmpyrsc_s1">;
3293
3294 def int_hexagon_A2_vraddub :
3295 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vraddub">;
3296
3297 def int_hexagon_A4_tlbmatch :
3298 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_tlbmatch">;
3299
3300 def int_hexagon_F2_conv_df2w_chop :
3301 Hexagon_i32_double_Intrinsic<"HEXAGON_F2_conv_df2w_chop">;
3302
3303 def int_hexagon_A2_and :
3304 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_and">;
3305
3306 def int_hexagon_S2_lsr_r_p_and :
3307 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p_and">;
3308
3309 def int_hexagon_M2_mpy_nac_sat_ll_s1 :
3310 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_ll_s1">;
3311
3312 def int_hexagon_M2_mpy_nac_sat_ll_s0 :
3313 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_ll_s0">;
3314
3315 def int_hexagon_S4_extract :
3316 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_extract">;
3317
3318 def int_hexagon_A2_vcmpweq :
3319 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A2_vcmpweq">;
3320
3321 def int_hexagon_M2_acci :
3322 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_acci">;
3323
3324 def int_hexagon_S2_lsr_i_p_acc :
3325 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p_acc">;
3326
3327 def int_hexagon_S2_lsr_i_p_or :
3328 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p_or">;
3329
3330 def int_hexagon_F2_conv_ud2sf :
3331 Hexagon_float_i64_Intrinsic<"HEXAGON_F2_conv_ud2sf">;
3332
3333 def int_hexagon_A2_tfr :
3334 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_tfr">;
3335
3336 def int_hexagon_S2_asr_i_p_or :
3337 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_or">;
3338
3339 def int_hexagon_A2_subri :
3340 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subri">;
3341
3342 def int_hexagon_A4_vrmaxuw :
3343 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrmaxuw">;
3344
3345 def int_hexagon_M5_vmpybuu :
3346 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M5_vmpybuu">;
3347
3348 def int_hexagon_A4_vrmaxuh :
3349 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_A4_vrmaxuh">;
3350
3351 def int_hexagon_S2_asl_i_vw :
3352 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_i_vw">;
3353
3354 def int_hexagon_A2_vavgw :
3355 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgw">;
3356
3357 def int_hexagon_S2_brev :
3358 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_brev">;
3359
3360 def int_hexagon_A2_vavgh :
3361 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavgh">;
3362
3363 def int_hexagon_S2_clrbit_i :
3364 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_clrbit_i">;
3365
3366 def int_hexagon_S2_asl_i_vh :
3367 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asl_i_vh">;
3368
3369 def int_hexagon_S2_lsr_i_r_or :
3370 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsr_i_r_or">;
3371
3372 def int_hexagon_S2_lsl_r_r_nac :
3373 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_lsl_r_r_nac">;
3374
3375 def int_hexagon_M2_mmpyl_rs1 :
3376 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyl_rs1">;
3377
3378 def int_hexagon_M2_mpyud_hl_s1 :
3379 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_hl_s1">;
3380
3381 def int_hexagon_M2_mmpyl_s0 :
3382 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyl_s0">;
3383
3384 def int_hexagon_M2_mmpyl_s1 :
3385 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyl_s1">;
3386
3387 def int_hexagon_M2_naccii :
3388 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_naccii">;
3389
3390 def int_hexagon_S2_vrndpackwhs :
3391 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vrndpackwhs">;
3392
3393 def int_hexagon_S2_vtrunewh :
3394 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_vtrunewh">;
3395
3396 def int_hexagon_M2_dpmpyss_nac_s0 :
3397 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_dpmpyss_nac_s0">;
3398
3399 def int_hexagon_M2_mpyd_ll_s0 :
3400 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_ll_s0">;
3401
3402 def int_hexagon_M2_mpyd_ll_s1 :
3403 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_ll_s1">;
3404
3405 def int_hexagon_M4_mac_up_s1_sat :
3406 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_mac_up_s1_sat">;
3407
3408 def int_hexagon_S4_vrcrotate_acc :
3409 Hexagon_i64_i64i64i32i32_Intrinsic<"HEXAGON_S4_vrcrotate_acc">;
3410
3411 def int_hexagon_F2_conv_uw2df :
3412 Hexagon_double_i32_Intrinsic<"HEXAGON_F2_conv_uw2df">;
3413
3414 def int_hexagon_A2_vaddubs :
3415 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddubs">;
3416
3417 def int_hexagon_S2_asr_r_r_acc :
3418 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_r_r_acc">;
3419
3420 def int_hexagon_A2_orir :
3421 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_orir">;
3422
3423 def int_hexagon_A2_andp :
3424 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_andp">;
3425
3426 def int_hexagon_S2_lfsp :
3427 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_lfsp">;
3428
3429 def int_hexagon_A2_min :
3430 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_min">;
3431
3432 def int_hexagon_M2_mpysmi :
3433 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpysmi">;
3434
3435 def int_hexagon_M2_vcmpy_s0_sat_r :
3436 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vcmpy_s0_sat_r">;
3437
3438 def int_hexagon_M2_mpyu_acc_ll_s1 :
3439 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_ll_s1">;
3440
3441 def int_hexagon_M2_mpyu_acc_ll_s0 :
3442 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpyu_acc_ll_s0">;
3443
3444 def int_hexagon_S2_asr_r_svw_trun :
3445 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_S2_asr_r_svw_trun">;
3446
3447 def int_hexagon_M2_mmpyh_s0 :
3448 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyh_s0">;
3449
3450 def int_hexagon_M2_mmpyh_s1 :
3451 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyh_s1">;
3452
3453 def int_hexagon_F2_conv_sf2df :
3454 Hexagon_double_float_Intrinsic<"HEXAGON_F2_conv_sf2df">;
3455
3456 def int_hexagon_S2_vtrunohb :
3457 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vtrunohb">;
3458
3459 def int_hexagon_F2_conv_sf2d_chop :
3460 Hexagon_i64_float_Intrinsic<"HEXAGON_F2_conv_sf2d_chop">;
3461
3462 def int_hexagon_M2_mpyd_lh_s0 :
3463 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_lh_s0">;
3464
3465 def int_hexagon_F2_conv_df2w :
3466 Hexagon_i32_double_Intrinsic<"HEXAGON_F2_conv_df2w">;
3467
3468 def int_hexagon_S5_asrhub_sat :
3469 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_S5_asrhub_sat">;
3470
3471 def int_hexagon_S2_asl_i_r_xacc :
3472 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_xacc">;
3473
3474 def int_hexagon_F2_conv_df2d :
3475 Hexagon_i64_double_Intrinsic<"HEXAGON_F2_conv_df2d">;
3476
3477 def int_hexagon_M2_mmaculs_s1 :
3478 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmaculs_s1">;
3479
3480 def int_hexagon_M2_mmaculs_s0 :
3481 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmaculs_s0">;
3482
3483 def int_hexagon_A2_svadduhs :
3484 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svadduhs">;
3485
3486 def int_hexagon_F2_conv_sf2w_chop :
3487 Hexagon_i32_float_Intrinsic<"HEXAGON_F2_conv_sf2w_chop">;
3488
3489 def int_hexagon_S2_svsathub :
3490 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_svsathub">;
3491
3492 def int_hexagon_M2_mpyd_rnd_hl_s1 :
3493 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_hl_s1">;
3494
3495 def int_hexagon_M2_mpyd_rnd_hl_s0 :
3496 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_hl_s0">;
3497
3498 def int_hexagon_S2_setbit_r :
3499 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_setbit_r">;
3500
3501 def int_hexagon_A2_vavghr :
3502 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavghr">;
3503
3504 def int_hexagon_F2_sffma_sc :
3505 Hexagon_float_floatfloatfloati32_Intrinsic<"HEXAGON_F2_sffma_sc">;
3506
3507 def int_hexagon_F2_dfclass :
3508 Hexagon_i32_doublei32_Intrinsic<"HEXAGON_F2_dfclass">;
3509
3510 def int_hexagon_F2_conv_df2ud :
3511 Hexagon_i64_double_Intrinsic<"HEXAGON_F2_conv_df2ud">;
3512
3513 def int_hexagon_F2_conv_df2uw :
3514 Hexagon_i32_double_Intrinsic<"HEXAGON_F2_conv_df2uw">;
3515
3516 def int_hexagon_M2_cmpyrs_s0 :
3517 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_cmpyrs_s0">;
3518
3519 def int_hexagon_M2_cmpyrs_s1 :
3520 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_cmpyrs_s1">;
3521
3522 def int_hexagon_C4_cmpltei :
3523 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmpltei">;
3524
3525 def int_hexagon_C4_cmplteu :
3526 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_cmplteu">;
3527
3528 def int_hexagon_A2_vsubb_map :
3529 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vsubb_map">;
3530
3531 def int_hexagon_A2_subh_l16_ll :
3532 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_l16_ll">;
3533
3534 def int_hexagon_S2_asr_i_r_rnd :
3535 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_rnd">;
3536
3537 def int_hexagon_M2_vrmpy_s0 :
3538 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vrmpy_s0">;
3539
3540 def int_hexagon_M2_mpyd_rnd_hh_s1 :
3541 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_hh_s1">;
3542
3543 def int_hexagon_M2_mpyd_rnd_hh_s0 :
3544 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyd_rnd_hh_s0">;
3545
3546 def int_hexagon_A2_minup :
3547 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_minup">;
3548
3549 def int_hexagon_S2_valignrb :
3550 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_valignrb">;
3551
3552 def int_hexagon_S2_asr_r_p_acc :
3553 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_r_p_acc">;
3554
3555 def int_hexagon_M2_mmpyl_rs0 :
3556 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_mmpyl_rs0">;
3557
3558 def int_hexagon_M2_vrcmaci_s0 :
3559 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vrcmaci_s0">;
3560
3561 def int_hexagon_A2_vaddub :
3562 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddub">;
3563
3564 def int_hexagon_A2_combine_lh :
3565 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_combine_lh">;
3566
3567 def int_hexagon_M5_vdmacbsu :
3568 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M5_vdmacbsu">;
3569
3570 def int_hexagon_A2_combine_ll :
3571 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_combine_ll">;
3572
3573 def int_hexagon_M2_mpyud_hl_s0 :
3574 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_hl_s0">;
3575
3576 def int_hexagon_M2_vrcmpyi_s0c :
3577 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vrcmpyi_s0c">;
3578
3579 def int_hexagon_S2_asr_i_p_rnd :
3580 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_rnd">;
3581
3582 def int_hexagon_A2_addpsat :
3583 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_addpsat">;
3584
3585 def int_hexagon_A2_svaddhs :
3586 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svaddhs">;
3587
3588 def int_hexagon_S4_ori_lsr_ri :
3589 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_ori_lsr_ri">;
3590
3591 def int_hexagon_M2_mpy_sat_rnd_ll_s1 :
3592 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_ll_s1">;
3593
3594 def int_hexagon_M2_mpy_sat_rnd_ll_s0 :
3595 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_ll_s0">;
3596
3597 def int_hexagon_A2_vminw :
3598 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminw">;
3599
3600 def int_hexagon_A2_vminh :
3601 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminh">;
3602
3603 def int_hexagon_M2_vrcmpyr_s0 :
3604 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vrcmpyr_s0">;
3605
3606 def int_hexagon_A2_vminb :
3607 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminb">;
3608
3609 def int_hexagon_M2_vcmac_s0_sat_i :
3610 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vcmac_s0_sat_i">;
3611
3612 def int_hexagon_M2_mpyud_lh_s0 :
3613 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_lh_s0">;
3614
3615 def int_hexagon_M2_mpyud_lh_s1 :
3616 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_mpyud_lh_s1">;
3617
3618 def int_hexagon_S2_asl_r_r_or :
3619 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asl_r_r_or">;
3620
3621 def int_hexagon_S4_lsli :
3622 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S4_lsli">;
3623
3624 def int_hexagon_S2_lsl_r_vw :
3625 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsl_r_vw">;
3626
3627 def int_hexagon_M2_mpy_hh_s1 :
3628 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_M2_mpy_hh_s1">;
3629
3630 def int_hexagon_M4_vrmpyeh_s0 :
3631 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M4_vrmpyeh_s0">;
3632
3633 def int_hexagon_M4_vrmpyeh_s1 :
3634 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M4_vrmpyeh_s1">;
3635
3636 def int_hexagon_M2_mpy_nac_lh_s0 :
3637 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_lh_s0">;
3638
3639 def int_hexagon_M2_mpy_nac_lh_s1 :
3640 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_lh_s1">;
3641
3642 def int_hexagon_M2_vraddh :
3643 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_M2_vraddh">;
3644
3645 def int_hexagon_C2_tfrrp :
3646 Hexagon_i32_i32_Intrinsic<"HEXAGON_C2_tfrrp">;
3647
3648 def int_hexagon_M2_mpy_acc_sat_ll_s0 :
3649 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_ll_s0">;
3650
3651 def int_hexagon_M2_mpy_acc_sat_ll_s1 :
3652 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_ll_s1">;
3653
3654 def int_hexagon_S2_vtrunowh :
3655 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_vtrunowh">;
3656
3657 def int_hexagon_A2_abs :
3658 Hexagon_i32_i32_Intrinsic<"HEXAGON_A2_abs">;
3659
3660 def int_hexagon_A4_cmpbeq :
3661 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpbeq">;
3662
3663 def int_hexagon_A2_negp :
3664 Hexagon_i64_i64_Intrinsic<"HEXAGON_A2_negp">;
3665
3666 def int_hexagon_S2_asl_i_r_sat :
3667 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_asl_i_r_sat">;
3668
3669 def int_hexagon_A2_addh_l16_sat_hl :
3670 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_l16_sat_hl">;
3671
3672 def int_hexagon_S2_vsatwuh :
3673 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vsatwuh">;
3674
3675 def int_hexagon_F2_dfcmpgt :
3676 Hexagon_i32_doubledouble_Intrinsic<"HEXAGON_F2_dfcmpgt">;
3677
3678 def int_hexagon_S2_svsathb :
3679 Hexagon_i32_i32_Intrinsic<"HEXAGON_S2_svsathb">;
3680
3681 def int_hexagon_C2_cmpgtup :
3682 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_C2_cmpgtup">;
3683
3684 def int_hexagon_A4_cround_ri :
3685 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cround_ri">;
3686
3687 def int_hexagon_S4_clbpaddi :
3688 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_S4_clbpaddi">;
3689
3690 def int_hexagon_A4_cround_rr :
3691 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cround_rr">;
3692
3693 def int_hexagon_C2_mux :
3694 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C2_mux">;
3695
3696 def int_hexagon_M2_dpmpyuu_s0 :
3697 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_dpmpyuu_s0">;
3698
3699 def int_hexagon_S2_shuffeb :
3700 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S2_shuffeb">;
3701
3702 def int_hexagon_A2_vminuw :
3703 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminuw">;
3704
3705 def int_hexagon_A2_vaddhs :
3706 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vaddhs">;
3707
3708 def int_hexagon_S2_insert_rp :
3709 Hexagon_i32_i32i32i64_Intrinsic<"HEXAGON_S2_insert_rp">;
3710
3711 def int_hexagon_A2_vminuh :
3712 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminuh">;
3713
3714 def int_hexagon_A2_vminub :
3715 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vminub">;
3716
3717 def int_hexagon_S2_extractu :
3718 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_extractu">;
3719
3720 def int_hexagon_A2_svsubh :
3721 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_svsubh">;
3722
3723 def int_hexagon_S4_clbaddi :
3724 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S4_clbaddi">;
3725
3726 def int_hexagon_F2_sffms :
3727 Hexagon_float_floatfloatfloat_Intrinsic<"HEXAGON_F2_sffms">;
3728
3729 def int_hexagon_S2_vsxtbh :
3730 Hexagon_i64_i32_Intrinsic<"HEXAGON_S2_vsxtbh">;
3731
3732 def int_hexagon_M2_mpyud_nac_ll_s1 :
3733 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_ll_s1">;
3734
3735 def int_hexagon_M2_mpyud_nac_ll_s0 :
3736 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_ll_s0">;
3737
3738 def int_hexagon_A2_subp :
3739 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_subp">;
3740
3741 def int_hexagon_M2_vmpy2es_s1 :
3742 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vmpy2es_s1">;
3743
3744 def int_hexagon_M2_vmpy2es_s0 :
3745 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M2_vmpy2es_s0">;
3746
3747 def int_hexagon_S4_parity :
3748 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S4_parity">;
3749
3750 def int_hexagon_M2_mpy_acc_hh_s1 :
3751 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_hh_s1">;
3752
3753 def int_hexagon_M2_mpy_acc_hh_s0 :
3754 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_hh_s0">;
3755
3756 def int_hexagon_S4_addi_asl_ri :
3757 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S4_addi_asl_ri">;
3758
3759 def int_hexagon_M2_mpyd_nac_hh_s1 :
3760 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_hh_s1">;
3761
3762 def int_hexagon_M2_mpyd_nac_hh_s0 :
3763 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyd_nac_hh_s0">;
3764
3765 def int_hexagon_S2_asr_i_r_nac :
3766 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S2_asr_i_r_nac">;
3767
3768 def int_hexagon_A4_cmpheqi :
3769 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_cmpheqi">;
3770
3771 def int_hexagon_S2_lsr_r_p_xor :
3772 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_r_p_xor">;
3773
3774 def int_hexagon_M2_mpy_acc_hl_s1 :
3775 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_hl_s1">;
3776
3777 def int_hexagon_M2_mpy_acc_hl_s0 :
3778 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_hl_s0">;
3779
3780 def int_hexagon_F2_conv_sf2ud_chop :
3781 Hexagon_i64_float_Intrinsic<"HEXAGON_F2_conv_sf2ud_chop">;
3782
3783 def int_hexagon_C2_cmpgeui :
3784 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_cmpgeui">;
3785
3786 def int_hexagon_M2_mpy_acc_sat_hh_s0 :
3787 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hh_s0">;
3788
3789 def int_hexagon_M2_mpy_acc_sat_hh_s1 :
3790 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hh_s1">;
3791
3792 def int_hexagon_S2_asl_r_p_and :
3793 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_r_p_and">;
3794
3795 def int_hexagon_A2_addh_h16_sat_lh :
3796 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_sat_lh">;
3797
3798 def int_hexagon_A2_addh_h16_sat_ll :
3799 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_addh_h16_sat_ll">;
3800
3801 def int_hexagon_M4_nac_up_s1_sat :
3802 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M4_nac_up_s1_sat">;
3803
3804 def int_hexagon_M2_mpyud_nac_lh_s1 :
3805 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_lh_s1">;
3806
3807 def int_hexagon_M2_mpyud_nac_lh_s0 :
3808 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_mpyud_nac_lh_s0">;
3809
3810 def int_hexagon_A4_round_ri_sat :
3811 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_round_ri_sat">;
3812
3813 def int_hexagon_M2_mpy_nac_hl_s0 :
3814 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_hl_s0">;
3815
3816 def int_hexagon_M2_mpy_nac_hl_s1 :
3817 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_hl_s1">;
3818
3819 def int_hexagon_A2_vavghcr :
3820 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vavghcr">;
3821
3822 def int_hexagon_M2_mmacls_rs0 :
3823 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacls_rs0">;
3824
3825 def int_hexagon_M2_mmacls_rs1 :
3826 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_mmacls_rs1">;
3827
3828 def int_hexagon_M2_cmaci_s0 :
3829 Hexagon_i64_i64i32i32_Intrinsic<"HEXAGON_M2_cmaci_s0">;
3830
3831 def int_hexagon_S2_setbit_i :
3832 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_setbit_i">;
3833
3834 def int_hexagon_S2_asl_i_p_or :
3835 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asl_i_p_or">;
3836
3837 def int_hexagon_A4_andn :
3838 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A4_andn">;
3839
3840 def int_hexagon_M5_vrmpybsu :
3841 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M5_vrmpybsu">;
3842
3843 def int_hexagon_S2_vrndpackwh :
3844 Hexagon_i32_i64_Intrinsic<"HEXAGON_S2_vrndpackwh">;
3845
3846 def int_hexagon_M2_vcmac_s0_sat_r :
3847 Hexagon_i64_i64i64i64_Intrinsic<"HEXAGON_M2_vcmac_s0_sat_r">;
3848
3849 def int_hexagon_A2_vmaxuw :
3850 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A2_vmaxuw">;
3851
3852 def int_hexagon_C2_bitsclr :
3853 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C2_bitsclr">;
3854
3855 def int_hexagon_M2_xor_xacc :
3856 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_xor_xacc">;
3857
3858 def int_hexagon_A4_vcmpbgtui :
3859 Hexagon_i32_i64i32_Intrinsic<"HEXAGON_A4_vcmpbgtui">;
3860
3861 def int_hexagon_A4_ornp :
3862 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_A4_ornp">;
3863
3864 def int_hexagon_A2_tfrpi :
3865 Hexagon_i64_i32_Intrinsic<"HEXAGON_A2_tfrpi">;
3866
3867 def int_hexagon_C4_and_or :
3868 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_C4_and_or">;
3869
3870 def int_hexagon_M2_mpy_nac_sat_hh_s1 :
3871 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hh_s1">;
3872
3873 def int_hexagon_M2_mpy_nac_sat_hh_s0 :
3874 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hh_s0">;
3875
3876 def int_hexagon_A2_subh_h16_sat_ll :
3877 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_sat_ll">;
3878
3879 def int_hexagon_A2_subh_h16_sat_lh :
3880 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_A2_subh_h16_sat_lh">;
3881
3882 def int_hexagon_M2_vmpy2su_s1 :
3883 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_vmpy2su_s1">;
3884
3885 def int_hexagon_M2_vmpy2su_s0 :
3886 Hexagon_i64_i32i32_Intrinsic<"HEXAGON_M2_vmpy2su_s0">;
3887
3888 def int_hexagon_S2_asr_i_p_acc :
3889 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_asr_i_p_acc">;
3890
3891 def int_hexagon_C4_nbitsclri :
3892 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_C4_nbitsclri">;
3893
3894 def int_hexagon_S2_lsr_i_vh :
3895 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S2_lsr_i_vh">;
3896
3897 def int_hexagon_S2_lsr_i_p_xacc :
3898 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S2_lsr_i_p_xacc">;
3899
3900 // V55 Scalar Instructions.
3901
3902 def int_hexagon_A5_ACS :
3903 Hexagon_i64i32_i64i64i64_Intrinsic<"HEXAGON_A5_ACS">;
3904
3905 // V60 Scalar Instructions.
3906
3907 def int_hexagon_S6_rol_i_p_and :
3908 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S6_rol_i_p_and">;
3909
3910 def int_hexagon_S6_rol_i_r_xacc :
3911 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S6_rol_i_r_xacc">;
3912
3913 def int_hexagon_S6_rol_i_r_and :
3914 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S6_rol_i_r_and">;
3915
3916 def int_hexagon_S6_rol_i_r_acc :
3917 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S6_rol_i_r_acc">;
3918
3919 def int_hexagon_S6_rol_i_p_xacc :
3920 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S6_rol_i_p_xacc">;
3921
3922 def int_hexagon_S6_rol_i_p :
3923 Hexagon_i64_i64i32_Intrinsic<"HEXAGON_S6_rol_i_p">;
3924
3925 def int_hexagon_S6_rol_i_p_nac :
3926 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S6_rol_i_p_nac">;
3927
3928 def int_hexagon_S6_rol_i_p_acc :
3929 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S6_rol_i_p_acc">;
3930
3931 def int_hexagon_S6_rol_i_r_or :
3932 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S6_rol_i_r_or">;
3933
3934 def int_hexagon_S6_rol_i_r :
3935 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S6_rol_i_r">;
3936
3937 def int_hexagon_S6_rol_i_r_nac :
3938 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_S6_rol_i_r_nac">;
3939
3940 def int_hexagon_S6_rol_i_p_or :
3941 Hexagon_i64_i64i64i32_Intrinsic<"HEXAGON_S6_rol_i_p_or">;
3942
3943 // V62 Scalar Instructions.
3944
3945 def int_hexagon_S6_vtrunehb_ppp :
3946 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S6_vtrunehb_ppp">;
3947
3948 def int_hexagon_V6_ldntnt0 :
3949 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_ldntnt0">;
3950
3951 def int_hexagon_M6_vabsdiffub :
3952 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M6_vabsdiffub">;
3953
3954 def int_hexagon_S6_vtrunohb_ppp :
3955 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_S6_vtrunohb_ppp">;
3956
3957 def int_hexagon_M6_vabsdiffb :
3958 Hexagon_i64_i64i64_Intrinsic<"HEXAGON_M6_vabsdiffb">;
3959
3960 def int_hexagon_A6_vminub_RdP :
3961 Hexagon_i64i32_i64i64_Intrinsic<"HEXAGON_A6_vminub_RdP">;
3962
3963 def int_hexagon_S6_vsplatrbp :
3964 Hexagon_i64_i32_Intrinsic<"HEXAGON_S6_vsplatrbp">;
3965
3966 // V65 Scalar Instructions.
3967
3968 def int_hexagon_A6_vcmpbeq_notany :
3969 Hexagon_i32_i64i64_Intrinsic<"HEXAGON_A6_vcmpbeq_notany">;
3970
3971 // V66 Scalar Instructions.
3972
3973 def int_hexagon_F2_dfsub :
3974 Hexagon_double_doubledouble_Intrinsic<"HEXAGON_F2_dfsub">;
3975
3976 def int_hexagon_F2_dfadd :
3977 Hexagon_double_doubledouble_Intrinsic<"HEXAGON_F2_dfadd">;
3978
3979 def int_hexagon_M2_mnaci :
3980 Hexagon_i32_i32i32i32_Intrinsic<"HEXAGON_M2_mnaci">;
3981
3982 def int_hexagon_S2_mask :
3983 Hexagon_i32_i32i32_Intrinsic<"HEXAGON_S2_mask">;
3984
3985 // V60 HVX Instructions.
3986
3987 def int_hexagon_V6_veqb_or :
3988 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqb_or">;
3989
3990 def int_hexagon_V6_veqb_or_128B :
3991 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqb_or_128B">;
3992
3993 def int_hexagon_V6_vminub :
3994 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vminub">;
3995
3996 def int_hexagon_V6_vminub_128B :
3997 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vminub_128B">;
3998
3999 def int_hexagon_V6_vaslw_acc :
4000 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vaslw_acc">;
4001
4002 def int_hexagon_V6_vaslw_acc_128B :
4003 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vaslw_acc_128B">;
4004
4005 def int_hexagon_V6_vmpyhvsrs :
4006 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyhvsrs">;
4007
4008 def int_hexagon_V6_vmpyhvsrs_128B :
4009 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyhvsrs_128B">;
4010
4011 def int_hexagon_V6_vsathub :
4012 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsathub">;
4013
4014 def int_hexagon_V6_vsathub_128B :
4015 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsathub_128B">;
4016
4017 def int_hexagon_V6_vaddh_dv :
4018 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddh_dv">;
4019
4020 def int_hexagon_V6_vaddh_dv_128B :
4021 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddh_dv_128B">;
4022
4023 def int_hexagon_V6_vrmpybusi :
4024 Hexagon_v32i32_v32i32i32i32_Intrinsic<"HEXAGON_V6_vrmpybusi">;
4025
4026 def int_hexagon_V6_vrmpybusi_128B :
4027 Hexagon_v64i32_v64i32i32i32_Intrinsic<"HEXAGON_V6_vrmpybusi_128B">;
4028
4029 def int_hexagon_V6_vshufoh :
4030 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshufoh">;
4031
4032 def int_hexagon_V6_vshufoh_128B :
4033 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshufoh_128B">;
4034
4035 def int_hexagon_V6_vasrwv :
4036 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vasrwv">;
4037
4038 def int_hexagon_V6_vasrwv_128B :
4039 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vasrwv_128B">;
4040
4041 def int_hexagon_V6_vdmpyhsuisat :
4042 Hexagon_v16i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsuisat">;
4043
4044 def int_hexagon_V6_vdmpyhsuisat_128B :
4045 Hexagon_v32i32_v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_128B">;
4046
4047 def int_hexagon_V6_vrsadubi_acc :
4048 Hexagon_v32i32_v32i32v32i32i32i32_Intrinsic<"HEXAGON_V6_vrsadubi_acc">;
4049
4050 def int_hexagon_V6_vrsadubi_acc_128B :
4051 Hexagon_v64i32_v64i32v64i32i32i32_Intrinsic<"HEXAGON_V6_vrsadubi_acc_128B">;
4052
4053 def int_hexagon_V6_vnavgw :
4054 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vnavgw">;
4055
4056 def int_hexagon_V6_vnavgw_128B :
4057 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vnavgw_128B">;
4058
4059 def int_hexagon_V6_vnavgh :
4060 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vnavgh">;
4061
4062 def int_hexagon_V6_vnavgh_128B :
4063 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vnavgh_128B">;
4064
4065 def int_hexagon_V6_vavgub :
4066 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgub">;
4067
4068 def int_hexagon_V6_vavgub_128B :
4069 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgub_128B">;
4070
4071 def int_hexagon_V6_vsubb :
4072 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubb">;
4073
4074 def int_hexagon_V6_vsubb_128B :
4075 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubb_128B">;
4076
4077 def int_hexagon_V6_vgtw_and :
4078 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtw_and">;
4079
4080 def int_hexagon_V6_vgtw_and_128B :
4081 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtw_and_128B">;
4082
4083 def int_hexagon_V6_vavgubrnd :
4084 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgubrnd">;
4085
4086 def int_hexagon_V6_vavgubrnd_128B :
4087 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgubrnd_128B">;
4088
4089 def int_hexagon_V6_vrmpybusv :
4090 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpybusv">;
4091
4092 def int_hexagon_V6_vrmpybusv_128B :
4093 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpybusv_128B">;
4094
4095 def int_hexagon_V6_vsubbnq :
4096 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubbnq">;
4097
4098 def int_hexagon_V6_vsubbnq_128B :
4099 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubbnq_128B">;
4100
4101 def int_hexagon_V6_vroundhb :
4102 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vroundhb">;
4103
4104 def int_hexagon_V6_vroundhb_128B :
4105 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vroundhb_128B">;
4106
4107 def int_hexagon_V6_vadduhsat_dv :
4108 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduhsat_dv">;
4109
4110 def int_hexagon_V6_vadduhsat_dv_128B :
4111 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vadduhsat_dv_128B">;
4112
4113 def int_hexagon_V6_vsububsat :
4114 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsububsat">;
4115
4116 def int_hexagon_V6_vsububsat_128B :
4117 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsububsat_128B">;
4118
4119 def int_hexagon_V6_vmpabus_acc :
4120 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpabus_acc">;
4121
4122 def int_hexagon_V6_vmpabus_acc_128B :
4123 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vmpabus_acc_128B">;
4124
4125 def int_hexagon_V6_vmux :
4126 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vmux">;
4127
4128 def int_hexagon_V6_vmux_128B :
4129 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vmux_128B">;
4130
4131 def int_hexagon_V6_vmpyhus :
4132 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyhus">;
4133
4134 def int_hexagon_V6_vmpyhus_128B :
4135 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyhus_128B">;
4136
4137 def int_hexagon_V6_vpackeb :
4138 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackeb">;
4139
4140 def int_hexagon_V6_vpackeb_128B :
4141 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackeb_128B">;
4142
4143 def int_hexagon_V6_vsubhnq :
4144 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubhnq">;
4145
4146 def int_hexagon_V6_vsubhnq_128B :
4147 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubhnq_128B">;
4148
4149 def int_hexagon_V6_vavghrnd :
4150 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavghrnd">;
4151
4152 def int_hexagon_V6_vavghrnd_128B :
4153 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavghrnd_128B">;
4154
4155 def int_hexagon_V6_vtran2x2_map :
4156 Hexagon_v16i32v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vtran2x2_map">;
4157
4158 def int_hexagon_V6_vtran2x2_map_128B :
4159 Hexagon_v32i32v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vtran2x2_map_128B">;
4160
4161 def int_hexagon_V6_vdelta :
4162 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vdelta">;
4163
4164 def int_hexagon_V6_vdelta_128B :
4165 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vdelta_128B">;
4166
4167 def int_hexagon_V6_vgtuh_and :
4168 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuh_and">;
4169
4170 def int_hexagon_V6_vgtuh_and_128B :
4171 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuh_and_128B">;
4172
4173 def int_hexagon_V6_vtmpyhb :
4174 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vtmpyhb">;
4175
4176 def int_hexagon_V6_vtmpyhb_128B :
4177 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vtmpyhb_128B">;
4178
4179 def int_hexagon_V6_vpackob :
4180 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackob">;
4181
4182 def int_hexagon_V6_vpackob_128B :
4183 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackob_128B">;
4184
4185 def int_hexagon_V6_vmaxh :
4186 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmaxh">;
4187
4188 def int_hexagon_V6_vmaxh_128B :
4189 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmaxh_128B">;
4190
4191 def int_hexagon_V6_vtmpybus_acc :
4192 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vtmpybus_acc">;
4193
4194 def int_hexagon_V6_vtmpybus_acc_128B :
4195 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vtmpybus_acc_128B">;
4196
4197 def int_hexagon_V6_vsubuhsat :
4198 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubuhsat">;
4199
4200 def int_hexagon_V6_vsubuhsat_128B :
4201 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubuhsat_128B">;
4202
4203 def int_hexagon_V6_vasrw_acc :
4204 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrw_acc">;
4205
4206 def int_hexagon_V6_vasrw_acc_128B :
4207 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrw_acc_128B">;
4208
4209 def int_hexagon_V6_pred_or :
4210 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_pred_or">;
4211
4212 def int_hexagon_V6_pred_or_128B :
4213 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_pred_or_128B">;
4214
4215 def int_hexagon_V6_vrmpyub_acc :
4216 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vrmpyub_acc">;
4217
4218 def int_hexagon_V6_vrmpyub_acc_128B :
4219 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vrmpyub_acc_128B">;
4220
4221 def int_hexagon_V6_lo :
4222 Hexagon_v16i32_v32i32_Intrinsic<"HEXAGON_V6_lo">;
4223
4224 def int_hexagon_V6_lo_128B :
4225 Hexagon_v32i32_v64i32_Intrinsic<"HEXAGON_V6_lo_128B">;
4226
4227 def int_hexagon_V6_vsubb_dv :
4228 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubb_dv">;
4229
4230 def int_hexagon_V6_vsubb_dv_128B :
4231 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubb_dv_128B">;
4232
4233 def int_hexagon_V6_vsubhsat_dv :
4234 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubhsat_dv">;
4235
4236 def int_hexagon_V6_vsubhsat_dv_128B :
4237 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubhsat_dv_128B">;
4238
4239 def int_hexagon_V6_vmpyiwh :
4240 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwh">;
4241
4242 def int_hexagon_V6_vmpyiwh_128B :
4243 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwh_128B">;
4244
4245 def int_hexagon_V6_vmpyiwb :
4246 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwb">;
4247
4248 def int_hexagon_V6_vmpyiwb_128B :
4249 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwb_128B">;
4250
4251 def int_hexagon_V6_ldu0 :
4252 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_ldu0">;
4253
4254 def int_hexagon_V6_ldu0_128B :
4255 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_ldu0_128B">;
4256
4257 def int_hexagon_V6_vgtuh_xor :
4258 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuh_xor">;
4259
4260 def int_hexagon_V6_vgtuh_xor_128B :
4261 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuh_xor_128B">;
4262
4263 def int_hexagon_V6_vgth_or :
4264 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgth_or">;
4265
4266 def int_hexagon_V6_vgth_or_128B :
4267 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgth_or_128B">;
4268
4269 def int_hexagon_V6_vavgh :
4270 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgh">;
4271
4272 def int_hexagon_V6_vavgh_128B :
4273 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgh_128B">;
4274
4275 def int_hexagon_V6_vlalignb :
4276 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlalignb">;
4277
4278 def int_hexagon_V6_vlalignb_128B :
4279 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlalignb_128B">;
4280
4281 def int_hexagon_V6_vsh :
4282 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vsh">;
4283
4284 def int_hexagon_V6_vsh_128B :
4285 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vsh_128B">;
4286
4287 def int_hexagon_V6_pred_and_n :
4288 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_pred_and_n">;
4289
4290 def int_hexagon_V6_pred_and_n_128B :
4291 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_pred_and_n_128B">;
4292
4293 def int_hexagon_V6_vsb :
4294 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vsb">;
4295
4296 def int_hexagon_V6_vsb_128B :
4297 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vsb_128B">;
4298
4299 def int_hexagon_V6_vroundwuh :
4300 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vroundwuh">;
4301
4302 def int_hexagon_V6_vroundwuh_128B :
4303 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vroundwuh_128B">;
4304
4305 def int_hexagon_V6_vasrhv :
4306 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vasrhv">;
4307
4308 def int_hexagon_V6_vasrhv_128B :
4309 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vasrhv_128B">;
4310
4311 def int_hexagon_V6_vshuffh :
4312 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vshuffh">;
4313
4314 def int_hexagon_V6_vshuffh_128B :
4315 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vshuffh_128B">;
4316
4317 def int_hexagon_V6_vaddhsat_dv :
4318 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhsat_dv">;
4319
4320 def int_hexagon_V6_vaddhsat_dv_128B :
4321 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddhsat_dv_128B">;
4322
4323 def int_hexagon_V6_vnavgub :
4324 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vnavgub">;
4325
4326 def int_hexagon_V6_vnavgub_128B :
4327 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vnavgub_128B">;
4328
4329 def int_hexagon_V6_vrmpybv :
4330 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpybv">;
4331
4332 def int_hexagon_V6_vrmpybv_128B :
4333 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpybv_128B">;
4334
4335 def int_hexagon_V6_vnormamth :
4336 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vnormamth">;
4337
4338 def int_hexagon_V6_vnormamth_128B :
4339 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vnormamth_128B">;
4340
4341 def int_hexagon_V6_vdmpyhb :
4342 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb">;
4343
4344 def int_hexagon_V6_vdmpyhb_128B :
4345 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_128B">;
4346
4347 def int_hexagon_V6_vavguh :
4348 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavguh">;
4349
4350 def int_hexagon_V6_vavguh_128B :
4351 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavguh_128B">;
4352
4353 def int_hexagon_V6_vlsrwv :
4354 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vlsrwv">;
4355
4356 def int_hexagon_V6_vlsrwv_128B :
4357 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vlsrwv_128B">;
4358
4359 def int_hexagon_V6_vlsrhv :
4360 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vlsrhv">;
4361
4362 def int_hexagon_V6_vlsrhv_128B :
4363 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vlsrhv_128B">;
4364
4365 def int_hexagon_V6_vdmpyhisat :
4366 Hexagon_v16i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhisat">;
4367
4368 def int_hexagon_V6_vdmpyhisat_128B :
4369 Hexagon_v32i32_v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhisat_128B">;
4370
4371 def int_hexagon_V6_vdmpyhvsat :
4372 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vdmpyhvsat">;
4373
4374 def int_hexagon_V6_vdmpyhvsat_128B :
4375 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vdmpyhvsat_128B">;
4376
4377 def int_hexagon_V6_vaddw :
4378 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddw">;
4379
4380 def int_hexagon_V6_vaddw_128B :
4381 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddw_128B">;
4382
4383 def int_hexagon_V6_vzh :
4384 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vzh">;
4385
4386 def int_hexagon_V6_vzh_128B :
4387 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vzh_128B">;
4388
4389 def int_hexagon_V6_vaddh :
4390 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddh">;
4391
4392 def int_hexagon_V6_vaddh_128B :
4393 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddh_128B">;
4394
4395 def int_hexagon_V6_vmaxub :
4396 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmaxub">;
4397
4398 def int_hexagon_V6_vmaxub_128B :
4399 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmaxub_128B">;
4400
4401 def int_hexagon_V6_vmpyhv_acc :
4402 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyhv_acc">;
4403
4404 def int_hexagon_V6_vmpyhv_acc_128B :
4405 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyhv_acc_128B">;
4406
4407 def int_hexagon_V6_vadduhsat :
4408 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vadduhsat">;
4409
4410 def int_hexagon_V6_vadduhsat_128B :
4411 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduhsat_128B">;
4412
4413 def int_hexagon_V6_vshufoeh :
4414 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshufoeh">;
4415
4416 def int_hexagon_V6_vshufoeh_128B :
4417 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshufoeh_128B">;
4418
4419 def int_hexagon_V6_vmpyuhv_acc :
4420 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyuhv_acc">;
4421
4422 def int_hexagon_V6_vmpyuhv_acc_128B :
4423 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyuhv_acc_128B">;
4424
4425 def int_hexagon_V6_veqh :
4426 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_veqh">;
4427
4428 def int_hexagon_V6_veqh_128B :
4429 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_veqh_128B">;
4430
4431 def int_hexagon_V6_vmpabuuv :
4432 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpabuuv">;
4433
4434 def int_hexagon_V6_vmpabuuv_128B :
4435 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vmpabuuv_128B">;
4436
4437 def int_hexagon_V6_vasrwhsat :
4438 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrwhsat">;
4439
4440 def int_hexagon_V6_vasrwhsat_128B :
4441 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrwhsat_128B">;
4442
4443 def int_hexagon_V6_vminuh :
4444 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vminuh">;
4445
4446 def int_hexagon_V6_vminuh_128B :
4447 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vminuh_128B">;
4448
4449 def int_hexagon_V6_vror :
4450 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vror">;
4451
4452 def int_hexagon_V6_vror_128B :
4453 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vror_128B">;
4454
4455 def int_hexagon_V6_vmpyowh_rnd_sacc :
4456 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_sacc">;
4457
4458 def int_hexagon_V6_vmpyowh_rnd_sacc_128B :
4459 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_sacc_128B">;
4460
4461 def int_hexagon_V6_vmaxuh :
4462 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmaxuh">;
4463
4464 def int_hexagon_V6_vmaxuh_128B :
4465 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmaxuh_128B">;
4466
4467 def int_hexagon_V6_vabsh_sat :
4468 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsh_sat">;
4469
4470 def int_hexagon_V6_vabsh_sat_128B :
4471 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsh_sat_128B">;
4472
4473 def int_hexagon_V6_pred_or_n :
4474 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_pred_or_n">;
4475
4476 def int_hexagon_V6_pred_or_n_128B :
4477 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_pred_or_n_128B">;
4478
4479 def int_hexagon_V6_vdealb :
4480 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vdealb">;
4481
4482 def int_hexagon_V6_vdealb_128B :
4483 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vdealb_128B">;
4484
4485 def int_hexagon_V6_vmpybusv :
4486 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpybusv">;
4487
4488 def int_hexagon_V6_vmpybusv_128B :
4489 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpybusv_128B">;
4490
4491 def int_hexagon_V6_vzb :
4492 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vzb">;
4493
4494 def int_hexagon_V6_vzb_128B :
4495 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vzb_128B">;
4496
4497 def int_hexagon_V6_vdmpybus_dv :
4498 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_dv">;
4499
4500 def int_hexagon_V6_vdmpybus_dv_128B :
4501 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_dv_128B">;
4502
4503 def int_hexagon_V6_vaddbq :
4504 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddbq">;
4505
4506 def int_hexagon_V6_vaddbq_128B :
4507 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddbq_128B">;
4508
4509 def int_hexagon_V6_vaddb :
4510 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddb">;
4511
4512 def int_hexagon_V6_vaddb_128B :
4513 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddb_128B">;
4514
4515 def int_hexagon_V6_vaddwq :
4516 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddwq">;
4517
4518 def int_hexagon_V6_vaddwq_128B :
4519 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddwq_128B">;
4520
4521 def int_hexagon_V6_vasrhubrndsat :
4522 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrhubrndsat">;
4523
4524 def int_hexagon_V6_vasrhubrndsat_128B :
4525 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrhubrndsat_128B">;
4526
4527 def int_hexagon_V6_vasrhubsat :
4528 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrhubsat">;
4529
4530 def int_hexagon_V6_vasrhubsat_128B :
4531 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrhubsat_128B">;
4532
4533 def int_hexagon_V6_vshufoeb :
4534 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshufoeb">;
4535
4536 def int_hexagon_V6_vshufoeb_128B :
4537 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshufoeb_128B">;
4538
4539 def int_hexagon_V6_vpackhub_sat :
4540 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackhub_sat">;
4541
4542 def int_hexagon_V6_vpackhub_sat_128B :
4543 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackhub_sat_128B">;
4544
4545 def int_hexagon_V6_vmpyiwh_acc :
4546 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwh_acc">;
4547
4548 def int_hexagon_V6_vmpyiwh_acc_128B :
4549 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwh_acc_128B">;
4550
4551 def int_hexagon_V6_vtmpyb :
4552 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vtmpyb">;
4553
4554 def int_hexagon_V6_vtmpyb_128B :
4555 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vtmpyb_128B">;
4556
4557 def int_hexagon_V6_vmpabusv :
4558 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpabusv">;
4559
4560 def int_hexagon_V6_vmpabusv_128B :
4561 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vmpabusv_128B">;
4562
4563 def int_hexagon_V6_pred_and :
4564 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_pred_and">;
4565
4566 def int_hexagon_V6_pred_and_128B :
4567 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_pred_and_128B">;
4568
4569 def int_hexagon_V6_vsubwnq :
4570 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubwnq">;
4571
4572 def int_hexagon_V6_vsubwnq_128B :
4573 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubwnq_128B">;
4574
4575 def int_hexagon_V6_vpackwuh_sat :
4576 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackwuh_sat">;
4577
4578 def int_hexagon_V6_vpackwuh_sat_128B :
4579 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackwuh_sat_128B">;
4580
4581 def int_hexagon_V6_vswap :
4582 Hexagon_v32i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vswap">;
4583
4584 def int_hexagon_V6_vswap_128B :
4585 Hexagon_v64i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vswap_128B">;
4586
4587 def int_hexagon_V6_vrmpyubv_acc :
4588 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpyubv_acc">;
4589
4590 def int_hexagon_V6_vrmpyubv_acc_128B :
4591 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpyubv_acc_128B">;
4592
4593 def int_hexagon_V6_vgtb_and :
4594 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtb_and">;
4595
4596 def int_hexagon_V6_vgtb_and_128B :
4597 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtb_and_128B">;
4598
4599 def int_hexagon_V6_vaslw :
4600 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vaslw">;
4601
4602 def int_hexagon_V6_vaslw_128B :
4603 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vaslw_128B">;
4604
4605 def int_hexagon_V6_vpackhb_sat :
4606 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackhb_sat">;
4607
4608 def int_hexagon_V6_vpackhb_sat_128B :
4609 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackhb_sat_128B">;
4610
4611 def int_hexagon_V6_vmpyih_acc :
4612 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyih_acc">;
4613
4614 def int_hexagon_V6_vmpyih_acc_128B :
4615 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyih_acc_128B">;
4616
4617 def int_hexagon_V6_vshuffvdd :
4618 Hexagon_v32i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vshuffvdd">;
4619
4620 def int_hexagon_V6_vshuffvdd_128B :
4621 Hexagon_v64i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vshuffvdd_128B">;
4622
4623 def int_hexagon_V6_vaddb_dv :
4624 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddb_dv">;
4625
4626 def int_hexagon_V6_vaddb_dv_128B :
4627 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddb_dv_128B">;
4628
4629 def int_hexagon_V6_vunpackub :
4630 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vunpackub">;
4631
4632 def int_hexagon_V6_vunpackub_128B :
4633 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vunpackub_128B">;
4634
4635 def int_hexagon_V6_vgtuw :
4636 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuw">;
4637
4638 def int_hexagon_V6_vgtuw_128B :
4639 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuw_128B">;
4640
4641 def int_hexagon_V6_vlutvwh :
4642 Hexagon_v32i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvwh">;
4643
4644 def int_hexagon_V6_vlutvwh_128B :
4645 Hexagon_v64i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_128B">;
4646
4647 def int_hexagon_V6_vgtub :
4648 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtub">;
4649
4650 def int_hexagon_V6_vgtub_128B :
4651 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtub_128B">;
4652
4653 def int_hexagon_V6_vmpyowh :
4654 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyowh">;
4655
4656 def int_hexagon_V6_vmpyowh_128B :
4657 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyowh_128B">;
4658
4659 def int_hexagon_V6_vmpyieoh :
4660 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyieoh">;
4661
4662 def int_hexagon_V6_vmpyieoh_128B :
4663 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyieoh_128B">;
4664
4665 def int_hexagon_V6_extractw :
4666 Hexagon_i32_v16i32i32_Intrinsic<"HEXAGON_V6_extractw">;
4667
4668 def int_hexagon_V6_extractw_128B :
4669 Hexagon_i32_v32i32i32_Intrinsic<"HEXAGON_V6_extractw_128B">;
4670
4671 def int_hexagon_V6_vavgwrnd :
4672 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgwrnd">;
4673
4674 def int_hexagon_V6_vavgwrnd_128B :
4675 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgwrnd_128B">;
4676
4677 def int_hexagon_V6_vdmpyhsat_acc :
4678 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsat_acc">;
4679
4680 def int_hexagon_V6_vdmpyhsat_acc_128B :
4681 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsat_acc_128B">;
4682
4683 def int_hexagon_V6_vgtub_xor :
4684 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtub_xor">;
4685
4686 def int_hexagon_V6_vgtub_xor_128B :
4687 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtub_xor_128B">;
4688
4689 def int_hexagon_V6_vmpyub :
4690 Hexagon_v32i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyub">;
4691
4692 def int_hexagon_V6_vmpyub_128B :
4693 Hexagon_v64i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyub_128B">;
4694
4695 def int_hexagon_V6_vmpyuh :
4696 Hexagon_v32i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyuh">;
4697
4698 def int_hexagon_V6_vmpyuh_128B :
4699 Hexagon_v64i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyuh_128B">;
4700
4701 def int_hexagon_V6_vunpackob :
4702 Hexagon_v32i32_v32i32v16i32_Intrinsic<"HEXAGON_V6_vunpackob">;
4703
4704 def int_hexagon_V6_vunpackob_128B :
4705 Hexagon_v64i32_v64i32v32i32_Intrinsic<"HEXAGON_V6_vunpackob_128B">;
4706
4707 def int_hexagon_V6_vmpahb :
4708 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpahb">;
4709
4710 def int_hexagon_V6_vmpahb_128B :
4711 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vmpahb_128B">;
4712
4713 def int_hexagon_V6_veqw_or :
4714 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqw_or">;
4715
4716 def int_hexagon_V6_veqw_or_128B :
4717 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqw_or_128B">;
4718
4719 def int_hexagon_V6_vandqrt :
4720 Hexagon_v16i32_v512i1i32_Intrinsic<"HEXAGON_V6_vandqrt">;
4721
4722 def int_hexagon_V6_vandqrt_128B :
4723 Hexagon_v32i32_v1024i1i32_Intrinsic<"HEXAGON_V6_vandqrt_128B">;
4724
4725 def int_hexagon_V6_vxor :
4726 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vxor">;
4727
4728 def int_hexagon_V6_vxor_128B :
4729 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vxor_128B">;
4730
4731 def int_hexagon_V6_vasrwhrndsat :
4732 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrwhrndsat">;
4733
4734 def int_hexagon_V6_vasrwhrndsat_128B :
4735 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrwhrndsat_128B">;
4736
4737 def int_hexagon_V6_vmpyhsat_acc :
4738 Hexagon_v32i32_v32i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyhsat_acc">;
4739
4740 def int_hexagon_V6_vmpyhsat_acc_128B :
4741 Hexagon_v64i32_v64i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyhsat_acc_128B">;
4742
4743 def int_hexagon_V6_vrmpybus_acc :
4744 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vrmpybus_acc">;
4745
4746 def int_hexagon_V6_vrmpybus_acc_128B :
4747 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vrmpybus_acc_128B">;
4748
4749 def int_hexagon_V6_vsubhw :
4750 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubhw">;
4751
4752 def int_hexagon_V6_vsubhw_128B :
4753 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubhw_128B">;
4754
4755 def int_hexagon_V6_vdealb4w :
4756 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vdealb4w">;
4757
4758 def int_hexagon_V6_vdealb4w_128B :
4759 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vdealb4w_128B">;
4760
4761 def int_hexagon_V6_vmpyowh_sacc :
4762 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyowh_sacc">;
4763
4764 def int_hexagon_V6_vmpyowh_sacc_128B :
4765 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyowh_sacc_128B">;
4766
4767 def int_hexagon_V6_vmpybv :
4768 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpybv">;
4769
4770 def int_hexagon_V6_vmpybv_128B :
4771 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpybv_128B">;
4772
4773 def int_hexagon_V6_vabsdiffh :
4774 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vabsdiffh">;
4775
4776 def int_hexagon_V6_vabsdiffh_128B :
4777 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vabsdiffh_128B">;
4778
4779 def int_hexagon_V6_vshuffob :
4780 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshuffob">;
4781
4782 def int_hexagon_V6_vshuffob_128B :
4783 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshuffob_128B">;
4784
4785 def int_hexagon_V6_vmpyub_acc :
4786 Hexagon_v32i32_v32i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyub_acc">;
4787
4788 def int_hexagon_V6_vmpyub_acc_128B :
4789 Hexagon_v64i32_v64i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyub_acc_128B">;
4790
4791 def int_hexagon_V6_vnormamtw :
4792 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vnormamtw">;
4793
4794 def int_hexagon_V6_vnormamtw_128B :
4795 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vnormamtw_128B">;
4796
4797 def int_hexagon_V6_vunpackuh :
4798 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vunpackuh">;
4799
4800 def int_hexagon_V6_vunpackuh_128B :
4801 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vunpackuh_128B">;
4802
4803 def int_hexagon_V6_vgtuh_or :
4804 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuh_or">;
4805
4806 def int_hexagon_V6_vgtuh_or_128B :
4807 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuh_or_128B">;
4808
4809 def int_hexagon_V6_vmpyiewuh_acc :
4810 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyiewuh_acc">;
4811
4812 def int_hexagon_V6_vmpyiewuh_acc_128B :
4813 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyiewuh_acc_128B">;
4814
4815 def int_hexagon_V6_vunpackoh :
4816 Hexagon_v32i32_v32i32v16i32_Intrinsic<"HEXAGON_V6_vunpackoh">;
4817
4818 def int_hexagon_V6_vunpackoh_128B :
4819 Hexagon_v64i32_v64i32v32i32_Intrinsic<"HEXAGON_V6_vunpackoh_128B">;
4820
4821 def int_hexagon_V6_vdmpyhsat :
4822 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsat">;
4823
4824 def int_hexagon_V6_vdmpyhsat_128B :
4825 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsat_128B">;
4826
4827 def int_hexagon_V6_vmpyubv :
4828 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyubv">;
4829
4830 def int_hexagon_V6_vmpyubv_128B :
4831 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyubv_128B">;
4832
4833 def int_hexagon_V6_vmpyhss :
4834 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyhss">;
4835
4836 def int_hexagon_V6_vmpyhss_128B :
4837 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyhss_128B">;
4838
4839 def int_hexagon_V6_hi :
4840 Hexagon_v16i32_v32i32_Intrinsic<"HEXAGON_V6_hi">;
4841
4842 def int_hexagon_V6_hi_128B :
4843 Hexagon_v32i32_v64i32_Intrinsic<"HEXAGON_V6_hi_128B">;
4844
4845 def int_hexagon_V6_vasrwuhsat :
4846 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrwuhsat">;
4847
4848 def int_hexagon_V6_vasrwuhsat_128B :
4849 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrwuhsat_128B">;
4850
4851 def int_hexagon_V6_veqw :
4852 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_veqw">;
4853
4854 def int_hexagon_V6_veqw_128B :
4855 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_veqw_128B">;
4856
4857 def int_hexagon_V6_vdsaduh :
4858 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdsaduh">;
4859
4860 def int_hexagon_V6_vdsaduh_128B :
4861 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vdsaduh_128B">;
4862
4863 def int_hexagon_V6_vsubw :
4864 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubw">;
4865
4866 def int_hexagon_V6_vsubw_128B :
4867 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubw_128B">;
4868
4869 def int_hexagon_V6_vsubw_dv :
4870 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubw_dv">;
4871
4872 def int_hexagon_V6_vsubw_dv_128B :
4873 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubw_dv_128B">;
4874
4875 def int_hexagon_V6_veqb_and :
4876 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqb_and">;
4877
4878 def int_hexagon_V6_veqb_and_128B :
4879 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqb_and_128B">;
4880
4881 def int_hexagon_V6_vmpyih :
4882 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyih">;
4883
4884 def int_hexagon_V6_vmpyih_128B :
4885 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyih_128B">;
4886
4887 def int_hexagon_V6_vtmpyb_acc :
4888 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vtmpyb_acc">;
4889
4890 def int_hexagon_V6_vtmpyb_acc_128B :
4891 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vtmpyb_acc_128B">;
4892
4893 def int_hexagon_V6_vrmpybus :
4894 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vrmpybus">;
4895
4896 def int_hexagon_V6_vrmpybus_128B :
4897 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vrmpybus_128B">;
4898
4899 def int_hexagon_V6_vmpybus_acc :
4900 Hexagon_v32i32_v32i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpybus_acc">;
4901
4902 def int_hexagon_V6_vmpybus_acc_128B :
4903 Hexagon_v64i32_v64i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpybus_acc_128B">;
4904
4905 def int_hexagon_V6_vgth_xor :
4906 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgth_xor">;
4907
4908 def int_hexagon_V6_vgth_xor_128B :
4909 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgth_xor_128B">;
4910
4911 def int_hexagon_V6_vsubhsat :
4912 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubhsat">;
4913
4914 def int_hexagon_V6_vsubhsat_128B :
4915 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubhsat_128B">;
4916
4917 def int_hexagon_V6_vrmpyubi_acc :
4918 Hexagon_v32i32_v32i32v32i32i32i32_Intrinsic<"HEXAGON_V6_vrmpyubi_acc">;
4919
4920 def int_hexagon_V6_vrmpyubi_acc_128B :
4921 Hexagon_v64i32_v64i32v64i32i32i32_Intrinsic<"HEXAGON_V6_vrmpyubi_acc_128B">;
4922
4923 def int_hexagon_V6_vabsw :
4924 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsw">;
4925
4926 def int_hexagon_V6_vabsw_128B :
4927 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsw_128B">;
4928
4929 def int_hexagon_V6_vaddwsat_dv :
4930 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddwsat_dv">;
4931
4932 def int_hexagon_V6_vaddwsat_dv_128B :
4933 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddwsat_dv_128B">;
4934
4935 def int_hexagon_V6_vlsrw :
4936 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vlsrw">;
4937
4938 def int_hexagon_V6_vlsrw_128B :
4939 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vlsrw_128B">;
4940
4941 def int_hexagon_V6_vabsh :
4942 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsh">;
4943
4944 def int_hexagon_V6_vabsh_128B :
4945 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsh_128B">;
4946
4947 def int_hexagon_V6_vlsrh :
4948 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vlsrh">;
4949
4950 def int_hexagon_V6_vlsrh_128B :
4951 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vlsrh_128B">;
4952
4953 def int_hexagon_V6_valignb :
4954 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_valignb">;
4955
4956 def int_hexagon_V6_valignb_128B :
4957 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_valignb_128B">;
4958
4959 def int_hexagon_V6_vsubhq :
4960 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubhq">;
4961
4962 def int_hexagon_V6_vsubhq_128B :
4963 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubhq_128B">;
4964
4965 def int_hexagon_V6_vpackoh :
4966 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackoh">;
4967
4968 def int_hexagon_V6_vpackoh_128B :
4969 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackoh_128B">;
4970
4971 def int_hexagon_V6_vdmpybus_acc :
4972 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_acc">;
4973
4974 def int_hexagon_V6_vdmpybus_acc_128B :
4975 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_acc_128B">;
4976
4977 def int_hexagon_V6_vdmpyhvsat_acc :
4978 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vdmpyhvsat_acc">;
4979
4980 def int_hexagon_V6_vdmpyhvsat_acc_128B :
4981 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vdmpyhvsat_acc_128B">;
4982
4983 def int_hexagon_V6_vrmpybv_acc :
4984 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpybv_acc">;
4985
4986 def int_hexagon_V6_vrmpybv_acc_128B :
4987 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpybv_acc_128B">;
4988
4989 def int_hexagon_V6_vaddhsat :
4990 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddhsat">;
4991
4992 def int_hexagon_V6_vaddhsat_128B :
4993 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhsat_128B">;
4994
4995 def int_hexagon_V6_vcombine :
4996 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vcombine">;
4997
4998 def int_hexagon_V6_vcombine_128B :
4999 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vcombine_128B">;
5000
5001 def int_hexagon_V6_vandqrt_acc :
5002 Hexagon_v16i32_v16i32v512i1i32_Intrinsic<"HEXAGON_V6_vandqrt_acc">;
5003
5004 def int_hexagon_V6_vandqrt_acc_128B :
5005 Hexagon_v32i32_v32i32v1024i1i32_Intrinsic<"HEXAGON_V6_vandqrt_acc_128B">;
5006
5007 def int_hexagon_V6_vaslhv :
5008 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaslhv">;
5009
5010 def int_hexagon_V6_vaslhv_128B :
5011 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaslhv_128B">;
5012
5013 def int_hexagon_V6_vinsertwr :
5014 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vinsertwr">;
5015
5016 def int_hexagon_V6_vinsertwr_128B :
5017 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vinsertwr_128B">;
5018
5019 def int_hexagon_V6_vsubh_dv :
5020 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubh_dv">;
5021
5022 def int_hexagon_V6_vsubh_dv_128B :
5023 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubh_dv_128B">;
5024
5025 def int_hexagon_V6_vshuffb :
5026 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vshuffb">;
5027
5028 def int_hexagon_V6_vshuffb_128B :
5029 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vshuffb_128B">;
5030
5031 def int_hexagon_V6_vand :
5032 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vand">;
5033
5034 def int_hexagon_V6_vand_128B :
5035 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vand_128B">;
5036
5037 def int_hexagon_V6_vmpyhv :
5038 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyhv">;
5039
5040 def int_hexagon_V6_vmpyhv_128B :
5041 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyhv_128B">;
5042
5043 def int_hexagon_V6_vdmpyhsuisat_acc :
5044 Hexagon_v16i32_v16i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_acc">;
5045
5046 def int_hexagon_V6_vdmpyhsuisat_acc_128B :
5047 Hexagon_v32i32_v32i32v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_acc_128B">;
5048
5049 def int_hexagon_V6_vsububsat_dv :
5050 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsububsat_dv">;
5051
5052 def int_hexagon_V6_vsububsat_dv_128B :
5053 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsububsat_dv_128B">;
5054
5055 def int_hexagon_V6_vgtb_xor :
5056 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtb_xor">;
5057
5058 def int_hexagon_V6_vgtb_xor_128B :
5059 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtb_xor_128B">;
5060
5061 def int_hexagon_V6_vdsaduh_acc :
5062 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdsaduh_acc">;
5063
5064 def int_hexagon_V6_vdsaduh_acc_128B :
5065 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vdsaduh_acc_128B">;
5066
5067 def int_hexagon_V6_vrmpyub :
5068 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vrmpyub">;
5069
5070 def int_hexagon_V6_vrmpyub_128B :
5071 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vrmpyub_128B">;
5072
5073 def int_hexagon_V6_vmpyuh_acc :
5074 Hexagon_v32i32_v32i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyuh_acc">;
5075
5076 def int_hexagon_V6_vmpyuh_acc_128B :
5077 Hexagon_v64i32_v64i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyuh_acc_128B">;
5078
5079 def int_hexagon_V6_vcl0h :
5080 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vcl0h">;
5081
5082 def int_hexagon_V6_vcl0h_128B :
5083 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vcl0h_128B">;
5084
5085 def int_hexagon_V6_vmpyhus_acc :
5086 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyhus_acc">;
5087
5088 def int_hexagon_V6_vmpyhus_acc_128B :
5089 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyhus_acc_128B">;
5090
5091 def int_hexagon_V6_vmpybv_acc :
5092 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpybv_acc">;
5093
5094 def int_hexagon_V6_vmpybv_acc_128B :
5095 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpybv_acc_128B">;
5096
5097 def int_hexagon_V6_vrsadubi :
5098 Hexagon_v32i32_v32i32i32i32_Intrinsic<"HEXAGON_V6_vrsadubi">;
5099
5100 def int_hexagon_V6_vrsadubi_128B :
5101 Hexagon_v64i32_v64i32i32i32_Intrinsic<"HEXAGON_V6_vrsadubi_128B">;
5102
5103 def int_hexagon_V6_vdmpyhb_dv_acc :
5104 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_acc">;
5105
5106 def int_hexagon_V6_vdmpyhb_dv_acc_128B :
5107 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_acc_128B">;
5108
5109 def int_hexagon_V6_vshufeh :
5110 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshufeh">;
5111
5112 def int_hexagon_V6_vshufeh_128B :
5113 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshufeh_128B">;
5114
5115 def int_hexagon_V6_vmpyewuh :
5116 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyewuh">;
5117
5118 def int_hexagon_V6_vmpyewuh_128B :
5119 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyewuh_128B">;
5120
5121 def int_hexagon_V6_vmpyhsrs :
5122 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyhsrs">;
5123
5124 def int_hexagon_V6_vmpyhsrs_128B :
5125 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyhsrs_128B">;
5126
5127 def int_hexagon_V6_vdmpybus_dv_acc :
5128 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_dv_acc">;
5129
5130 def int_hexagon_V6_vdmpybus_dv_acc_128B :
5131 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_dv_acc_128B">;
5132
5133 def int_hexagon_V6_vaddubh :
5134 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddubh">;
5135
5136 def int_hexagon_V6_vaddubh_128B :
5137 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddubh_128B">;
5138
5139 def int_hexagon_V6_vasrwh :
5140 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrwh">;
5141
5142 def int_hexagon_V6_vasrwh_128B :
5143 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrwh_128B">;
5144
5145 def int_hexagon_V6_ld0 :
5146 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_ld0">;
5147
5148 def int_hexagon_V6_ld0_128B :
5149 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_ld0_128B">;
5150
5151 def int_hexagon_V6_vpopcounth :
5152 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vpopcounth">;
5153
5154 def int_hexagon_V6_vpopcounth_128B :
5155 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vpopcounth_128B">;
5156
5157 def int_hexagon_V6_ldnt0 :
5158 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_ldnt0">;
5159
5160 def int_hexagon_V6_ldnt0_128B :
5161 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_ldnt0_128B">;
5162
5163 def int_hexagon_V6_vgth_and :
5164 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgth_and">;
5165
5166 def int_hexagon_V6_vgth_and_128B :
5167 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgth_and_128B">;
5168
5169 def int_hexagon_V6_vaddubsat_dv :
5170 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddubsat_dv">;
5171
5172 def int_hexagon_V6_vaddubsat_dv_128B :
5173 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddubsat_dv_128B">;
5174
5175 def int_hexagon_V6_vpackeh :
5176 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackeh">;
5177
5178 def int_hexagon_V6_vpackeh_128B :
5179 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackeh_128B">;
5180
5181 def int_hexagon_V6_vmpyh :
5182 Hexagon_v32i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyh">;
5183
5184 def int_hexagon_V6_vmpyh_128B :
5185 Hexagon_v64i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyh_128B">;
5186
5187 def int_hexagon_V6_vminh :
5188 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vminh">;
5189
5190 def int_hexagon_V6_vminh_128B :
5191 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vminh_128B">;
5192
5193 def int_hexagon_V6_pred_scalar2 :
5194 Hexagon_v512i1_i32_Intrinsic<"HEXAGON_V6_pred_scalar2">;
5195
5196 def int_hexagon_V6_pred_scalar2_128B :
5197 Hexagon_v1024i1_i32_Intrinsic<"HEXAGON_V6_pred_scalar2_128B">;
5198
5199 def int_hexagon_V6_vdealh :
5200 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vdealh">;
5201
5202 def int_hexagon_V6_vdealh_128B :
5203 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vdealh_128B">;
5204
5205 def int_hexagon_V6_vpackwh_sat :
5206 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vpackwh_sat">;
5207
5208 def int_hexagon_V6_vpackwh_sat_128B :
5209 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vpackwh_sat_128B">;
5210
5211 def int_hexagon_V6_vaslh :
5212 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vaslh">;
5213
5214 def int_hexagon_V6_vaslh_128B :
5215 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vaslh_128B">;
5216
5217 def int_hexagon_V6_vgtuw_and :
5218 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuw_and">;
5219
5220 def int_hexagon_V6_vgtuw_and_128B :
5221 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuw_and_128B">;
5222
5223 def int_hexagon_V6_vor :
5224 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vor">;
5225
5226 def int_hexagon_V6_vor_128B :
5227 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vor_128B">;
5228
5229 def int_hexagon_V6_vlutvvb :
5230 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvvb">;
5231
5232 def int_hexagon_V6_vlutvvb_128B :
5233 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_128B">;
5234
5235 def int_hexagon_V6_vmpyiowh :
5236 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyiowh">;
5237
5238 def int_hexagon_V6_vmpyiowh_128B :
5239 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyiowh_128B">;
5240
5241 def int_hexagon_V6_vlutvvb_oracc :
5242 Hexagon_v16i32_v16i32v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_oracc">;
5243
5244 def int_hexagon_V6_vlutvvb_oracc_128B :
5245 Hexagon_v32i32_v32i32v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_oracc_128B">;
5246
5247 def int_hexagon_V6_vandvrt :
5248 Hexagon_v512i1_v16i32i32_Intrinsic<"HEXAGON_V6_vandvrt">;
5249
5250 def int_hexagon_V6_vandvrt_128B :
5251 Hexagon_v1024i1_v32i32i32_Intrinsic<"HEXAGON_V6_vandvrt_128B">;
5252
5253 def int_hexagon_V6_veqh_xor :
5254 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqh_xor">;
5255
5256 def int_hexagon_V6_veqh_xor_128B :
5257 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqh_xor_128B">;
5258
5259 def int_hexagon_V6_vadduhw :
5260 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vadduhw">;
5261
5262 def int_hexagon_V6_vadduhw_128B :
5263 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduhw_128B">;
5264
5265 def int_hexagon_V6_vcl0w :
5266 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vcl0w">;
5267
5268 def int_hexagon_V6_vcl0w_128B :
5269 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vcl0w_128B">;
5270
5271 def int_hexagon_V6_vmpyihb :
5272 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyihb">;
5273
5274 def int_hexagon_V6_vmpyihb_128B :
5275 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyihb_128B">;
5276
5277 def int_hexagon_V6_vtmpybus :
5278 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vtmpybus">;
5279
5280 def int_hexagon_V6_vtmpybus_128B :
5281 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vtmpybus_128B">;
5282
5283 def int_hexagon_V6_vd0 :
5284 Hexagon_v16i32__Intrinsic<"HEXAGON_V6_vd0">;
5285
5286 def int_hexagon_V6_vd0_128B :
5287 Hexagon_v32i32__Intrinsic<"HEXAGON_V6_vd0_128B">;
5288
5289 def int_hexagon_V6_veqh_or :
5290 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqh_or">;
5291
5292 def int_hexagon_V6_veqh_or_128B :
5293 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqh_or_128B">;
5294
5295 def int_hexagon_V6_vgtw_or :
5296 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtw_or">;
5297
5298 def int_hexagon_V6_vgtw_or_128B :
5299 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtw_or_128B">;
5300
5301 def int_hexagon_V6_vdmpybus :
5302 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vdmpybus">;
5303
5304 def int_hexagon_V6_vdmpybus_128B :
5305 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpybus_128B">;
5306
5307 def int_hexagon_V6_vgtub_or :
5308 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtub_or">;
5309
5310 def int_hexagon_V6_vgtub_or_128B :
5311 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtub_or_128B">;
5312
5313 def int_hexagon_V6_vmpybus :
5314 Hexagon_v32i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpybus">;
5315
5316 def int_hexagon_V6_vmpybus_128B :
5317 Hexagon_v64i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpybus_128B">;
5318
5319 def int_hexagon_V6_vdmpyhb_acc :
5320 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_acc">;
5321
5322 def int_hexagon_V6_vdmpyhb_acc_128B :
5323 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_acc_128B">;
5324
5325 def int_hexagon_V6_vandvrt_acc :
5326 Hexagon_v512i1_v512i1v16i32i32_Intrinsic<"HEXAGON_V6_vandvrt_acc">;
5327
5328 def int_hexagon_V6_vandvrt_acc_128B :
5329 Hexagon_v1024i1_v1024i1v32i32i32_Intrinsic<"HEXAGON_V6_vandvrt_acc_128B">;
5330
5331 def int_hexagon_V6_vassign :
5332 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vassign">;
5333
5334 def int_hexagon_V6_vassign_128B :
5335 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vassign_128B">;
5336
5337 def int_hexagon_V6_vaddwnq :
5338 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddwnq">;
5339
5340 def int_hexagon_V6_vaddwnq_128B :
5341 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddwnq_128B">;
5342
5343 def int_hexagon_V6_vgtub_and :
5344 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtub_and">;
5345
5346 def int_hexagon_V6_vgtub_and_128B :
5347 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtub_and_128B">;
5348
5349 def int_hexagon_V6_vdmpyhb_dv :
5350 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_dv">;
5351
5352 def int_hexagon_V6_vdmpyhb_dv_128B :
5353 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_128B">;
5354
5355 def int_hexagon_V6_vunpackb :
5356 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vunpackb">;
5357
5358 def int_hexagon_V6_vunpackb_128B :
5359 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vunpackb_128B">;
5360
5361 def int_hexagon_V6_vunpackh :
5362 Hexagon_v32i32_v16i32_Intrinsic<"HEXAGON_V6_vunpackh">;
5363
5364 def int_hexagon_V6_vunpackh_128B :
5365 Hexagon_v64i32_v32i32_Intrinsic<"HEXAGON_V6_vunpackh_128B">;
5366
5367 def int_hexagon_V6_vmpahb_acc :
5368 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpahb_acc">;
5369
5370 def int_hexagon_V6_vmpahb_acc_128B :
5371 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vmpahb_acc_128B">;
5372
5373 def int_hexagon_V6_vaddbnq :
5374 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddbnq">;
5375
5376 def int_hexagon_V6_vaddbnq_128B :
5377 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddbnq_128B">;
5378
5379 def int_hexagon_V6_vlalignbi :
5380 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlalignbi">;
5381
5382 def int_hexagon_V6_vlalignbi_128B :
5383 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlalignbi_128B">;
5384
5385 def int_hexagon_V6_vsatwh :
5386 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsatwh">;
5387
5388 def int_hexagon_V6_vsatwh_128B :
5389 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsatwh_128B">;
5390
5391 def int_hexagon_V6_vgtuh :
5392 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuh">;
5393
5394 def int_hexagon_V6_vgtuh_128B :
5395 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuh_128B">;
5396
5397 def int_hexagon_V6_vmpyihb_acc :
5398 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyihb_acc">;
5399
5400 def int_hexagon_V6_vmpyihb_acc_128B :
5401 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyihb_acc_128B">;
5402
5403 def int_hexagon_V6_vrmpybusv_acc :
5404 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpybusv_acc">;
5405
5406 def int_hexagon_V6_vrmpybusv_acc_128B :
5407 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpybusv_acc_128B">;
5408
5409 def int_hexagon_V6_vrdelta :
5410 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrdelta">;
5411
5412 def int_hexagon_V6_vrdelta_128B :
5413 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrdelta_128B">;
5414
5415 def int_hexagon_V6_vroundwh :
5416 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vroundwh">;
5417
5418 def int_hexagon_V6_vroundwh_128B :
5419 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vroundwh_128B">;
5420
5421 def int_hexagon_V6_vaddw_dv :
5422 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddw_dv">;
5423
5424 def int_hexagon_V6_vaddw_dv_128B :
5425 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddw_dv_128B">;
5426
5427 def int_hexagon_V6_vmpyiwb_acc :
5428 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwb_acc">;
5429
5430 def int_hexagon_V6_vmpyiwb_acc_128B :
5431 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwb_acc_128B">;
5432
5433 def int_hexagon_V6_vsubbq :
5434 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubbq">;
5435
5436 def int_hexagon_V6_vsubbq_128B :
5437 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubbq_128B">;
5438
5439 def int_hexagon_V6_veqh_and :
5440 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqh_and">;
5441
5442 def int_hexagon_V6_veqh_and_128B :
5443 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqh_and_128B">;
5444
5445 def int_hexagon_V6_valignbi :
5446 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_valignbi">;
5447
5448 def int_hexagon_V6_valignbi_128B :
5449 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_valignbi_128B">;
5450
5451 def int_hexagon_V6_vaddwsat :
5452 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddwsat">;
5453
5454 def int_hexagon_V6_vaddwsat_128B :
5455 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddwsat_128B">;
5456
5457 def int_hexagon_V6_veqw_and :
5458 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqw_and">;
5459
5460 def int_hexagon_V6_veqw_and_128B :
5461 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqw_and_128B">;
5462
5463 def int_hexagon_V6_vabsdiffub :
5464 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vabsdiffub">;
5465
5466 def int_hexagon_V6_vabsdiffub_128B :
5467 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vabsdiffub_128B">;
5468
5469 def int_hexagon_V6_vshuffeb :
5470 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vshuffeb">;
5471
5472 def int_hexagon_V6_vshuffeb_128B :
5473 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vshuffeb_128B">;
5474
5475 def int_hexagon_V6_vabsdiffuh :
5476 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vabsdiffuh">;
5477
5478 def int_hexagon_V6_vabsdiffuh_128B :
5479 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vabsdiffuh_128B">;
5480
5481 def int_hexagon_V6_veqw_xor :
5482 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqw_xor">;
5483
5484 def int_hexagon_V6_veqw_xor_128B :
5485 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqw_xor_128B">;
5486
5487 def int_hexagon_V6_vgth :
5488 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgth">;
5489
5490 def int_hexagon_V6_vgth_128B :
5491 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgth_128B">;
5492
5493 def int_hexagon_V6_vgtuw_xor :
5494 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuw_xor">;
5495
5496 def int_hexagon_V6_vgtuw_xor_128B :
5497 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuw_xor_128B">;
5498
5499 def int_hexagon_V6_vgtb :
5500 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtb">;
5501
5502 def int_hexagon_V6_vgtb_128B :
5503 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtb_128B">;
5504
5505 def int_hexagon_V6_vgtw :
5506 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtw">;
5507
5508 def int_hexagon_V6_vgtw_128B :
5509 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtw_128B">;
5510
5511 def int_hexagon_V6_vsubwq :
5512 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubwq">;
5513
5514 def int_hexagon_V6_vsubwq_128B :
5515 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubwq_128B">;
5516
5517 def int_hexagon_V6_vnot :
5518 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vnot">;
5519
5520 def int_hexagon_V6_vnot_128B :
5521 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vnot_128B">;
5522
5523 def int_hexagon_V6_vgtb_or :
5524 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtb_or">;
5525
5526 def int_hexagon_V6_vgtb_or_128B :
5527 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtb_or_128B">;
5528
5529 def int_hexagon_V6_vgtuw_or :
5530 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtuw_or">;
5531
5532 def int_hexagon_V6_vgtuw_or_128B :
5533 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtuw_or_128B">;
5534
5535 def int_hexagon_V6_vaddubsat :
5536 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddubsat">;
5537
5538 def int_hexagon_V6_vaddubsat_128B :
5539 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddubsat_128B">;
5540
5541 def int_hexagon_V6_vmaxw :
5542 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmaxw">;
5543
5544 def int_hexagon_V6_vmaxw_128B :
5545 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmaxw_128B">;
5546
5547 def int_hexagon_V6_vaslwv :
5548 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaslwv">;
5549
5550 def int_hexagon_V6_vaslwv_128B :
5551 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaslwv_128B">;
5552
5553 def int_hexagon_V6_vabsw_sat :
5554 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsw_sat">;
5555
5556 def int_hexagon_V6_vabsw_sat_128B :
5557 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsw_sat_128B">;
5558
5559 def int_hexagon_V6_vsubwsat_dv :
5560 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubwsat_dv">;
5561
5562 def int_hexagon_V6_vsubwsat_dv_128B :
5563 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubwsat_dv_128B">;
5564
5565 def int_hexagon_V6_vroundhub :
5566 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vroundhub">;
5567
5568 def int_hexagon_V6_vroundhub_128B :
5569 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vroundhub_128B">;
5570
5571 def int_hexagon_V6_vdmpyhisat_acc :
5572 Hexagon_v16i32_v16i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhisat_acc">;
5573
5574 def int_hexagon_V6_vdmpyhisat_acc_128B :
5575 Hexagon_v32i32_v32i32v64i32i32_Intrinsic<"HEXAGON_V6_vdmpyhisat_acc_128B">;
5576
5577 def int_hexagon_V6_vmpabus :
5578 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpabus">;
5579
5580 def int_hexagon_V6_vmpabus_128B :
5581 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vmpabus_128B">;
5582
5583 def int_hexagon_V6_vassignp :
5584 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vassignp">;
5585
5586 def int_hexagon_V6_vassignp_128B :
5587 Hexagon_v64i32_v64i32_Intrinsic<"HEXAGON_V6_vassignp_128B">;
5588
5589 def int_hexagon_V6_veqb :
5590 Hexagon_v512i1_v16i32v16i32_Intrinsic<"HEXAGON_V6_veqb">;
5591
5592 def int_hexagon_V6_veqb_128B :
5593 Hexagon_v1024i1_v32i32v32i32_Intrinsic<"HEXAGON_V6_veqb_128B">;
5594
5595 def int_hexagon_V6_vsububh :
5596 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsububh">;
5597
5598 def int_hexagon_V6_vsububh_128B :
5599 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsububh_128B">;
5600
5601 def int_hexagon_V6_lvsplatw :
5602 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_lvsplatw">;
5603
5604 def int_hexagon_V6_lvsplatw_128B :
5605 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_lvsplatw_128B">;
5606
5607 def int_hexagon_V6_vaddhnq :
5608 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddhnq">;
5609
5610 def int_hexagon_V6_vaddhnq_128B :
5611 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhnq_128B">;
5612
5613 def int_hexagon_V6_vdmpyhsusat :
5614 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsusat">;
5615
5616 def int_hexagon_V6_vdmpyhsusat_128B :
5617 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsusat_128B">;
5618
5619 def int_hexagon_V6_pred_not :
5620 Hexagon_v512i1_v512i1_Intrinsic<"HEXAGON_V6_pred_not">;
5621
5622 def int_hexagon_V6_pred_not_128B :
5623 Hexagon_v1024i1_v1024i1_Intrinsic<"HEXAGON_V6_pred_not_128B">;
5624
5625 def int_hexagon_V6_vlutvwh_oracc :
5626 Hexagon_v32i32_v32i32v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_oracc">;
5627
5628 def int_hexagon_V6_vlutvwh_oracc_128B :
5629 Hexagon_v64i32_v64i32v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_oracc_128B">;
5630
5631 def int_hexagon_V6_vmpyiewh_acc :
5632 Hexagon_v16i32_v16i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyiewh_acc">;
5633
5634 def int_hexagon_V6_vmpyiewh_acc_128B :
5635 Hexagon_v32i32_v32i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyiewh_acc_128B">;
5636
5637 def int_hexagon_V6_vdealvdd :
5638 Hexagon_v32i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vdealvdd">;
5639
5640 def int_hexagon_V6_vdealvdd_128B :
5641 Hexagon_v64i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdealvdd_128B">;
5642
5643 def int_hexagon_V6_vavgw :
5644 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgw">;
5645
5646 def int_hexagon_V6_vavgw_128B :
5647 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgw_128B">;
5648
5649 def int_hexagon_V6_vdmpyhsusat_acc :
5650 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsusat_acc">;
5651
5652 def int_hexagon_V6_vdmpyhsusat_acc_128B :
5653 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vdmpyhsusat_acc_128B">;
5654
5655 def int_hexagon_V6_vgtw_xor :
5656 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vgtw_xor">;
5657
5658 def int_hexagon_V6_vgtw_xor_128B :
5659 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vgtw_xor_128B">;
5660
5661 def int_hexagon_V6_vtmpyhb_acc :
5662 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vtmpyhb_acc">;
5663
5664 def int_hexagon_V6_vtmpyhb_acc_128B :
5665 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vtmpyhb_acc_128B">;
5666
5667 def int_hexagon_V6_vaddhw :
5668 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddhw">;
5669
5670 def int_hexagon_V6_vaddhw_128B :
5671 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhw_128B">;
5672
5673 def int_hexagon_V6_vaddhq :
5674 Hexagon_v16i32_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddhq">;
5675
5676 def int_hexagon_V6_vaddhq_128B :
5677 Hexagon_v32i32_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhq_128B">;
5678
5679 def int_hexagon_V6_vrmpyubv :
5680 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrmpyubv">;
5681
5682 def int_hexagon_V6_vrmpyubv_128B :
5683 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrmpyubv_128B">;
5684
5685 def int_hexagon_V6_vsubh :
5686 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubh">;
5687
5688 def int_hexagon_V6_vsubh_128B :
5689 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubh_128B">;
5690
5691 def int_hexagon_V6_vrmpyubi :
5692 Hexagon_v32i32_v32i32i32i32_Intrinsic<"HEXAGON_V6_vrmpyubi">;
5693
5694 def int_hexagon_V6_vrmpyubi_128B :
5695 Hexagon_v64i32_v64i32i32i32_Intrinsic<"HEXAGON_V6_vrmpyubi_128B">;
5696
5697 def int_hexagon_V6_vminw :
5698 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vminw">;
5699
5700 def int_hexagon_V6_vminw_128B :
5701 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vminw_128B">;
5702
5703 def int_hexagon_V6_vmpyubv_acc :
5704 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyubv_acc">;
5705
5706 def int_hexagon_V6_vmpyubv_acc_128B :
5707 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyubv_acc_128B">;
5708
5709 def int_hexagon_V6_pred_xor :
5710 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_pred_xor">;
5711
5712 def int_hexagon_V6_pred_xor_128B :
5713 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_pred_xor_128B">;
5714
5715 def int_hexagon_V6_veqb_xor :
5716 Hexagon_v512i1_v512i1v16i32v16i32_Intrinsic<"HEXAGON_V6_veqb_xor">;
5717
5718 def int_hexagon_V6_veqb_xor_128B :
5719 Hexagon_v1024i1_v1024i1v32i32v32i32_Intrinsic<"HEXAGON_V6_veqb_xor_128B">;
5720
5721 def int_hexagon_V6_vmpyiewuh :
5722 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyiewuh">;
5723
5724 def int_hexagon_V6_vmpyiewuh_128B :
5725 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyiewuh_128B">;
5726
5727 def int_hexagon_V6_vmpybusv_acc :
5728 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpybusv_acc">;
5729
5730 def int_hexagon_V6_vmpybusv_acc_128B :
5731 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpybusv_acc_128B">;
5732
5733 def int_hexagon_V6_vavguhrnd :
5734 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavguhrnd">;
5735
5736 def int_hexagon_V6_vavguhrnd_128B :
5737 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavguhrnd_128B">;
5738
5739 def int_hexagon_V6_vmpyowh_rnd :
5740 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyowh_rnd">;
5741
5742 def int_hexagon_V6_vmpyowh_rnd_128B :
5743 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_128B">;
5744
5745 def int_hexagon_V6_vsubwsat :
5746 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubwsat">;
5747
5748 def int_hexagon_V6_vsubwsat_128B :
5749 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubwsat_128B">;
5750
5751 def int_hexagon_V6_vsubuhw :
5752 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubuhw">;
5753
5754 def int_hexagon_V6_vsubuhw_128B :
5755 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubuhw_128B">;
5756
5757 def int_hexagon_V6_vrmpybusi_acc :
5758 Hexagon_v32i32_v32i32v32i32i32i32_Intrinsic<"HEXAGON_V6_vrmpybusi_acc">;
5759
5760 def int_hexagon_V6_vrmpybusi_acc_128B :
5761 Hexagon_v64i32_v64i32v64i32i32i32_Intrinsic<"HEXAGON_V6_vrmpybusi_acc_128B">;
5762
5763 def int_hexagon_V6_vasrw :
5764 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vasrw">;
5765
5766 def int_hexagon_V6_vasrw_128B :
5767 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vasrw_128B">;
5768
5769 def int_hexagon_V6_vasrh :
5770 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vasrh">;
5771
5772 def int_hexagon_V6_vasrh_128B :
5773 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vasrh_128B">;
5774
5775 def int_hexagon_V6_vmpyuhv :
5776 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyuhv">;
5777
5778 def int_hexagon_V6_vmpyuhv_128B :
5779 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyuhv_128B">;
5780
5781 def int_hexagon_V6_vasrhbrndsat :
5782 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrhbrndsat">;
5783
5784 def int_hexagon_V6_vasrhbrndsat_128B :
5785 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrhbrndsat_128B">;
5786
5787 def int_hexagon_V6_vsubuhsat_dv :
5788 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubuhsat_dv">;
5789
5790 def int_hexagon_V6_vsubuhsat_dv_128B :
5791 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubuhsat_dv_128B">;
5792
5793 def int_hexagon_V6_vabsdiffw :
5794 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vabsdiffw">;
5795
5796 def int_hexagon_V6_vabsdiffw_128B :
5797 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vabsdiffw_128B">;
5798
5799 // V62 HVX Instructions.
5800
5801 def int_hexagon_V6_vandnqrt_acc :
5802 Hexagon_v16i32_v16i32v512i1i32_Intrinsic<"HEXAGON_V6_vandnqrt_acc">;
5803
5804 def int_hexagon_V6_vandnqrt_acc_128B :
5805 Hexagon_v32i32_v32i32v1024i1i32_Intrinsic<"HEXAGON_V6_vandnqrt_acc_128B">;
5806
5807 def int_hexagon_V6_vaddclbh :
5808 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddclbh">;
5809
5810 def int_hexagon_V6_vaddclbh_128B :
5811 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddclbh_128B">;
5812
5813 def int_hexagon_V6_vmpyowh_64_acc :
5814 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyowh_64_acc">;
5815
5816 def int_hexagon_V6_vmpyowh_64_acc_128B :
5817 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyowh_64_acc_128B">;
5818
5819 def int_hexagon_V6_vmpyewuh_64 :
5820 Hexagon_v32i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmpyewuh_64">;
5821
5822 def int_hexagon_V6_vmpyewuh_64_128B :
5823 Hexagon_v64i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmpyewuh_64_128B">;
5824
5825 def int_hexagon_V6_vsatuwuh :
5826 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsatuwuh">;
5827
5828 def int_hexagon_V6_vsatuwuh_128B :
5829 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsatuwuh_128B">;
5830
5831 def int_hexagon_V6_shuffeqh :
5832 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_shuffeqh">;
5833
5834 def int_hexagon_V6_shuffeqh_128B :
5835 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_shuffeqh_128B">;
5836
5837 def int_hexagon_V6_shuffeqw :
5838 Hexagon_v512i1_v512i1v512i1_Intrinsic<"HEXAGON_V6_shuffeqw">;
5839
5840 def int_hexagon_V6_shuffeqw_128B :
5841 Hexagon_v1024i1_v1024i1v1024i1_Intrinsic<"HEXAGON_V6_shuffeqw_128B">;
5842
5843 def int_hexagon_V6_ldcnpnt0 :
5844 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldcnpnt0">;
5845
5846 def int_hexagon_V6_ldcnpnt0_128B :
5847 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldcnpnt0_128B">;
5848
5849 def int_hexagon_V6_vsubcarry :
5850 Hexagon_custom_v16i32v512i1_v16i32v16i32v512i1_Intrinsic;
5851
5852 def int_hexagon_V6_vsubcarry_128B :
5853 Hexagon_custom_v32i32v1024i1_v32i32v32i32v1024i1_Intrinsic_128B;
5854
5855 def int_hexagon_V6_vasrhbsat :
5856 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrhbsat">;
5857
5858 def int_hexagon_V6_vasrhbsat_128B :
5859 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrhbsat_128B">;
5860
5861 def int_hexagon_V6_vminb :
5862 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vminb">;
5863
5864 def int_hexagon_V6_vminb_128B :
5865 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vminb_128B">;
5866
5867 def int_hexagon_V6_vmpauhb_acc :
5868 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpauhb_acc">;
5869
5870 def int_hexagon_V6_vmpauhb_acc_128B :
5871 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vmpauhb_acc_128B">;
5872
5873 def int_hexagon_V6_vaddhw_acc :
5874 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddhw_acc">;
5875
5876 def int_hexagon_V6_vaddhw_acc_128B :
5877 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddhw_acc_128B">;
5878
5879 def int_hexagon_V6_vlsrb :
5880 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vlsrb">;
5881
5882 def int_hexagon_V6_vlsrb_128B :
5883 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vlsrb_128B">;
5884
5885 def int_hexagon_V6_vlutvwhi :
5886 Hexagon_v32i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvwhi">;
5887
5888 def int_hexagon_V6_vlutvwhi_128B :
5889 Hexagon_v64i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvwhi_128B">;
5890
5891 def int_hexagon_V6_vaddububb_sat :
5892 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddububb_sat">;
5893
5894 def int_hexagon_V6_vaddububb_sat_128B :
5895 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddububb_sat_128B">;
5896
5897 def int_hexagon_V6_vsubbsat_dv :
5898 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubbsat_dv">;
5899
5900 def int_hexagon_V6_vsubbsat_dv_128B :
5901 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubbsat_dv_128B">;
5902
5903 def int_hexagon_V6_ldtp0 :
5904 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldtp0">;
5905
5906 def int_hexagon_V6_ldtp0_128B :
5907 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldtp0_128B">;
5908
5909 def int_hexagon_V6_vlutvvb_oracci :
5910 Hexagon_v16i32_v16i32v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_oracci">;
5911
5912 def int_hexagon_V6_vlutvvb_oracci_128B :
5913 Hexagon_v32i32_v32i32v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_oracci_128B">;
5914
5915 def int_hexagon_V6_vsubuwsat_dv :
5916 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubuwsat_dv">;
5917
5918 def int_hexagon_V6_vsubuwsat_dv_128B :
5919 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vsubuwsat_dv_128B">;
5920
5921 def int_hexagon_V6_ldpnt0 :
5922 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldpnt0">;
5923
5924 def int_hexagon_V6_ldpnt0_128B :
5925 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldpnt0_128B">;
5926
5927 def int_hexagon_V6_vandvnqv :
5928 Hexagon_v16i32_v512i1v16i32_Intrinsic<"HEXAGON_V6_vandvnqv">;
5929
5930 def int_hexagon_V6_vandvnqv_128B :
5931 Hexagon_v32i32_v1024i1v32i32_Intrinsic<"HEXAGON_V6_vandvnqv_128B">;
5932
5933 def int_hexagon_V6_lvsplatb :
5934 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_lvsplatb">;
5935
5936 def int_hexagon_V6_lvsplatb_128B :
5937 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_lvsplatb_128B">;
5938
5939 def int_hexagon_V6_lvsplath :
5940 Hexagon_v16i32_i32_Intrinsic<"HEXAGON_V6_lvsplath">;
5941
5942 def int_hexagon_V6_lvsplath_128B :
5943 Hexagon_v32i32_i32_Intrinsic<"HEXAGON_V6_lvsplath_128B">;
5944
5945 def int_hexagon_V6_ldtpnt0 :
5946 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldtpnt0">;
5947
5948 def int_hexagon_V6_ldtpnt0_128B :
5949 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldtpnt0_128B">;
5950
5951 def int_hexagon_V6_vlutvwh_nm :
5952 Hexagon_v32i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_nm">;
5953
5954 def int_hexagon_V6_vlutvwh_nm_128B :
5955 Hexagon_v64i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_nm_128B">;
5956
5957 def int_hexagon_V6_ldnpnt0 :
5958 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldnpnt0">;
5959
5960 def int_hexagon_V6_ldnpnt0_128B :
5961 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldnpnt0_128B">;
5962
5963 def int_hexagon_V6_vmpauhb :
5964 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpauhb">;
5965
5966 def int_hexagon_V6_vmpauhb_128B :
5967 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vmpauhb_128B">;
5968
5969 def int_hexagon_V6_ldtnp0 :
5970 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldtnp0">;
5971
5972 def int_hexagon_V6_ldtnp0_128B :
5973 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldtnp0_128B">;
5974
5975 def int_hexagon_V6_vrounduhub :
5976 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrounduhub">;
5977
5978 def int_hexagon_V6_vrounduhub_128B :
5979 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrounduhub_128B">;
5980
5981 def int_hexagon_V6_vadduhw_acc :
5982 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vadduhw_acc">;
5983
5984 def int_hexagon_V6_vadduhw_acc_128B :
5985 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduhw_acc_128B">;
5986
5987 def int_hexagon_V6_ldcp0 :
5988 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldcp0">;
5989
5990 def int_hexagon_V6_ldcp0_128B :
5991 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldcp0_128B">;
5992
5993 def int_hexagon_V6_vadduwsat :
5994 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vadduwsat">;
5995
5996 def int_hexagon_V6_vadduwsat_128B :
5997 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduwsat_128B">;
5998
5999 def int_hexagon_V6_ldtnpnt0 :
6000 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldtnpnt0">;
6001
6002 def int_hexagon_V6_ldtnpnt0_128B :
6003 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldtnpnt0_128B">;
6004
6005 def int_hexagon_V6_vaddbsat :
6006 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddbsat">;
6007
6008 def int_hexagon_V6_vaddbsat_128B :
6009 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddbsat_128B">;
6010
6011 def int_hexagon_V6_vandnqrt :
6012 Hexagon_v16i32_v512i1i32_Intrinsic<"HEXAGON_V6_vandnqrt">;
6013
6014 def int_hexagon_V6_vandnqrt_128B :
6015 Hexagon_v32i32_v1024i1i32_Intrinsic<"HEXAGON_V6_vandnqrt_128B">;
6016
6017 def int_hexagon_V6_vmpyiwub_acc :
6018 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwub_acc">;
6019
6020 def int_hexagon_V6_vmpyiwub_acc_128B :
6021 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwub_acc_128B">;
6022
6023 def int_hexagon_V6_vmaxb :
6024 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vmaxb">;
6025
6026 def int_hexagon_V6_vmaxb_128B :
6027 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vmaxb_128B">;
6028
6029 def int_hexagon_V6_vandvqv :
6030 Hexagon_v16i32_v512i1v16i32_Intrinsic<"HEXAGON_V6_vandvqv">;
6031
6032 def int_hexagon_V6_vandvqv_128B :
6033 Hexagon_v32i32_v1024i1v32i32_Intrinsic<"HEXAGON_V6_vandvqv_128B">;
6034
6035 def int_hexagon_V6_vaddcarry :
6036 Hexagon_custom_v16i32v512i1_v16i32v16i32v512i1_Intrinsic;
6037
6038 def int_hexagon_V6_vaddcarry_128B :
6039 Hexagon_custom_v32i32v1024i1_v32i32v32i32v1024i1_Intrinsic_128B;
6040
6041 def int_hexagon_V6_vasrwuhrndsat :
6042 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrwuhrndsat">;
6043
6044 def int_hexagon_V6_vasrwuhrndsat_128B :
6045 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrwuhrndsat_128B">;
6046
6047 def int_hexagon_V6_vlutvvbi :
6048 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvvbi">;
6049
6050 def int_hexagon_V6_vlutvvbi_128B :
6051 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvvbi_128B">;
6052
6053 def int_hexagon_V6_vsubuwsat :
6054 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubuwsat">;
6055
6056 def int_hexagon_V6_vsubuwsat_128B :
6057 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubuwsat_128B">;
6058
6059 def int_hexagon_V6_vaddbsat_dv :
6060 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddbsat_dv">;
6061
6062 def int_hexagon_V6_vaddbsat_dv_128B :
6063 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vaddbsat_dv_128B">;
6064
6065 def int_hexagon_V6_ldnp0 :
6066 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldnp0">;
6067
6068 def int_hexagon_V6_ldnp0_128B :
6069 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldnp0_128B">;
6070
6071 def int_hexagon_V6_vasruwuhrndsat :
6072 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasruwuhrndsat">;
6073
6074 def int_hexagon_V6_vasruwuhrndsat_128B :
6075 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasruwuhrndsat_128B">;
6076
6077 def int_hexagon_V6_vrounduwuh :
6078 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrounduwuh">;
6079
6080 def int_hexagon_V6_vrounduwuh_128B :
6081 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrounduwuh_128B">;
6082
6083 def int_hexagon_V6_vlutvvb_nm :
6084 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_nm">;
6085
6086 def int_hexagon_V6_vlutvvb_nm_128B :
6087 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvvb_nm_128B">;
6088
6089 def int_hexagon_V6_pred_scalar2v2 :
6090 Hexagon_v512i1_i32_Intrinsic<"HEXAGON_V6_pred_scalar2v2">;
6091
6092 def int_hexagon_V6_pred_scalar2v2_128B :
6093 Hexagon_v1024i1_i32_Intrinsic<"HEXAGON_V6_pred_scalar2v2_128B">;
6094
6095 def int_hexagon_V6_ldp0 :
6096 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldp0">;
6097
6098 def int_hexagon_V6_ldp0_128B :
6099 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldp0_128B">;
6100
6101 def int_hexagon_V6_vaddubh_acc :
6102 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddubh_acc">;
6103
6104 def int_hexagon_V6_vaddubh_acc_128B :
6105 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddubh_acc_128B">;
6106
6107 def int_hexagon_V6_vaddclbw :
6108 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vaddclbw">;
6109
6110 def int_hexagon_V6_vaddclbw_128B :
6111 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vaddclbw_128B">;
6112
6113 def int_hexagon_V6_ldcpnt0 :
6114 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldcpnt0">;
6115
6116 def int_hexagon_V6_ldcpnt0_128B :
6117 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldcpnt0_128B">;
6118
6119 def int_hexagon_V6_vadduwsat_dv :
6120 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vadduwsat_dv">;
6121
6122 def int_hexagon_V6_vadduwsat_dv_128B :
6123 Hexagon_v64i32_v64i32v64i32_Intrinsic<"HEXAGON_V6_vadduwsat_dv_128B">;
6124
6125 def int_hexagon_V6_vmpyiwub :
6126 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyiwub">;
6127
6128 def int_hexagon_V6_vmpyiwub_128B :
6129 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyiwub_128B">;
6130
6131 def int_hexagon_V6_vsubububb_sat :
6132 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubububb_sat">;
6133
6134 def int_hexagon_V6_vsubububb_sat_128B :
6135 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubububb_sat_128B">;
6136
6137 def int_hexagon_V6_ldcnp0 :
6138 Hexagon_v16i32_i32i32_Intrinsic<"HEXAGON_V6_ldcnp0">;
6139
6140 def int_hexagon_V6_ldcnp0_128B :
6141 Hexagon_v32i32_i32i32_Intrinsic<"HEXAGON_V6_ldcnp0_128B">;
6142
6143 def int_hexagon_V6_vlutvwh_oracci :
6144 Hexagon_v32i32_v32i32v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_oracci">;
6145
6146 def int_hexagon_V6_vlutvwh_oracci_128B :
6147 Hexagon_v64i32_v64i32v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vlutvwh_oracci_128B">;
6148
6149 def int_hexagon_V6_vsubbsat :
6150 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsubbsat">;
6151
6152 def int_hexagon_V6_vsubbsat_128B :
6153 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsubbsat_128B">;
6154
6155 // V65 HVX Instructions.
6156
6157 def int_hexagon_V6_vasruhubrndsat :
6158 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasruhubrndsat">;
6159
6160 def int_hexagon_V6_vasruhubrndsat_128B :
6161 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasruhubrndsat_128B">;
6162
6163 def int_hexagon_V6_vrmpybub_rtt :
6164 Hexagon_v32i32_v16i32i64_Intrinsic<"HEXAGON_V6_vrmpybub_rtt">;
6165
6166 def int_hexagon_V6_vrmpybub_rtt_128B :
6167 Hexagon_v64i32_v32i32i64_Intrinsic<"HEXAGON_V6_vrmpybub_rtt_128B">;
6168
6169 def int_hexagon_V6_vmpahhsat :
6170 Hexagon_v16i32_v16i32v16i32i64_Intrinsic<"HEXAGON_V6_vmpahhsat">;
6171
6172 def int_hexagon_V6_vmpahhsat_128B :
6173 Hexagon_v32i32_v32i32v32i32i64_Intrinsic<"HEXAGON_V6_vmpahhsat_128B">;
6174
6175 def int_hexagon_V6_vavguwrnd :
6176 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavguwrnd">;
6177
6178 def int_hexagon_V6_vavguwrnd_128B :
6179 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavguwrnd_128B">;
6180
6181 def int_hexagon_V6_vnavgb :
6182 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vnavgb">;
6183
6184 def int_hexagon_V6_vnavgb_128B :
6185 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vnavgb_128B">;
6186
6187 def int_hexagon_V6_vasrh_acc :
6188 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasrh_acc">;
6189
6190 def int_hexagon_V6_vasrh_acc_128B :
6191 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasrh_acc_128B">;
6192
6193 def int_hexagon_V6_vmpauhuhsat :
6194 Hexagon_v16i32_v16i32v16i32i64_Intrinsic<"HEXAGON_V6_vmpauhuhsat">;
6195
6196 def int_hexagon_V6_vmpauhuhsat_128B :
6197 Hexagon_v32i32_v32i32v32i32i64_Intrinsic<"HEXAGON_V6_vmpauhuhsat_128B">;
6198
6199 def int_hexagon_V6_vmpyh_acc :
6200 Hexagon_v32i32_v32i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyh_acc">;
6201
6202 def int_hexagon_V6_vmpyh_acc_128B :
6203 Hexagon_v64i32_v64i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyh_acc_128B">;
6204
6205 def int_hexagon_V6_vrmpybub_rtt_acc :
6206 Hexagon_v32i32_v32i32v16i32i64_Intrinsic<"HEXAGON_V6_vrmpybub_rtt_acc">;
6207
6208 def int_hexagon_V6_vrmpybub_rtt_acc_128B :
6209 Hexagon_v64i32_v64i32v32i32i64_Intrinsic<"HEXAGON_V6_vrmpybub_rtt_acc_128B">;
6210
6211 def int_hexagon_V6_vavgb :
6212 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgb">;
6213
6214 def int_hexagon_V6_vavgb_128B :
6215 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgb_128B">;
6216
6217 def int_hexagon_V6_vaslh_acc :
6218 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vaslh_acc">;
6219
6220 def int_hexagon_V6_vaslh_acc_128B :
6221 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vaslh_acc_128B">;
6222
6223 def int_hexagon_V6_vavguw :
6224 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavguw">;
6225
6226 def int_hexagon_V6_vavguw_128B :
6227 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavguw_128B">;
6228
6229 def int_hexagon_V6_vlut4 :
6230 Hexagon_v16i32_v16i32i64_Intrinsic<"HEXAGON_V6_vlut4">;
6231
6232 def int_hexagon_V6_vlut4_128B :
6233 Hexagon_v32i32_v32i32i64_Intrinsic<"HEXAGON_V6_vlut4_128B">;
6234
6235 def int_hexagon_V6_vmpyuhe_acc :
6236 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vmpyuhe_acc">;
6237
6238 def int_hexagon_V6_vmpyuhe_acc_128B :
6239 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpyuhe_acc_128B">;
6240
6241 def int_hexagon_V6_vrmpyub_rtt :
6242 Hexagon_v32i32_v16i32i64_Intrinsic<"HEXAGON_V6_vrmpyub_rtt">;
6243
6244 def int_hexagon_V6_vrmpyub_rtt_128B :
6245 Hexagon_v64i32_v32i32i64_Intrinsic<"HEXAGON_V6_vrmpyub_rtt_128B">;
6246
6247 def int_hexagon_V6_vmpsuhuhsat :
6248 Hexagon_v16i32_v16i32v16i32i64_Intrinsic<"HEXAGON_V6_vmpsuhuhsat">;
6249
6250 def int_hexagon_V6_vmpsuhuhsat_128B :
6251 Hexagon_v32i32_v32i32v32i32i64_Intrinsic<"HEXAGON_V6_vmpsuhuhsat_128B">;
6252
6253 def int_hexagon_V6_vasruhubsat :
6254 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasruhubsat">;
6255
6256 def int_hexagon_V6_vasruhubsat_128B :
6257 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasruhubsat_128B">;
6258
6259 def int_hexagon_V6_vmpyuhe :
6260 Hexagon_v16i32_v16i32i32_Intrinsic<"HEXAGON_V6_vmpyuhe">;
6261
6262 def int_hexagon_V6_vmpyuhe_128B :
6263 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpyuhe_128B">;
6264
6265 def int_hexagon_V6_vrmpyub_rtt_acc :
6266 Hexagon_v32i32_v32i32v16i32i64_Intrinsic<"HEXAGON_V6_vrmpyub_rtt_acc">;
6267
6268 def int_hexagon_V6_vrmpyub_rtt_acc_128B :
6269 Hexagon_v64i32_v64i32v32i32i64_Intrinsic<"HEXAGON_V6_vrmpyub_rtt_acc_128B">;
6270
6271 def int_hexagon_V6_vasruwuhsat :
6272 Hexagon_v16i32_v16i32v16i32i32_Intrinsic<"HEXAGON_V6_vasruwuhsat">;
6273
6274 def int_hexagon_V6_vasruwuhsat_128B :
6275 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vasruwuhsat_128B">;
6276
6277 def int_hexagon_V6_vmpabuu_acc :
6278 Hexagon_v32i32_v32i32v32i32i32_Intrinsic<"HEXAGON_V6_vmpabuu_acc">;
6279
6280 def int_hexagon_V6_vmpabuu_acc_128B :
6281 Hexagon_v64i32_v64i32v64i32i32_Intrinsic<"HEXAGON_V6_vmpabuu_acc_128B">;
6282
6283 def int_hexagon_V6_vprefixqw :
6284 Hexagon_v16i32_v512i1_Intrinsic<"HEXAGON_V6_vprefixqw">;
6285
6286 def int_hexagon_V6_vprefixqw_128B :
6287 Hexagon_v32i32_v1024i1_Intrinsic<"HEXAGON_V6_vprefixqw_128B">;
6288
6289 def int_hexagon_V6_vprefixqh :
6290 Hexagon_v16i32_v512i1_Intrinsic<"HEXAGON_V6_vprefixqh">;
6291
6292 def int_hexagon_V6_vprefixqh_128B :
6293 Hexagon_v32i32_v1024i1_Intrinsic<"HEXAGON_V6_vprefixqh_128B">;
6294
6295 def int_hexagon_V6_vprefixqb :
6296 Hexagon_v16i32_v512i1_Intrinsic<"HEXAGON_V6_vprefixqb">;
6297
6298 def int_hexagon_V6_vprefixqb_128B :
6299 Hexagon_v32i32_v1024i1_Intrinsic<"HEXAGON_V6_vprefixqb_128B">;
6300
6301 def int_hexagon_V6_vabsb :
6302 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsb">;
6303
6304 def int_hexagon_V6_vabsb_128B :
6305 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsb_128B">;
6306
6307 def int_hexagon_V6_vavgbrnd :
6308 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vavgbrnd">;
6309
6310 def int_hexagon_V6_vavgbrnd_128B :
6311 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vavgbrnd_128B">;
6312
6313 def int_hexagon_V6_vdd0 :
6314 Hexagon_v32i32__Intrinsic<"HEXAGON_V6_vdd0">;
6315
6316 def int_hexagon_V6_vdd0_128B :
6317 Hexagon_v64i32__Intrinsic<"HEXAGON_V6_vdd0_128B">;
6318
6319 def int_hexagon_V6_vmpabuu :
6320 Hexagon_v32i32_v32i32i32_Intrinsic<"HEXAGON_V6_vmpabuu">;
6321
6322 def int_hexagon_V6_vmpabuu_128B :
6323 Hexagon_v64i32_v64i32i32_Intrinsic<"HEXAGON_V6_vmpabuu_128B">;
6324
6325 def int_hexagon_V6_vabsb_sat :
6326 Hexagon_v16i32_v16i32_Intrinsic<"HEXAGON_V6_vabsb_sat">;
6327
6328 def int_hexagon_V6_vabsb_sat_128B :
6329 Hexagon_v32i32_v32i32_Intrinsic<"HEXAGON_V6_vabsb_sat_128B">;
6330
6331 // V66 HVX Instructions.
6332
6333 def int_hexagon_V6_vaddcarrysat :
6334 Hexagon_v16i32_v16i32v16i32v512i1_Intrinsic<"HEXAGON_V6_vaddcarrysat">;
6335
6336 def int_hexagon_V6_vaddcarrysat_128B :
6337 Hexagon_v32i32_v32i32v32i32v1024i1_Intrinsic<"HEXAGON_V6_vaddcarrysat_128B">;
6338
6339 def int_hexagon_V6_vasr_into :
6340 Hexagon_v32i32_v32i32v16i32v16i32_Intrinsic<"HEXAGON_V6_vasr_into">;
6341
6342 def int_hexagon_V6_vasr_into_128B :
6343 Hexagon_v64i32_v64i32v32i32v32i32_Intrinsic<"HEXAGON_V6_vasr_into_128B">;
6344
6345 def int_hexagon_V6_vsatdw :
6346 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vsatdw">;
6347
6348 def int_hexagon_V6_vsatdw_128B :
6349 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vsatdw_128B">;
6350
6351 def int_hexagon_V6_vrotr :
6352 Hexagon_v16i32_v16i32v16i32_Intrinsic<"HEXAGON_V6_vrotr">;
6353
6354 def int_hexagon_V6_vrotr_128B :
6355 Hexagon_v32i32_v32i32v32i32_Intrinsic<"HEXAGON_V6_vrotr_128B">;
6356