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