clang 19.0.0git
hexagon_protos.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8// Automatically generated file, do not edit!
9//===----------------------------------------------------------------------===//
10
11
12
13#ifndef __HEXAGON_PROTOS_H_
14#define __HEXAGON_PROTOS_H_ 1
15
16/* ==========================================================================
17 Assembly Syntax: Rd32=abs(Rs32)
18 C Intrinsic Prototype: Word32 Q6_R_abs_R(Word32 Rs)
19 Instruction Type: S_2op
20 Execution Slots: SLOT23
21 ========================================================================== */
22
23#define Q6_R_abs_R __builtin_HEXAGON_A2_abs
24
25/* ==========================================================================
26 Assembly Syntax: Rdd32=abs(Rss32)
27 C Intrinsic Prototype: Word64 Q6_P_abs_P(Word64 Rss)
28 Instruction Type: S_2op
29 Execution Slots: SLOT23
30 ========================================================================== */
31
32#define Q6_P_abs_P __builtin_HEXAGON_A2_absp
33
34/* ==========================================================================
35 Assembly Syntax: Rd32=abs(Rs32):sat
36 C Intrinsic Prototype: Word32 Q6_R_abs_R_sat(Word32 Rs)
37 Instruction Type: S_2op
38 Execution Slots: SLOT23
39 ========================================================================== */
40
41#define Q6_R_abs_R_sat __builtin_HEXAGON_A2_abssat
42
43/* ==========================================================================
44 Assembly Syntax: Rd32=add(Rs32,Rt32)
45 C Intrinsic Prototype: Word32 Q6_R_add_RR(Word32 Rs, Word32 Rt)
46 Instruction Type: ALU32_3op
47 Execution Slots: SLOT0123
48 ========================================================================== */
49
50#define Q6_R_add_RR __builtin_HEXAGON_A2_add
51
52/* ==========================================================================
53 Assembly Syntax: Rd32=add(Rt32.h,Rs32.h):<<16
54 C Intrinsic Prototype: Word32 Q6_R_add_RhRh_s16(Word32 Rt, Word32 Rs)
55 Instruction Type: ALU64
56 Execution Slots: SLOT23
57 ========================================================================== */
58
59#define Q6_R_add_RhRh_s16 __builtin_HEXAGON_A2_addh_h16_hh
60
61/* ==========================================================================
62 Assembly Syntax: Rd32=add(Rt32.h,Rs32.l):<<16
63 C Intrinsic Prototype: Word32 Q6_R_add_RhRl_s16(Word32 Rt, Word32 Rs)
64 Instruction Type: ALU64
65 Execution Slots: SLOT23
66 ========================================================================== */
67
68#define Q6_R_add_RhRl_s16 __builtin_HEXAGON_A2_addh_h16_hl
69
70/* ==========================================================================
71 Assembly Syntax: Rd32=add(Rt32.l,Rs32.h):<<16
72 C Intrinsic Prototype: Word32 Q6_R_add_RlRh_s16(Word32 Rt, Word32 Rs)
73 Instruction Type: ALU64
74 Execution Slots: SLOT23
75 ========================================================================== */
76
77#define Q6_R_add_RlRh_s16 __builtin_HEXAGON_A2_addh_h16_lh
78
79/* ==========================================================================
80 Assembly Syntax: Rd32=add(Rt32.l,Rs32.l):<<16
81 C Intrinsic Prototype: Word32 Q6_R_add_RlRl_s16(Word32 Rt, Word32 Rs)
82 Instruction Type: ALU64
83 Execution Slots: SLOT23
84 ========================================================================== */
85
86#define Q6_R_add_RlRl_s16 __builtin_HEXAGON_A2_addh_h16_ll
87
88/* ==========================================================================
89 Assembly Syntax: Rd32=add(Rt32.h,Rs32.h):sat:<<16
90 C Intrinsic Prototype: Word32 Q6_R_add_RhRh_sat_s16(Word32 Rt, Word32 Rs)
91 Instruction Type: ALU64
92 Execution Slots: SLOT23
93 ========================================================================== */
94
95#define Q6_R_add_RhRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hh
96
97/* ==========================================================================
98 Assembly Syntax: Rd32=add(Rt32.h,Rs32.l):sat:<<16
99 C Intrinsic Prototype: Word32 Q6_R_add_RhRl_sat_s16(Word32 Rt, Word32 Rs)
100 Instruction Type: ALU64
101 Execution Slots: SLOT23
102 ========================================================================== */
103
104#define Q6_R_add_RhRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hl
105
106/* ==========================================================================
107 Assembly Syntax: Rd32=add(Rt32.l,Rs32.h):sat:<<16
108 C Intrinsic Prototype: Word32 Q6_R_add_RlRh_sat_s16(Word32 Rt, Word32 Rs)
109 Instruction Type: ALU64
110 Execution Slots: SLOT23
111 ========================================================================== */
112
113#define Q6_R_add_RlRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_lh
114
115/* ==========================================================================
116 Assembly Syntax: Rd32=add(Rt32.l,Rs32.l):sat:<<16
117 C Intrinsic Prototype: Word32 Q6_R_add_RlRl_sat_s16(Word32 Rt, Word32 Rs)
118 Instruction Type: ALU64
119 Execution Slots: SLOT23
120 ========================================================================== */
121
122#define Q6_R_add_RlRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_ll
123
124/* ==========================================================================
125 Assembly Syntax: Rd32=add(Rt32.l,Rs32.h)
126 C Intrinsic Prototype: Word32 Q6_R_add_RlRh(Word32 Rt, Word32 Rs)
127 Instruction Type: ALU64
128 Execution Slots: SLOT23
129 ========================================================================== */
130
131#define Q6_R_add_RlRh __builtin_HEXAGON_A2_addh_l16_hl
132
133/* ==========================================================================
134 Assembly Syntax: Rd32=add(Rt32.l,Rs32.l)
135 C Intrinsic Prototype: Word32 Q6_R_add_RlRl(Word32 Rt, Word32 Rs)
136 Instruction Type: ALU64
137 Execution Slots: SLOT23
138 ========================================================================== */
139
140#define Q6_R_add_RlRl __builtin_HEXAGON_A2_addh_l16_ll
141
142/* ==========================================================================
143 Assembly Syntax: Rd32=add(Rt32.l,Rs32.h):sat
144 C Intrinsic Prototype: Word32 Q6_R_add_RlRh_sat(Word32 Rt, Word32 Rs)
145 Instruction Type: ALU64
146 Execution Slots: SLOT23
147 ========================================================================== */
148
149#define Q6_R_add_RlRh_sat __builtin_HEXAGON_A2_addh_l16_sat_hl
150
151/* ==========================================================================
152 Assembly Syntax: Rd32=add(Rt32.l,Rs32.l):sat
153 C Intrinsic Prototype: Word32 Q6_R_add_RlRl_sat(Word32 Rt, Word32 Rs)
154 Instruction Type: ALU64
155 Execution Slots: SLOT23
156 ========================================================================== */
157
158#define Q6_R_add_RlRl_sat __builtin_HEXAGON_A2_addh_l16_sat_ll
159
160/* ==========================================================================
161 Assembly Syntax: Rd32=add(Rs32,#s16)
162 C Intrinsic Prototype: Word32 Q6_R_add_RI(Word32 Rs, Word32 Is16)
163 Instruction Type: ALU32_ADDI
164 Execution Slots: SLOT0123
165 ========================================================================== */
166
167#define Q6_R_add_RI __builtin_HEXAGON_A2_addi
168
169/* ==========================================================================
170 Assembly Syntax: Rdd32=add(Rss32,Rtt32)
171 C Intrinsic Prototype: Word64 Q6_P_add_PP(Word64 Rss, Word64 Rtt)
172 Instruction Type: ALU64
173 Execution Slots: SLOT23
174 ========================================================================== */
175
176#define Q6_P_add_PP __builtin_HEXAGON_A2_addp
177
178/* ==========================================================================
179 Assembly Syntax: Rdd32=add(Rss32,Rtt32):sat
180 C Intrinsic Prototype: Word64 Q6_P_add_PP_sat(Word64 Rss, Word64 Rtt)
181 Instruction Type: ALU64
182 Execution Slots: SLOT23
183 ========================================================================== */
184
185#define Q6_P_add_PP_sat __builtin_HEXAGON_A2_addpsat
186
187/* ==========================================================================
188 Assembly Syntax: Rd32=add(Rs32,Rt32):sat
189 C Intrinsic Prototype: Word32 Q6_R_add_RR_sat(Word32 Rs, Word32 Rt)
190 Instruction Type: ALU32_3op
191 Execution Slots: SLOT0123
192 ========================================================================== */
193
194#define Q6_R_add_RR_sat __builtin_HEXAGON_A2_addsat
195
196/* ==========================================================================
197 Assembly Syntax: Rdd32=add(Rs32,Rtt32)
198 C Intrinsic Prototype: Word64 Q6_P_add_RP(Word32 Rs, Word64 Rtt)
199 Instruction Type: ALU64
200 Execution Slots: SLOT0123
201 ========================================================================== */
202
203#define Q6_P_add_RP __builtin_HEXAGON_A2_addsp
204
205/* ==========================================================================
206 Assembly Syntax: Rd32=and(Rs32,Rt32)
207 C Intrinsic Prototype: Word32 Q6_R_and_RR(Word32 Rs, Word32 Rt)
208 Instruction Type: ALU32_3op
209 Execution Slots: SLOT0123
210 ========================================================================== */
211
212#define Q6_R_and_RR __builtin_HEXAGON_A2_and
213
214/* ==========================================================================
215 Assembly Syntax: Rd32=and(Rs32,#s10)
216 C Intrinsic Prototype: Word32 Q6_R_and_RI(Word32 Rs, Word32 Is10)
217 Instruction Type: ALU32_2op
218 Execution Slots: SLOT0123
219 ========================================================================== */
220
221#define Q6_R_and_RI __builtin_HEXAGON_A2_andir
222
223/* ==========================================================================
224 Assembly Syntax: Rdd32=and(Rss32,Rtt32)
225 C Intrinsic Prototype: Word64 Q6_P_and_PP(Word64 Rss, Word64 Rtt)
226 Instruction Type: ALU64
227 Execution Slots: SLOT23
228 ========================================================================== */
229
230#define Q6_P_and_PP __builtin_HEXAGON_A2_andp
231
232/* ==========================================================================
233 Assembly Syntax: Rd32=aslh(Rs32)
234 C Intrinsic Prototype: Word32 Q6_R_aslh_R(Word32 Rs)
235 Instruction Type: ALU32_2op
236 Execution Slots: SLOT0123
237 ========================================================================== */
238
239#define Q6_R_aslh_R __builtin_HEXAGON_A2_aslh
240
241/* ==========================================================================
242 Assembly Syntax: Rd32=asrh(Rs32)
243 C Intrinsic Prototype: Word32 Q6_R_asrh_R(Word32 Rs)
244 Instruction Type: ALU32_2op
245 Execution Slots: SLOT0123
246 ========================================================================== */
247
248#define Q6_R_asrh_R __builtin_HEXAGON_A2_asrh
249
250/* ==========================================================================
251 Assembly Syntax: Rd32=combine(Rt32.h,Rs32.h)
252 C Intrinsic Prototype: Word32 Q6_R_combine_RhRh(Word32 Rt, Word32 Rs)
253 Instruction Type: ALU32_3op
254 Execution Slots: SLOT0123
255 ========================================================================== */
256
257#define Q6_R_combine_RhRh __builtin_HEXAGON_A2_combine_hh
258
259/* ==========================================================================
260 Assembly Syntax: Rd32=combine(Rt32.h,Rs32.l)
261 C Intrinsic Prototype: Word32 Q6_R_combine_RhRl(Word32 Rt, Word32 Rs)
262 Instruction Type: ALU32_3op
263 Execution Slots: SLOT0123
264 ========================================================================== */
265
266#define Q6_R_combine_RhRl __builtin_HEXAGON_A2_combine_hl
267
268/* ==========================================================================
269 Assembly Syntax: Rd32=combine(Rt32.l,Rs32.h)
270 C Intrinsic Prototype: Word32 Q6_R_combine_RlRh(Word32 Rt, Word32 Rs)
271 Instruction Type: ALU32_3op
272 Execution Slots: SLOT0123
273 ========================================================================== */
274
275#define Q6_R_combine_RlRh __builtin_HEXAGON_A2_combine_lh
276
277/* ==========================================================================
278 Assembly Syntax: Rd32=combine(Rt32.l,Rs32.l)
279 C Intrinsic Prototype: Word32 Q6_R_combine_RlRl(Word32 Rt, Word32 Rs)
280 Instruction Type: ALU32_3op
281 Execution Slots: SLOT0123
282 ========================================================================== */
283
284#define Q6_R_combine_RlRl __builtin_HEXAGON_A2_combine_ll
285
286/* ==========================================================================
287 Assembly Syntax: Rdd32=combine(#s8,#S8)
288 C Intrinsic Prototype: Word64 Q6_P_combine_II(Word32 Is8, Word32 IS8)
289 Instruction Type: ALU32_2op
290 Execution Slots: SLOT0123
291 ========================================================================== */
292
293#define Q6_P_combine_II __builtin_HEXAGON_A2_combineii
294
295/* ==========================================================================
296 Assembly Syntax: Rdd32=combine(Rs32,Rt32)
297 C Intrinsic Prototype: Word64 Q6_P_combine_RR(Word32 Rs, Word32 Rt)
298 Instruction Type: ALU32_3op
299 Execution Slots: SLOT0123
300 ========================================================================== */
301
302#define Q6_P_combine_RR __builtin_HEXAGON_A2_combinew
303
304/* ==========================================================================
305 Assembly Syntax: Rd32=max(Rs32,Rt32)
306 C Intrinsic Prototype: Word32 Q6_R_max_RR(Word32 Rs, Word32 Rt)
307 Instruction Type: ALU64
308 Execution Slots: SLOT23
309 ========================================================================== */
310
311#define Q6_R_max_RR __builtin_HEXAGON_A2_max
312
313/* ==========================================================================
314 Assembly Syntax: Rdd32=max(Rss32,Rtt32)
315 C Intrinsic Prototype: Word64 Q6_P_max_PP(Word64 Rss, Word64 Rtt)
316 Instruction Type: ALU64
317 Execution Slots: SLOT23
318 ========================================================================== */
319
320#define Q6_P_max_PP __builtin_HEXAGON_A2_maxp
321
322/* ==========================================================================
323 Assembly Syntax: Rd32=maxu(Rs32,Rt32)
324 C Intrinsic Prototype: UWord32 Q6_R_maxu_RR(Word32 Rs, Word32 Rt)
325 Instruction Type: ALU64
326 Execution Slots: SLOT23
327 ========================================================================== */
328
329#define Q6_R_maxu_RR __builtin_HEXAGON_A2_maxu
330
331/* ==========================================================================
332 Assembly Syntax: Rdd32=maxu(Rss32,Rtt32)
333 C Intrinsic Prototype: UWord64 Q6_P_maxu_PP(Word64 Rss, Word64 Rtt)
334 Instruction Type: ALU64
335 Execution Slots: SLOT23
336 ========================================================================== */
337
338#define Q6_P_maxu_PP __builtin_HEXAGON_A2_maxup
339
340/* ==========================================================================
341 Assembly Syntax: Rd32=min(Rt32,Rs32)
342 C Intrinsic Prototype: Word32 Q6_R_min_RR(Word32 Rt, Word32 Rs)
343 Instruction Type: ALU64
344 Execution Slots: SLOT23
345 ========================================================================== */
346
347#define Q6_R_min_RR __builtin_HEXAGON_A2_min
348
349/* ==========================================================================
350 Assembly Syntax: Rdd32=min(Rtt32,Rss32)
351 C Intrinsic Prototype: Word64 Q6_P_min_PP(Word64 Rtt, Word64 Rss)
352 Instruction Type: ALU64
353 Execution Slots: SLOT23
354 ========================================================================== */
355
356#define Q6_P_min_PP __builtin_HEXAGON_A2_minp
357
358/* ==========================================================================
359 Assembly Syntax: Rd32=minu(Rt32,Rs32)
360 C Intrinsic Prototype: UWord32 Q6_R_minu_RR(Word32 Rt, Word32 Rs)
361 Instruction Type: ALU64
362 Execution Slots: SLOT23
363 ========================================================================== */
364
365#define Q6_R_minu_RR __builtin_HEXAGON_A2_minu
366
367/* ==========================================================================
368 Assembly Syntax: Rdd32=minu(Rtt32,Rss32)
369 C Intrinsic Prototype: UWord64 Q6_P_minu_PP(Word64 Rtt, Word64 Rss)
370 Instruction Type: ALU64
371 Execution Slots: SLOT23
372 ========================================================================== */
373
374#define Q6_P_minu_PP __builtin_HEXAGON_A2_minup
375
376/* ==========================================================================
377 Assembly Syntax: Rd32=neg(Rs32)
378 C Intrinsic Prototype: Word32 Q6_R_neg_R(Word32 Rs)
379 Instruction Type: ALU32_2op
380 Execution Slots: SLOT0123
381 ========================================================================== */
382
383#define Q6_R_neg_R __builtin_HEXAGON_A2_neg
384
385/* ==========================================================================
386 Assembly Syntax: Rdd32=neg(Rss32)
387 C Intrinsic Prototype: Word64 Q6_P_neg_P(Word64 Rss)
388 Instruction Type: S_2op
389 Execution Slots: SLOT23
390 ========================================================================== */
391
392#define Q6_P_neg_P __builtin_HEXAGON_A2_negp
393
394/* ==========================================================================
395 Assembly Syntax: Rd32=neg(Rs32):sat
396 C Intrinsic Prototype: Word32 Q6_R_neg_R_sat(Word32 Rs)
397 Instruction Type: S_2op
398 Execution Slots: SLOT23
399 ========================================================================== */
400
401#define Q6_R_neg_R_sat __builtin_HEXAGON_A2_negsat
402
403/* ==========================================================================
404 Assembly Syntax: Rd32=not(Rs32)
405 C Intrinsic Prototype: Word32 Q6_R_not_R(Word32 Rs)
406 Instruction Type: ALU32_2op
407 Execution Slots: SLOT0123
408 ========================================================================== */
409
410#define Q6_R_not_R __builtin_HEXAGON_A2_not
411
412/* ==========================================================================
413 Assembly Syntax: Rdd32=not(Rss32)
414 C Intrinsic Prototype: Word64 Q6_P_not_P(Word64 Rss)
415 Instruction Type: S_2op
416 Execution Slots: SLOT23
417 ========================================================================== */
418
419#define Q6_P_not_P __builtin_HEXAGON_A2_notp
420
421/* ==========================================================================
422 Assembly Syntax: Rd32=or(Rs32,Rt32)
423 C Intrinsic Prototype: Word32 Q6_R_or_RR(Word32 Rs, Word32 Rt)
424 Instruction Type: ALU32_3op
425 Execution Slots: SLOT0123
426 ========================================================================== */
427
428#define Q6_R_or_RR __builtin_HEXAGON_A2_or
429
430/* ==========================================================================
431 Assembly Syntax: Rd32=or(Rs32,#s10)
432 C Intrinsic Prototype: Word32 Q6_R_or_RI(Word32 Rs, Word32 Is10)
433 Instruction Type: ALU32_2op
434 Execution Slots: SLOT0123
435 ========================================================================== */
436
437#define Q6_R_or_RI __builtin_HEXAGON_A2_orir
438
439/* ==========================================================================
440 Assembly Syntax: Rdd32=or(Rss32,Rtt32)
441 C Intrinsic Prototype: Word64 Q6_P_or_PP(Word64 Rss, Word64 Rtt)
442 Instruction Type: ALU64
443 Execution Slots: SLOT23
444 ========================================================================== */
445
446#define Q6_P_or_PP __builtin_HEXAGON_A2_orp
447
448/* ==========================================================================
449 Assembly Syntax: Rd32=round(Rss32):sat
450 C Intrinsic Prototype: Word32 Q6_R_round_P_sat(Word64 Rss)
451 Instruction Type: S_2op
452 Execution Slots: SLOT23
453 ========================================================================== */
454
455#define Q6_R_round_P_sat __builtin_HEXAGON_A2_roundsat
456
457/* ==========================================================================
458 Assembly Syntax: Rd32=sat(Rss32)
459 C Intrinsic Prototype: Word32 Q6_R_sat_P(Word64 Rss)
460 Instruction Type: S_2op
461 Execution Slots: SLOT23
462 ========================================================================== */
463
464#define Q6_R_sat_P __builtin_HEXAGON_A2_sat
465
466/* ==========================================================================
467 Assembly Syntax: Rd32=satb(Rs32)
468 C Intrinsic Prototype: Word32 Q6_R_satb_R(Word32 Rs)
469 Instruction Type: S_2op
470 Execution Slots: SLOT23
471 ========================================================================== */
472
473#define Q6_R_satb_R __builtin_HEXAGON_A2_satb
474
475/* ==========================================================================
476 Assembly Syntax: Rd32=sath(Rs32)
477 C Intrinsic Prototype: Word32 Q6_R_sath_R(Word32 Rs)
478 Instruction Type: S_2op
479 Execution Slots: SLOT23
480 ========================================================================== */
481
482#define Q6_R_sath_R __builtin_HEXAGON_A2_sath
483
484/* ==========================================================================
485 Assembly Syntax: Rd32=satub(Rs32)
486 C Intrinsic Prototype: Word32 Q6_R_satub_R(Word32 Rs)
487 Instruction Type: S_2op
488 Execution Slots: SLOT23
489 ========================================================================== */
490
491#define Q6_R_satub_R __builtin_HEXAGON_A2_satub
492
493/* ==========================================================================
494 Assembly Syntax: Rd32=satuh(Rs32)
495 C Intrinsic Prototype: Word32 Q6_R_satuh_R(Word32 Rs)
496 Instruction Type: S_2op
497 Execution Slots: SLOT23
498 ========================================================================== */
499
500#define Q6_R_satuh_R __builtin_HEXAGON_A2_satuh
501
502/* ==========================================================================
503 Assembly Syntax: Rd32=sub(Rt32,Rs32)
504 C Intrinsic Prototype: Word32 Q6_R_sub_RR(Word32 Rt, Word32 Rs)
505 Instruction Type: ALU32_3op
506 Execution Slots: SLOT0123
507 ========================================================================== */
508
509#define Q6_R_sub_RR __builtin_HEXAGON_A2_sub
510
511/* ==========================================================================
512 Assembly Syntax: Rd32=sub(Rt32.h,Rs32.h):<<16
513 C Intrinsic Prototype: Word32 Q6_R_sub_RhRh_s16(Word32 Rt, Word32 Rs)
514 Instruction Type: ALU64
515 Execution Slots: SLOT23
516 ========================================================================== */
517
518#define Q6_R_sub_RhRh_s16 __builtin_HEXAGON_A2_subh_h16_hh
519
520/* ==========================================================================
521 Assembly Syntax: Rd32=sub(Rt32.h,Rs32.l):<<16
522 C Intrinsic Prototype: Word32 Q6_R_sub_RhRl_s16(Word32 Rt, Word32 Rs)
523 Instruction Type: ALU64
524 Execution Slots: SLOT23
525 ========================================================================== */
526
527#define Q6_R_sub_RhRl_s16 __builtin_HEXAGON_A2_subh_h16_hl
528
529/* ==========================================================================
530 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.h):<<16
531 C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_s16(Word32 Rt, Word32 Rs)
532 Instruction Type: ALU64
533 Execution Slots: SLOT23
534 ========================================================================== */
535
536#define Q6_R_sub_RlRh_s16 __builtin_HEXAGON_A2_subh_h16_lh
537
538/* ==========================================================================
539 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.l):<<16
540 C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_s16(Word32 Rt, Word32 Rs)
541 Instruction Type: ALU64
542 Execution Slots: SLOT23
543 ========================================================================== */
544
545#define Q6_R_sub_RlRl_s16 __builtin_HEXAGON_A2_subh_h16_ll
546
547/* ==========================================================================
548 Assembly Syntax: Rd32=sub(Rt32.h,Rs32.h):sat:<<16
549 C Intrinsic Prototype: Word32 Q6_R_sub_RhRh_sat_s16(Word32 Rt, Word32 Rs)
550 Instruction Type: ALU64
551 Execution Slots: SLOT23
552 ========================================================================== */
553
554#define Q6_R_sub_RhRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hh
555
556/* ==========================================================================
557 Assembly Syntax: Rd32=sub(Rt32.h,Rs32.l):sat:<<16
558 C Intrinsic Prototype: Word32 Q6_R_sub_RhRl_sat_s16(Word32 Rt, Word32 Rs)
559 Instruction Type: ALU64
560 Execution Slots: SLOT23
561 ========================================================================== */
562
563#define Q6_R_sub_RhRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hl
564
565/* ==========================================================================
566 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.h):sat:<<16
567 C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_sat_s16(Word32 Rt, Word32 Rs)
568 Instruction Type: ALU64
569 Execution Slots: SLOT23
570 ========================================================================== */
571
572#define Q6_R_sub_RlRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_lh
573
574/* ==========================================================================
575 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.l):sat:<<16
576 C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_sat_s16(Word32 Rt, Word32 Rs)
577 Instruction Type: ALU64
578 Execution Slots: SLOT23
579 ========================================================================== */
580
581#define Q6_R_sub_RlRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_ll
582
583/* ==========================================================================
584 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.h)
585 C Intrinsic Prototype: Word32 Q6_R_sub_RlRh(Word32 Rt, Word32 Rs)
586 Instruction Type: ALU64
587 Execution Slots: SLOT23
588 ========================================================================== */
589
590#define Q6_R_sub_RlRh __builtin_HEXAGON_A2_subh_l16_hl
591
592/* ==========================================================================
593 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.l)
594 C Intrinsic Prototype: Word32 Q6_R_sub_RlRl(Word32 Rt, Word32 Rs)
595 Instruction Type: ALU64
596 Execution Slots: SLOT23
597 ========================================================================== */
598
599#define Q6_R_sub_RlRl __builtin_HEXAGON_A2_subh_l16_ll
600
601/* ==========================================================================
602 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.h):sat
603 C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_sat(Word32 Rt, Word32 Rs)
604 Instruction Type: ALU64
605 Execution Slots: SLOT23
606 ========================================================================== */
607
608#define Q6_R_sub_RlRh_sat __builtin_HEXAGON_A2_subh_l16_sat_hl
609
610/* ==========================================================================
611 Assembly Syntax: Rd32=sub(Rt32.l,Rs32.l):sat
612 C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_sat(Word32 Rt, Word32 Rs)
613 Instruction Type: ALU64
614 Execution Slots: SLOT23
615 ========================================================================== */
616
617#define Q6_R_sub_RlRl_sat __builtin_HEXAGON_A2_subh_l16_sat_ll
618
619/* ==========================================================================
620 Assembly Syntax: Rdd32=sub(Rtt32,Rss32)
621 C Intrinsic Prototype: Word64 Q6_P_sub_PP(Word64 Rtt, Word64 Rss)
622 Instruction Type: ALU64
623 Execution Slots: SLOT23
624 ========================================================================== */
625
626#define Q6_P_sub_PP __builtin_HEXAGON_A2_subp
627
628/* ==========================================================================
629 Assembly Syntax: Rd32=sub(#s10,Rs32)
630 C Intrinsic Prototype: Word32 Q6_R_sub_IR(Word32 Is10, Word32 Rs)
631 Instruction Type: ALU32_2op
632 Execution Slots: SLOT0123
633 ========================================================================== */
634
635#define Q6_R_sub_IR __builtin_HEXAGON_A2_subri
636
637/* ==========================================================================
638 Assembly Syntax: Rd32=sub(Rt32,Rs32):sat
639 C Intrinsic Prototype: Word32 Q6_R_sub_RR_sat(Word32 Rt, Word32 Rs)
640 Instruction Type: ALU32_3op
641 Execution Slots: SLOT0123
642 ========================================================================== */
643
644#define Q6_R_sub_RR_sat __builtin_HEXAGON_A2_subsat
645
646/* ==========================================================================
647 Assembly Syntax: Rd32=vaddh(Rs32,Rt32)
648 C Intrinsic Prototype: Word32 Q6_R_vaddh_RR(Word32 Rs, Word32 Rt)
649 Instruction Type: ALU32_3op
650 Execution Slots: SLOT0123
651 ========================================================================== */
652
653#define Q6_R_vaddh_RR __builtin_HEXAGON_A2_svaddh
654
655/* ==========================================================================
656 Assembly Syntax: Rd32=vaddh(Rs32,Rt32):sat
657 C Intrinsic Prototype: Word32 Q6_R_vaddh_RR_sat(Word32 Rs, Word32 Rt)
658 Instruction Type: ALU32_3op
659 Execution Slots: SLOT0123
660 ========================================================================== */
661
662#define Q6_R_vaddh_RR_sat __builtin_HEXAGON_A2_svaddhs
663
664/* ==========================================================================
665 Assembly Syntax: Rd32=vadduh(Rs32,Rt32):sat
666 C Intrinsic Prototype: Word32 Q6_R_vadduh_RR_sat(Word32 Rs, Word32 Rt)
667 Instruction Type: ALU32_3op
668 Execution Slots: SLOT0123
669 ========================================================================== */
670
671#define Q6_R_vadduh_RR_sat __builtin_HEXAGON_A2_svadduhs
672
673/* ==========================================================================
674 Assembly Syntax: Rd32=vavgh(Rs32,Rt32)
675 C Intrinsic Prototype: Word32 Q6_R_vavgh_RR(Word32 Rs, Word32 Rt)
676 Instruction Type: ALU32_3op
677 Execution Slots: SLOT0123
678 ========================================================================== */
679
680#define Q6_R_vavgh_RR __builtin_HEXAGON_A2_svavgh
681
682/* ==========================================================================
683 Assembly Syntax: Rd32=vavgh(Rs32,Rt32):rnd
684 C Intrinsic Prototype: Word32 Q6_R_vavgh_RR_rnd(Word32 Rs, Word32 Rt)
685 Instruction Type: ALU32_3op
686 Execution Slots: SLOT0123
687 ========================================================================== */
688
689#define Q6_R_vavgh_RR_rnd __builtin_HEXAGON_A2_svavghs
690
691/* ==========================================================================
692 Assembly Syntax: Rd32=vnavgh(Rt32,Rs32)
693 C Intrinsic Prototype: Word32 Q6_R_vnavgh_RR(Word32 Rt, Word32 Rs)
694 Instruction Type: ALU32_3op
695 Execution Slots: SLOT0123
696 ========================================================================== */
697
698#define Q6_R_vnavgh_RR __builtin_HEXAGON_A2_svnavgh
699
700/* ==========================================================================
701 Assembly Syntax: Rd32=vsubh(Rt32,Rs32)
702 C Intrinsic Prototype: Word32 Q6_R_vsubh_RR(Word32 Rt, Word32 Rs)
703 Instruction Type: ALU32_3op
704 Execution Slots: SLOT0123
705 ========================================================================== */
706
707#define Q6_R_vsubh_RR __builtin_HEXAGON_A2_svsubh
708
709/* ==========================================================================
710 Assembly Syntax: Rd32=vsubh(Rt32,Rs32):sat
711 C Intrinsic Prototype: Word32 Q6_R_vsubh_RR_sat(Word32 Rt, Word32 Rs)
712 Instruction Type: ALU32_3op
713 Execution Slots: SLOT0123
714 ========================================================================== */
715
716#define Q6_R_vsubh_RR_sat __builtin_HEXAGON_A2_svsubhs
717
718/* ==========================================================================
719 Assembly Syntax: Rd32=vsubuh(Rt32,Rs32):sat
720 C Intrinsic Prototype: Word32 Q6_R_vsubuh_RR_sat(Word32 Rt, Word32 Rs)
721 Instruction Type: ALU32_3op
722 Execution Slots: SLOT0123
723 ========================================================================== */
724
725#define Q6_R_vsubuh_RR_sat __builtin_HEXAGON_A2_svsubuhs
726
727/* ==========================================================================
728 Assembly Syntax: Rd32=swiz(Rs32)
729 C Intrinsic Prototype: Word32 Q6_R_swiz_R(Word32 Rs)
730 Instruction Type: S_2op
731 Execution Slots: SLOT23
732 ========================================================================== */
733
734#define Q6_R_swiz_R __builtin_HEXAGON_A2_swiz
735
736/* ==========================================================================
737 Assembly Syntax: Rd32=sxtb(Rs32)
738 C Intrinsic Prototype: Word32 Q6_R_sxtb_R(Word32 Rs)
739 Instruction Type: ALU32_2op
740 Execution Slots: SLOT0123
741 ========================================================================== */
742
743#define Q6_R_sxtb_R __builtin_HEXAGON_A2_sxtb
744
745/* ==========================================================================
746 Assembly Syntax: Rd32=sxth(Rs32)
747 C Intrinsic Prototype: Word32 Q6_R_sxth_R(Word32 Rs)
748 Instruction Type: ALU32_2op
749 Execution Slots: SLOT0123
750 ========================================================================== */
751
752#define Q6_R_sxth_R __builtin_HEXAGON_A2_sxth
753
754/* ==========================================================================
755 Assembly Syntax: Rdd32=sxtw(Rs32)
756 C Intrinsic Prototype: Word64 Q6_P_sxtw_R(Word32 Rs)
757 Instruction Type: S_2op
758 Execution Slots: SLOT23
759 ========================================================================== */
760
761#define Q6_P_sxtw_R __builtin_HEXAGON_A2_sxtw
762
763/* ==========================================================================
764 Assembly Syntax: Rd32=Rs32
765 C Intrinsic Prototype: Word32 Q6_R_equals_R(Word32 Rs)
766 Instruction Type: ALU32_2op
767 Execution Slots: SLOT0123
768 ========================================================================== */
769
770#define Q6_R_equals_R __builtin_HEXAGON_A2_tfr
771
772/* ==========================================================================
773 Assembly Syntax: Rx32.h=#u16
774 C Intrinsic Prototype: Word32 Q6_Rh_equals_I(Word32 Rx, Word32 Iu16)
775 Instruction Type: ALU32_2op
776 Execution Slots: SLOT0123
777 ========================================================================== */
778
779#define Q6_Rh_equals_I __builtin_HEXAGON_A2_tfrih
780
781/* ==========================================================================
782 Assembly Syntax: Rx32.l=#u16
783 C Intrinsic Prototype: Word32 Q6_Rl_equals_I(Word32 Rx, Word32 Iu16)
784 Instruction Type: ALU32_2op
785 Execution Slots: SLOT0123
786 ========================================================================== */
787
788#define Q6_Rl_equals_I __builtin_HEXAGON_A2_tfril
789
790/* ==========================================================================
791 Assembly Syntax: Rdd32=Rss32
792 C Intrinsic Prototype: Word64 Q6_P_equals_P(Word64 Rss)
793 Instruction Type: ALU32_2op
794 Execution Slots: SLOT0123
795 ========================================================================== */
796
797#define Q6_P_equals_P __builtin_HEXAGON_A2_tfrp
798
799/* ==========================================================================
800 Assembly Syntax: Rdd32=#s8
801 C Intrinsic Prototype: Word64 Q6_P_equals_I(Word32 Is8)
802 Instruction Type: ALU64
803 Execution Slots: SLOT0123
804 ========================================================================== */
805
806#define Q6_P_equals_I __builtin_HEXAGON_A2_tfrpi
807
808/* ==========================================================================
809 Assembly Syntax: Rd32=#s16
810 C Intrinsic Prototype: Word32 Q6_R_equals_I(Word32 Is16)
811 Instruction Type: ALU32_2op
812 Execution Slots: SLOT0123
813 ========================================================================== */
814
815#define Q6_R_equals_I __builtin_HEXAGON_A2_tfrsi
816
817/* ==========================================================================
818 Assembly Syntax: Rdd32=vabsh(Rss32)
819 C Intrinsic Prototype: Word64 Q6_P_vabsh_P(Word64 Rss)
820 Instruction Type: S_2op
821 Execution Slots: SLOT23
822 ========================================================================== */
823
824#define Q6_P_vabsh_P __builtin_HEXAGON_A2_vabsh
825
826/* ==========================================================================
827 Assembly Syntax: Rdd32=vabsh(Rss32):sat
828 C Intrinsic Prototype: Word64 Q6_P_vabsh_P_sat(Word64 Rss)
829 Instruction Type: S_2op
830 Execution Slots: SLOT23
831 ========================================================================== */
832
833#define Q6_P_vabsh_P_sat __builtin_HEXAGON_A2_vabshsat
834
835/* ==========================================================================
836 Assembly Syntax: Rdd32=vabsw(Rss32)
837 C Intrinsic Prototype: Word64 Q6_P_vabsw_P(Word64 Rss)
838 Instruction Type: S_2op
839 Execution Slots: SLOT23
840 ========================================================================== */
841
842#define Q6_P_vabsw_P __builtin_HEXAGON_A2_vabsw
843
844/* ==========================================================================
845 Assembly Syntax: Rdd32=vabsw(Rss32):sat
846 C Intrinsic Prototype: Word64 Q6_P_vabsw_P_sat(Word64 Rss)
847 Instruction Type: S_2op
848 Execution Slots: SLOT23
849 ========================================================================== */
850
851#define Q6_P_vabsw_P_sat __builtin_HEXAGON_A2_vabswsat
852
853/* ==========================================================================
854 Assembly Syntax: Rdd32=vaddb(Rss32,Rtt32)
855 C Intrinsic Prototype: Word64 Q6_P_vaddb_PP(Word64 Rss, Word64 Rtt)
856 Instruction Type: MAPPING
857 Execution Slots: SLOT0123
858 ========================================================================== */
859
860#define Q6_P_vaddb_PP __builtin_HEXAGON_A2_vaddb_map
861
862/* ==========================================================================
863 Assembly Syntax: Rdd32=vaddh(Rss32,Rtt32)
864 C Intrinsic Prototype: Word64 Q6_P_vaddh_PP(Word64 Rss, Word64 Rtt)
865 Instruction Type: ALU64
866 Execution Slots: SLOT23
867 ========================================================================== */
868
869#define Q6_P_vaddh_PP __builtin_HEXAGON_A2_vaddh
870
871/* ==========================================================================
872 Assembly Syntax: Rdd32=vaddh(Rss32,Rtt32):sat
873 C Intrinsic Prototype: Word64 Q6_P_vaddh_PP_sat(Word64 Rss, Word64 Rtt)
874 Instruction Type: ALU64
875 Execution Slots: SLOT23
876 ========================================================================== */
877
878#define Q6_P_vaddh_PP_sat __builtin_HEXAGON_A2_vaddhs
879
880/* ==========================================================================
881 Assembly Syntax: Rdd32=vaddub(Rss32,Rtt32)
882 C Intrinsic Prototype: Word64 Q6_P_vaddub_PP(Word64 Rss, Word64 Rtt)
883 Instruction Type: ALU64
884 Execution Slots: SLOT23
885 ========================================================================== */
886
887#define Q6_P_vaddub_PP __builtin_HEXAGON_A2_vaddub
888
889/* ==========================================================================
890 Assembly Syntax: Rdd32=vaddub(Rss32,Rtt32):sat
891 C Intrinsic Prototype: Word64 Q6_P_vaddub_PP_sat(Word64 Rss, Word64 Rtt)
892 Instruction Type: ALU64
893 Execution Slots: SLOT23
894 ========================================================================== */
895
896#define Q6_P_vaddub_PP_sat __builtin_HEXAGON_A2_vaddubs
897
898/* ==========================================================================
899 Assembly Syntax: Rdd32=vadduh(Rss32,Rtt32):sat
900 C Intrinsic Prototype: Word64 Q6_P_vadduh_PP_sat(Word64 Rss, Word64 Rtt)
901 Instruction Type: ALU64
902 Execution Slots: SLOT23
903 ========================================================================== */
904
905#define Q6_P_vadduh_PP_sat __builtin_HEXAGON_A2_vadduhs
906
907/* ==========================================================================
908 Assembly Syntax: Rdd32=vaddw(Rss32,Rtt32)
909 C Intrinsic Prototype: Word64 Q6_P_vaddw_PP(Word64 Rss, Word64 Rtt)
910 Instruction Type: ALU64
911 Execution Slots: SLOT23
912 ========================================================================== */
913
914#define Q6_P_vaddw_PP __builtin_HEXAGON_A2_vaddw
915
916/* ==========================================================================
917 Assembly Syntax: Rdd32=vaddw(Rss32,Rtt32):sat
918 C Intrinsic Prototype: Word64 Q6_P_vaddw_PP_sat(Word64 Rss, Word64 Rtt)
919 Instruction Type: ALU64
920 Execution Slots: SLOT23
921 ========================================================================== */
922
923#define Q6_P_vaddw_PP_sat __builtin_HEXAGON_A2_vaddws
924
925/* ==========================================================================
926 Assembly Syntax: Rdd32=vavgh(Rss32,Rtt32)
927 C Intrinsic Prototype: Word64 Q6_P_vavgh_PP(Word64 Rss, Word64 Rtt)
928 Instruction Type: ALU64
929 Execution Slots: SLOT23
930 ========================================================================== */
931
932#define Q6_P_vavgh_PP __builtin_HEXAGON_A2_vavgh
933
934/* ==========================================================================
935 Assembly Syntax: Rdd32=vavgh(Rss32,Rtt32):crnd
936 C Intrinsic Prototype: Word64 Q6_P_vavgh_PP_crnd(Word64 Rss, Word64 Rtt)
937 Instruction Type: ALU64
938 Execution Slots: SLOT23
939 ========================================================================== */
940
941#define Q6_P_vavgh_PP_crnd __builtin_HEXAGON_A2_vavghcr
942
943/* ==========================================================================
944 Assembly Syntax: Rdd32=vavgh(Rss32,Rtt32):rnd
945 C Intrinsic Prototype: Word64 Q6_P_vavgh_PP_rnd(Word64 Rss, Word64 Rtt)
946 Instruction Type: ALU64
947 Execution Slots: SLOT23
948 ========================================================================== */
949
950#define Q6_P_vavgh_PP_rnd __builtin_HEXAGON_A2_vavghr
951
952/* ==========================================================================
953 Assembly Syntax: Rdd32=vavgub(Rss32,Rtt32)
954 C Intrinsic Prototype: Word64 Q6_P_vavgub_PP(Word64 Rss, Word64 Rtt)
955 Instruction Type: ALU64
956 Execution Slots: SLOT23
957 ========================================================================== */
958
959#define Q6_P_vavgub_PP __builtin_HEXAGON_A2_vavgub
960
961/* ==========================================================================
962 Assembly Syntax: Rdd32=vavgub(Rss32,Rtt32):rnd
963 C Intrinsic Prototype: Word64 Q6_P_vavgub_PP_rnd(Word64 Rss, Word64 Rtt)
964 Instruction Type: ALU64
965 Execution Slots: SLOT23
966 ========================================================================== */
967
968#define Q6_P_vavgub_PP_rnd __builtin_HEXAGON_A2_vavgubr
969
970/* ==========================================================================
971 Assembly Syntax: Rdd32=vavguh(Rss32,Rtt32)
972 C Intrinsic Prototype: Word64 Q6_P_vavguh_PP(Word64 Rss, Word64 Rtt)
973 Instruction Type: ALU64
974 Execution Slots: SLOT23
975 ========================================================================== */
976
977#define Q6_P_vavguh_PP __builtin_HEXAGON_A2_vavguh
978
979/* ==========================================================================
980 Assembly Syntax: Rdd32=vavguh(Rss32,Rtt32):rnd
981 C Intrinsic Prototype: Word64 Q6_P_vavguh_PP_rnd(Word64 Rss, Word64 Rtt)
982 Instruction Type: ALU64
983 Execution Slots: SLOT23
984 ========================================================================== */
985
986#define Q6_P_vavguh_PP_rnd __builtin_HEXAGON_A2_vavguhr
987
988/* ==========================================================================
989 Assembly Syntax: Rdd32=vavguw(Rss32,Rtt32)
990 C Intrinsic Prototype: Word64 Q6_P_vavguw_PP(Word64 Rss, Word64 Rtt)
991 Instruction Type: ALU64
992 Execution Slots: SLOT23
993 ========================================================================== */
994
995#define Q6_P_vavguw_PP __builtin_HEXAGON_A2_vavguw
996
997/* ==========================================================================
998 Assembly Syntax: Rdd32=vavguw(Rss32,Rtt32):rnd
999 C Intrinsic Prototype: Word64 Q6_P_vavguw_PP_rnd(Word64 Rss, Word64 Rtt)
1000 Instruction Type: ALU64
1001 Execution Slots: SLOT23
1002 ========================================================================== */
1003
1004#define Q6_P_vavguw_PP_rnd __builtin_HEXAGON_A2_vavguwr
1005
1006/* ==========================================================================
1007 Assembly Syntax: Rdd32=vavgw(Rss32,Rtt32)
1008 C Intrinsic Prototype: Word64 Q6_P_vavgw_PP(Word64 Rss, Word64 Rtt)
1009 Instruction Type: ALU64
1010 Execution Slots: SLOT23
1011 ========================================================================== */
1012
1013#define Q6_P_vavgw_PP __builtin_HEXAGON_A2_vavgw
1014
1015/* ==========================================================================
1016 Assembly Syntax: Rdd32=vavgw(Rss32,Rtt32):crnd
1017 C Intrinsic Prototype: Word64 Q6_P_vavgw_PP_crnd(Word64 Rss, Word64 Rtt)
1018 Instruction Type: ALU64
1019 Execution Slots: SLOT23
1020 ========================================================================== */
1021
1022#define Q6_P_vavgw_PP_crnd __builtin_HEXAGON_A2_vavgwcr
1023
1024/* ==========================================================================
1025 Assembly Syntax: Rdd32=vavgw(Rss32,Rtt32):rnd
1026 C Intrinsic Prototype: Word64 Q6_P_vavgw_PP_rnd(Word64 Rss, Word64 Rtt)
1027 Instruction Type: ALU64
1028 Execution Slots: SLOT23
1029 ========================================================================== */
1030
1031#define Q6_P_vavgw_PP_rnd __builtin_HEXAGON_A2_vavgwr
1032
1033/* ==========================================================================
1034 Assembly Syntax: Pd4=vcmpb.eq(Rss32,Rtt32)
1035 C Intrinsic Prototype: Byte Q6_p_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
1036 Instruction Type: ALU64
1037 Execution Slots: SLOT23
1038 ========================================================================== */
1039
1040#define Q6_p_vcmpb_eq_PP __builtin_HEXAGON_A2_vcmpbeq
1041
1042/* ==========================================================================
1043 Assembly Syntax: Pd4=vcmpb.gtu(Rss32,Rtt32)
1044 C Intrinsic Prototype: Byte Q6_p_vcmpb_gtu_PP(Word64 Rss, Word64 Rtt)
1045 Instruction Type: ALU64
1046 Execution Slots: SLOT23
1047 ========================================================================== */
1048
1049#define Q6_p_vcmpb_gtu_PP __builtin_HEXAGON_A2_vcmpbgtu
1050
1051/* ==========================================================================
1052 Assembly Syntax: Pd4=vcmph.eq(Rss32,Rtt32)
1053 C Intrinsic Prototype: Byte Q6_p_vcmph_eq_PP(Word64 Rss, Word64 Rtt)
1054 Instruction Type: ALU64
1055 Execution Slots: SLOT23
1056 ========================================================================== */
1057
1058#define Q6_p_vcmph_eq_PP __builtin_HEXAGON_A2_vcmpheq
1059
1060/* ==========================================================================
1061 Assembly Syntax: Pd4=vcmph.gt(Rss32,Rtt32)
1062 C Intrinsic Prototype: Byte Q6_p_vcmph_gt_PP(Word64 Rss, Word64 Rtt)
1063 Instruction Type: ALU64
1064 Execution Slots: SLOT23
1065 ========================================================================== */
1066
1067#define Q6_p_vcmph_gt_PP __builtin_HEXAGON_A2_vcmphgt
1068
1069/* ==========================================================================
1070 Assembly Syntax: Pd4=vcmph.gtu(Rss32,Rtt32)
1071 C Intrinsic Prototype: Byte Q6_p_vcmph_gtu_PP(Word64 Rss, Word64 Rtt)
1072 Instruction Type: ALU64
1073 Execution Slots: SLOT23
1074 ========================================================================== */
1075
1076#define Q6_p_vcmph_gtu_PP __builtin_HEXAGON_A2_vcmphgtu
1077
1078/* ==========================================================================
1079 Assembly Syntax: Pd4=vcmpw.eq(Rss32,Rtt32)
1080 C Intrinsic Prototype: Byte Q6_p_vcmpw_eq_PP(Word64 Rss, Word64 Rtt)
1081 Instruction Type: ALU64
1082 Execution Slots: SLOT23
1083 ========================================================================== */
1084
1085#define Q6_p_vcmpw_eq_PP __builtin_HEXAGON_A2_vcmpweq
1086
1087/* ==========================================================================
1088 Assembly Syntax: Pd4=vcmpw.gt(Rss32,Rtt32)
1089 C Intrinsic Prototype: Byte Q6_p_vcmpw_gt_PP(Word64 Rss, Word64 Rtt)
1090 Instruction Type: ALU64
1091 Execution Slots: SLOT23
1092 ========================================================================== */
1093
1094#define Q6_p_vcmpw_gt_PP __builtin_HEXAGON_A2_vcmpwgt
1095
1096/* ==========================================================================
1097 Assembly Syntax: Pd4=vcmpw.gtu(Rss32,Rtt32)
1098 C Intrinsic Prototype: Byte Q6_p_vcmpw_gtu_PP(Word64 Rss, Word64 Rtt)
1099 Instruction Type: ALU64
1100 Execution Slots: SLOT23
1101 ========================================================================== */
1102
1103#define Q6_p_vcmpw_gtu_PP __builtin_HEXAGON_A2_vcmpwgtu
1104
1105/* ==========================================================================
1106 Assembly Syntax: Rdd32=vconj(Rss32):sat
1107 C Intrinsic Prototype: Word64 Q6_P_vconj_P_sat(Word64 Rss)
1108 Instruction Type: S_2op
1109 Execution Slots: SLOT23
1110 ========================================================================== */
1111
1112#define Q6_P_vconj_P_sat __builtin_HEXAGON_A2_vconj
1113
1114/* ==========================================================================
1115 Assembly Syntax: Rdd32=vmaxb(Rtt32,Rss32)
1116 C Intrinsic Prototype: Word64 Q6_P_vmaxb_PP(Word64 Rtt, Word64 Rss)
1117 Instruction Type: ALU64
1118 Execution Slots: SLOT23
1119 ========================================================================== */
1120
1121#define Q6_P_vmaxb_PP __builtin_HEXAGON_A2_vmaxb
1122
1123/* ==========================================================================
1124 Assembly Syntax: Rdd32=vmaxh(Rtt32,Rss32)
1125 C Intrinsic Prototype: Word64 Q6_P_vmaxh_PP(Word64 Rtt, Word64 Rss)
1126 Instruction Type: ALU64
1127 Execution Slots: SLOT23
1128 ========================================================================== */
1129
1130#define Q6_P_vmaxh_PP __builtin_HEXAGON_A2_vmaxh
1131
1132/* ==========================================================================
1133 Assembly Syntax: Rdd32=vmaxub(Rtt32,Rss32)
1134 C Intrinsic Prototype: Word64 Q6_P_vmaxub_PP(Word64 Rtt, Word64 Rss)
1135 Instruction Type: ALU64
1136 Execution Slots: SLOT23
1137 ========================================================================== */
1138
1139#define Q6_P_vmaxub_PP __builtin_HEXAGON_A2_vmaxub
1140
1141/* ==========================================================================
1142 Assembly Syntax: Rdd32=vmaxuh(Rtt32,Rss32)
1143 C Intrinsic Prototype: Word64 Q6_P_vmaxuh_PP(Word64 Rtt, Word64 Rss)
1144 Instruction Type: ALU64
1145 Execution Slots: SLOT23
1146 ========================================================================== */
1147
1148#define Q6_P_vmaxuh_PP __builtin_HEXAGON_A2_vmaxuh
1149
1150/* ==========================================================================
1151 Assembly Syntax: Rdd32=vmaxuw(Rtt32,Rss32)
1152 C Intrinsic Prototype: Word64 Q6_P_vmaxuw_PP(Word64 Rtt, Word64 Rss)
1153 Instruction Type: ALU64
1154 Execution Slots: SLOT23
1155 ========================================================================== */
1156
1157#define Q6_P_vmaxuw_PP __builtin_HEXAGON_A2_vmaxuw
1158
1159/* ==========================================================================
1160 Assembly Syntax: Rdd32=vmaxw(Rtt32,Rss32)
1161 C Intrinsic Prototype: Word64 Q6_P_vmaxw_PP(Word64 Rtt, Word64 Rss)
1162 Instruction Type: ALU64
1163 Execution Slots: SLOT23
1164 ========================================================================== */
1165
1166#define Q6_P_vmaxw_PP __builtin_HEXAGON_A2_vmaxw
1167
1168/* ==========================================================================
1169 Assembly Syntax: Rdd32=vminb(Rtt32,Rss32)
1170 C Intrinsic Prototype: Word64 Q6_P_vminb_PP(Word64 Rtt, Word64 Rss)
1171 Instruction Type: ALU64
1172 Execution Slots: SLOT23
1173 ========================================================================== */
1174
1175#define Q6_P_vminb_PP __builtin_HEXAGON_A2_vminb
1176
1177/* ==========================================================================
1178 Assembly Syntax: Rdd32=vminh(Rtt32,Rss32)
1179 C Intrinsic Prototype: Word64 Q6_P_vminh_PP(Word64 Rtt, Word64 Rss)
1180 Instruction Type: ALU64
1181 Execution Slots: SLOT23
1182 ========================================================================== */
1183
1184#define Q6_P_vminh_PP __builtin_HEXAGON_A2_vminh
1185
1186/* ==========================================================================
1187 Assembly Syntax: Rdd32=vminub(Rtt32,Rss32)
1188 C Intrinsic Prototype: Word64 Q6_P_vminub_PP(Word64 Rtt, Word64 Rss)
1189 Instruction Type: ALU64
1190 Execution Slots: SLOT23
1191 ========================================================================== */
1192
1193#define Q6_P_vminub_PP __builtin_HEXAGON_A2_vminub
1194
1195/* ==========================================================================
1196 Assembly Syntax: Rdd32=vminuh(Rtt32,Rss32)
1197 C Intrinsic Prototype: Word64 Q6_P_vminuh_PP(Word64 Rtt, Word64 Rss)
1198 Instruction Type: ALU64
1199 Execution Slots: SLOT23
1200 ========================================================================== */
1201
1202#define Q6_P_vminuh_PP __builtin_HEXAGON_A2_vminuh
1203
1204/* ==========================================================================
1205 Assembly Syntax: Rdd32=vminuw(Rtt32,Rss32)
1206 C Intrinsic Prototype: Word64 Q6_P_vminuw_PP(Word64 Rtt, Word64 Rss)
1207 Instruction Type: ALU64
1208 Execution Slots: SLOT23
1209 ========================================================================== */
1210
1211#define Q6_P_vminuw_PP __builtin_HEXAGON_A2_vminuw
1212
1213/* ==========================================================================
1214 Assembly Syntax: Rdd32=vminw(Rtt32,Rss32)
1215 C Intrinsic Prototype: Word64 Q6_P_vminw_PP(Word64 Rtt, Word64 Rss)
1216 Instruction Type: ALU64
1217 Execution Slots: SLOT23
1218 ========================================================================== */
1219
1220#define Q6_P_vminw_PP __builtin_HEXAGON_A2_vminw
1221
1222/* ==========================================================================
1223 Assembly Syntax: Rdd32=vnavgh(Rtt32,Rss32)
1224 C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP(Word64 Rtt, Word64 Rss)
1225 Instruction Type: ALU64
1226 Execution Slots: SLOT23
1227 ========================================================================== */
1228
1229#define Q6_P_vnavgh_PP __builtin_HEXAGON_A2_vnavgh
1230
1231/* ==========================================================================
1232 Assembly Syntax: Rdd32=vnavgh(Rtt32,Rss32):crnd:sat
1233 C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP_crnd_sat(Word64 Rtt, Word64 Rss)
1234 Instruction Type: ALU64
1235 Execution Slots: SLOT23
1236 ========================================================================== */
1237
1238#define Q6_P_vnavgh_PP_crnd_sat __builtin_HEXAGON_A2_vnavghcr
1239
1240/* ==========================================================================
1241 Assembly Syntax: Rdd32=vnavgh(Rtt32,Rss32):rnd:sat
1242 C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP_rnd_sat(Word64 Rtt, Word64 Rss)
1243 Instruction Type: ALU64
1244 Execution Slots: SLOT23
1245 ========================================================================== */
1246
1247#define Q6_P_vnavgh_PP_rnd_sat __builtin_HEXAGON_A2_vnavghr
1248
1249/* ==========================================================================
1250 Assembly Syntax: Rdd32=vnavgw(Rtt32,Rss32)
1251 C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP(Word64 Rtt, Word64 Rss)
1252 Instruction Type: ALU64
1253 Execution Slots: SLOT23
1254 ========================================================================== */
1255
1256#define Q6_P_vnavgw_PP __builtin_HEXAGON_A2_vnavgw
1257
1258/* ==========================================================================
1259 Assembly Syntax: Rdd32=vnavgw(Rtt32,Rss32):crnd:sat
1260 C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP_crnd_sat(Word64 Rtt, Word64 Rss)
1261 Instruction Type: ALU64
1262 Execution Slots: SLOT23
1263 ========================================================================== */
1264
1265#define Q6_P_vnavgw_PP_crnd_sat __builtin_HEXAGON_A2_vnavgwcr
1266
1267/* ==========================================================================
1268 Assembly Syntax: Rdd32=vnavgw(Rtt32,Rss32):rnd:sat
1269 C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP_rnd_sat(Word64 Rtt, Word64 Rss)
1270 Instruction Type: ALU64
1271 Execution Slots: SLOT23
1272 ========================================================================== */
1273
1274#define Q6_P_vnavgw_PP_rnd_sat __builtin_HEXAGON_A2_vnavgwr
1275
1276/* ==========================================================================
1277 Assembly Syntax: Rdd32=vraddub(Rss32,Rtt32)
1278 C Intrinsic Prototype: Word64 Q6_P_vraddub_PP(Word64 Rss, Word64 Rtt)
1279 Instruction Type: M
1280 Execution Slots: SLOT23
1281 ========================================================================== */
1282
1283#define Q6_P_vraddub_PP __builtin_HEXAGON_A2_vraddub
1284
1285/* ==========================================================================
1286 Assembly Syntax: Rxx32+=vraddub(Rss32,Rtt32)
1287 C Intrinsic Prototype: Word64 Q6_P_vraddubacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
1288 Instruction Type: M
1289 Execution Slots: SLOT23
1290 ========================================================================== */
1291
1292#define Q6_P_vraddubacc_PP __builtin_HEXAGON_A2_vraddub_acc
1293
1294/* ==========================================================================
1295 Assembly Syntax: Rdd32=vrsadub(Rss32,Rtt32)
1296 C Intrinsic Prototype: Word64 Q6_P_vrsadub_PP(Word64 Rss, Word64 Rtt)
1297 Instruction Type: M
1298 Execution Slots: SLOT23
1299 ========================================================================== */
1300
1301#define Q6_P_vrsadub_PP __builtin_HEXAGON_A2_vrsadub
1302
1303/* ==========================================================================
1304 Assembly Syntax: Rxx32+=vrsadub(Rss32,Rtt32)
1305 C Intrinsic Prototype: Word64 Q6_P_vrsadubacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
1306 Instruction Type: M
1307 Execution Slots: SLOT23
1308 ========================================================================== */
1309
1310#define Q6_P_vrsadubacc_PP __builtin_HEXAGON_A2_vrsadub_acc
1311
1312/* ==========================================================================
1313 Assembly Syntax: Rdd32=vsubb(Rss32,Rtt32)
1314 C Intrinsic Prototype: Word64 Q6_P_vsubb_PP(Word64 Rss, Word64 Rtt)
1315 Instruction Type: MAPPING
1316 Execution Slots: SLOT0123
1317 ========================================================================== */
1318
1319#define Q6_P_vsubb_PP __builtin_HEXAGON_A2_vsubb_map
1320
1321/* ==========================================================================
1322 Assembly Syntax: Rdd32=vsubh(Rtt32,Rss32)
1323 C Intrinsic Prototype: Word64 Q6_P_vsubh_PP(Word64 Rtt, Word64 Rss)
1324 Instruction Type: ALU64
1325 Execution Slots: SLOT23
1326 ========================================================================== */
1327
1328#define Q6_P_vsubh_PP __builtin_HEXAGON_A2_vsubh
1329
1330/* ==========================================================================
1331 Assembly Syntax: Rdd32=vsubh(Rtt32,Rss32):sat
1332 C Intrinsic Prototype: Word64 Q6_P_vsubh_PP_sat(Word64 Rtt, Word64 Rss)
1333 Instruction Type: ALU64
1334 Execution Slots: SLOT23
1335 ========================================================================== */
1336
1337#define Q6_P_vsubh_PP_sat __builtin_HEXAGON_A2_vsubhs
1338
1339/* ==========================================================================
1340 Assembly Syntax: Rdd32=vsubub(Rtt32,Rss32)
1341 C Intrinsic Prototype: Word64 Q6_P_vsubub_PP(Word64 Rtt, Word64 Rss)
1342 Instruction Type: ALU64
1343 Execution Slots: SLOT23
1344 ========================================================================== */
1345
1346#define Q6_P_vsubub_PP __builtin_HEXAGON_A2_vsubub
1347
1348/* ==========================================================================
1349 Assembly Syntax: Rdd32=vsubub(Rtt32,Rss32):sat
1350 C Intrinsic Prototype: Word64 Q6_P_vsubub_PP_sat(Word64 Rtt, Word64 Rss)
1351 Instruction Type: ALU64
1352 Execution Slots: SLOT23
1353 ========================================================================== */
1354
1355#define Q6_P_vsubub_PP_sat __builtin_HEXAGON_A2_vsububs
1356
1357/* ==========================================================================
1358 Assembly Syntax: Rdd32=vsubuh(Rtt32,Rss32):sat
1359 C Intrinsic Prototype: Word64 Q6_P_vsubuh_PP_sat(Word64 Rtt, Word64 Rss)
1360 Instruction Type: ALU64
1361 Execution Slots: SLOT23
1362 ========================================================================== */
1363
1364#define Q6_P_vsubuh_PP_sat __builtin_HEXAGON_A2_vsubuhs
1365
1366/* ==========================================================================
1367 Assembly Syntax: Rdd32=vsubw(Rtt32,Rss32)
1368 C Intrinsic Prototype: Word64 Q6_P_vsubw_PP(Word64 Rtt, Word64 Rss)
1369 Instruction Type: ALU64
1370 Execution Slots: SLOT23
1371 ========================================================================== */
1372
1373#define Q6_P_vsubw_PP __builtin_HEXAGON_A2_vsubw
1374
1375/* ==========================================================================
1376 Assembly Syntax: Rdd32=vsubw(Rtt32,Rss32):sat
1377 C Intrinsic Prototype: Word64 Q6_P_vsubw_PP_sat(Word64 Rtt, Word64 Rss)
1378 Instruction Type: ALU64
1379 Execution Slots: SLOT23
1380 ========================================================================== */
1381
1382#define Q6_P_vsubw_PP_sat __builtin_HEXAGON_A2_vsubws
1383
1384/* ==========================================================================
1385 Assembly Syntax: Rd32=xor(Rs32,Rt32)
1386 C Intrinsic Prototype: Word32 Q6_R_xor_RR(Word32 Rs, Word32 Rt)
1387 Instruction Type: ALU32_3op
1388 Execution Slots: SLOT0123
1389 ========================================================================== */
1390
1391#define Q6_R_xor_RR __builtin_HEXAGON_A2_xor
1392
1393/* ==========================================================================
1394 Assembly Syntax: Rdd32=xor(Rss32,Rtt32)
1395 C Intrinsic Prototype: Word64 Q6_P_xor_PP(Word64 Rss, Word64 Rtt)
1396 Instruction Type: ALU64
1397 Execution Slots: SLOT23
1398 ========================================================================== */
1399
1400#define Q6_P_xor_PP __builtin_HEXAGON_A2_xorp
1401
1402/* ==========================================================================
1403 Assembly Syntax: Rd32=zxtb(Rs32)
1404 C Intrinsic Prototype: Word32 Q6_R_zxtb_R(Word32 Rs)
1405 Instruction Type: ALU32_2op
1406 Execution Slots: SLOT0123
1407 ========================================================================== */
1408
1409#define Q6_R_zxtb_R __builtin_HEXAGON_A2_zxtb
1410
1411/* ==========================================================================
1412 Assembly Syntax: Rd32=zxth(Rs32)
1413 C Intrinsic Prototype: Word32 Q6_R_zxth_R(Word32 Rs)
1414 Instruction Type: ALU32_2op
1415 Execution Slots: SLOT0123
1416 ========================================================================== */
1417
1418#define Q6_R_zxth_R __builtin_HEXAGON_A2_zxth
1419
1420/* ==========================================================================
1421 Assembly Syntax: Rd32=and(Rt32,~Rs32)
1422 C Intrinsic Prototype: Word32 Q6_R_and_RnR(Word32 Rt, Word32 Rs)
1423 Instruction Type: ALU32_3op
1424 Execution Slots: SLOT0123
1425 ========================================================================== */
1426
1427#define Q6_R_and_RnR __builtin_HEXAGON_A4_andn
1428
1429/* ==========================================================================
1430 Assembly Syntax: Rdd32=and(Rtt32,~Rss32)
1431 C Intrinsic Prototype: Word64 Q6_P_and_PnP(Word64 Rtt, Word64 Rss)
1432 Instruction Type: ALU64
1433 Execution Slots: SLOT23
1434 ========================================================================== */
1435
1436#define Q6_P_and_PnP __builtin_HEXAGON_A4_andnp
1437
1438/* ==========================================================================
1439 Assembly Syntax: Rdd32=bitsplit(Rs32,Rt32)
1440 C Intrinsic Prototype: Word64 Q6_P_bitsplit_RR(Word32 Rs, Word32 Rt)
1441 Instruction Type: ALU64
1442 Execution Slots: SLOT23
1443 ========================================================================== */
1444
1445#define Q6_P_bitsplit_RR __builtin_HEXAGON_A4_bitsplit
1446
1447/* ==========================================================================
1448 Assembly Syntax: Rdd32=bitsplit(Rs32,#u5)
1449 C Intrinsic Prototype: Word64 Q6_P_bitsplit_RI(Word32 Rs, Word32 Iu5)
1450 Instruction Type: S_2op
1451 Execution Slots: SLOT23
1452 ========================================================================== */
1453
1454#define Q6_P_bitsplit_RI __builtin_HEXAGON_A4_bitspliti
1455
1456/* ==========================================================================
1457 Assembly Syntax: Pd4=boundscheck(Rs32,Rtt32)
1458 C Intrinsic Prototype: Byte Q6_p_boundscheck_RP(Word32 Rs, Word64 Rtt)
1459 Instruction Type: ALU64
1460 Execution Slots: SLOT0123
1461 ========================================================================== */
1462
1463#define Q6_p_boundscheck_RP __builtin_HEXAGON_A4_boundscheck
1464
1465/* ==========================================================================
1466 Assembly Syntax: Pd4=cmpb.eq(Rs32,Rt32)
1467 C Intrinsic Prototype: Byte Q6_p_cmpb_eq_RR(Word32 Rs, Word32 Rt)
1468 Instruction Type: S_3op
1469 Execution Slots: SLOT23
1470 ========================================================================== */
1471
1472#define Q6_p_cmpb_eq_RR __builtin_HEXAGON_A4_cmpbeq
1473
1474/* ==========================================================================
1475 Assembly Syntax: Pd4=cmpb.eq(Rs32,#u8)
1476 C Intrinsic Prototype: Byte Q6_p_cmpb_eq_RI(Word32 Rs, Word32 Iu8)
1477 Instruction Type: ALU64
1478 Execution Slots: SLOT23
1479 ========================================================================== */
1480
1481#define Q6_p_cmpb_eq_RI __builtin_HEXAGON_A4_cmpbeqi
1482
1483/* ==========================================================================
1484 Assembly Syntax: Pd4=cmpb.gt(Rs32,Rt32)
1485 C Intrinsic Prototype: Byte Q6_p_cmpb_gt_RR(Word32 Rs, Word32 Rt)
1486 Instruction Type: S_3op
1487 Execution Slots: SLOT23
1488 ========================================================================== */
1489
1490#define Q6_p_cmpb_gt_RR __builtin_HEXAGON_A4_cmpbgt
1491
1492/* ==========================================================================
1493 Assembly Syntax: Pd4=cmpb.gt(Rs32,#s8)
1494 C Intrinsic Prototype: Byte Q6_p_cmpb_gt_RI(Word32 Rs, Word32 Is8)
1495 Instruction Type: ALU64
1496 Execution Slots: SLOT23
1497 ========================================================================== */
1498
1499#define Q6_p_cmpb_gt_RI __builtin_HEXAGON_A4_cmpbgti
1500
1501/* ==========================================================================
1502 Assembly Syntax: Pd4=cmpb.gtu(Rs32,Rt32)
1503 C Intrinsic Prototype: Byte Q6_p_cmpb_gtu_RR(Word32 Rs, Word32 Rt)
1504 Instruction Type: S_3op
1505 Execution Slots: SLOT23
1506 ========================================================================== */
1507
1508#define Q6_p_cmpb_gtu_RR __builtin_HEXAGON_A4_cmpbgtu
1509
1510/* ==========================================================================
1511 Assembly Syntax: Pd4=cmpb.gtu(Rs32,#u7)
1512 C Intrinsic Prototype: Byte Q6_p_cmpb_gtu_RI(Word32 Rs, Word32 Iu7)
1513 Instruction Type: ALU64
1514 Execution Slots: SLOT23
1515 ========================================================================== */
1516
1517#define Q6_p_cmpb_gtu_RI __builtin_HEXAGON_A4_cmpbgtui
1518
1519/* ==========================================================================
1520 Assembly Syntax: Pd4=cmph.eq(Rs32,Rt32)
1521 C Intrinsic Prototype: Byte Q6_p_cmph_eq_RR(Word32 Rs, Word32 Rt)
1522 Instruction Type: S_3op
1523 Execution Slots: SLOT23
1524 ========================================================================== */
1525
1526#define Q6_p_cmph_eq_RR __builtin_HEXAGON_A4_cmpheq
1527
1528/* ==========================================================================
1529 Assembly Syntax: Pd4=cmph.eq(Rs32,#s8)
1530 C Intrinsic Prototype: Byte Q6_p_cmph_eq_RI(Word32 Rs, Word32 Is8)
1531 Instruction Type: ALU64
1532 Execution Slots: SLOT23
1533 ========================================================================== */
1534
1535#define Q6_p_cmph_eq_RI __builtin_HEXAGON_A4_cmpheqi
1536
1537/* ==========================================================================
1538 Assembly Syntax: Pd4=cmph.gt(Rs32,Rt32)
1539 C Intrinsic Prototype: Byte Q6_p_cmph_gt_RR(Word32 Rs, Word32 Rt)
1540 Instruction Type: S_3op
1541 Execution Slots: SLOT23
1542 ========================================================================== */
1543
1544#define Q6_p_cmph_gt_RR __builtin_HEXAGON_A4_cmphgt
1545
1546/* ==========================================================================
1547 Assembly Syntax: Pd4=cmph.gt(Rs32,#s8)
1548 C Intrinsic Prototype: Byte Q6_p_cmph_gt_RI(Word32 Rs, Word32 Is8)
1549 Instruction Type: ALU64
1550 Execution Slots: SLOT23
1551 ========================================================================== */
1552
1553#define Q6_p_cmph_gt_RI __builtin_HEXAGON_A4_cmphgti
1554
1555/* ==========================================================================
1556 Assembly Syntax: Pd4=cmph.gtu(Rs32,Rt32)
1557 C Intrinsic Prototype: Byte Q6_p_cmph_gtu_RR(Word32 Rs, Word32 Rt)
1558 Instruction Type: S_3op
1559 Execution Slots: SLOT23
1560 ========================================================================== */
1561
1562#define Q6_p_cmph_gtu_RR __builtin_HEXAGON_A4_cmphgtu
1563
1564/* ==========================================================================
1565 Assembly Syntax: Pd4=cmph.gtu(Rs32,#u7)
1566 C Intrinsic Prototype: Byte Q6_p_cmph_gtu_RI(Word32 Rs, Word32 Iu7)
1567 Instruction Type: ALU64
1568 Execution Slots: SLOT23
1569 ========================================================================== */
1570
1571#define Q6_p_cmph_gtu_RI __builtin_HEXAGON_A4_cmphgtui
1572
1573/* ==========================================================================
1574 Assembly Syntax: Rdd32=combine(#s8,Rs32)
1575 C Intrinsic Prototype: Word64 Q6_P_combine_IR(Word32 Is8, Word32 Rs)
1576 Instruction Type: ALU32_2op
1577 Execution Slots: SLOT0123
1578 ========================================================================== */
1579
1580#define Q6_P_combine_IR __builtin_HEXAGON_A4_combineir
1581
1582/* ==========================================================================
1583 Assembly Syntax: Rdd32=combine(Rs32,#s8)
1584 C Intrinsic Prototype: Word64 Q6_P_combine_RI(Word32 Rs, Word32 Is8)
1585 Instruction Type: ALU32_2op
1586 Execution Slots: SLOT0123
1587 ========================================================================== */
1588
1589#define Q6_P_combine_RI __builtin_HEXAGON_A4_combineri
1590
1591/* ==========================================================================
1592 Assembly Syntax: Rd32=cround(Rs32,#u5)
1593 C Intrinsic Prototype: Word32 Q6_R_cround_RI(Word32 Rs, Word32 Iu5)
1594 Instruction Type: S_2op
1595 Execution Slots: SLOT23
1596 ========================================================================== */
1597
1598#define Q6_R_cround_RI __builtin_HEXAGON_A4_cround_ri
1599
1600/* ==========================================================================
1601 Assembly Syntax: Rd32=cround(Rs32,Rt32)
1602 C Intrinsic Prototype: Word32 Q6_R_cround_RR(Word32 Rs, Word32 Rt)
1603 Instruction Type: S_3op
1604 Execution Slots: SLOT23
1605 ========================================================================== */
1606
1607#define Q6_R_cround_RR __builtin_HEXAGON_A4_cround_rr
1608
1609/* ==========================================================================
1610 Assembly Syntax: Rd32=modwrap(Rs32,Rt32)
1611 C Intrinsic Prototype: Word32 Q6_R_modwrap_RR(Word32 Rs, Word32 Rt)
1612 Instruction Type: ALU64
1613 Execution Slots: SLOT23
1614 ========================================================================== */
1615
1616#define Q6_R_modwrap_RR __builtin_HEXAGON_A4_modwrapu
1617
1618/* ==========================================================================
1619 Assembly Syntax: Rd32=or(Rt32,~Rs32)
1620 C Intrinsic Prototype: Word32 Q6_R_or_RnR(Word32 Rt, Word32 Rs)
1621 Instruction Type: ALU32_3op
1622 Execution Slots: SLOT0123
1623 ========================================================================== */
1624
1625#define Q6_R_or_RnR __builtin_HEXAGON_A4_orn
1626
1627/* ==========================================================================
1628 Assembly Syntax: Rdd32=or(Rtt32,~Rss32)
1629 C Intrinsic Prototype: Word64 Q6_P_or_PnP(Word64 Rtt, Word64 Rss)
1630 Instruction Type: ALU64
1631 Execution Slots: SLOT23
1632 ========================================================================== */
1633
1634#define Q6_P_or_PnP __builtin_HEXAGON_A4_ornp
1635
1636/* ==========================================================================
1637 Assembly Syntax: Rd32=cmp.eq(Rs32,Rt32)
1638 C Intrinsic Prototype: Word32 Q6_R_cmp_eq_RR(Word32 Rs, Word32 Rt)
1639 Instruction Type: ALU32_3op
1640 Execution Slots: SLOT0123
1641 ========================================================================== */
1642
1643#define Q6_R_cmp_eq_RR __builtin_HEXAGON_A4_rcmpeq
1644
1645/* ==========================================================================
1646 Assembly Syntax: Rd32=cmp.eq(Rs32,#s8)
1647 C Intrinsic Prototype: Word32 Q6_R_cmp_eq_RI(Word32 Rs, Word32 Is8)
1648 Instruction Type: ALU32_2op
1649 Execution Slots: SLOT0123
1650 ========================================================================== */
1651
1652#define Q6_R_cmp_eq_RI __builtin_HEXAGON_A4_rcmpeqi
1653
1654/* ==========================================================================
1655 Assembly Syntax: Rd32=!cmp.eq(Rs32,Rt32)
1656 C Intrinsic Prototype: Word32 Q6_R_not_cmp_eq_RR(Word32 Rs, Word32 Rt)
1657 Instruction Type: ALU32_3op
1658 Execution Slots: SLOT0123
1659 ========================================================================== */
1660
1661#define Q6_R_not_cmp_eq_RR __builtin_HEXAGON_A4_rcmpneq
1662
1663/* ==========================================================================
1664 Assembly Syntax: Rd32=!cmp.eq(Rs32,#s8)
1665 C Intrinsic Prototype: Word32 Q6_R_not_cmp_eq_RI(Word32 Rs, Word32 Is8)
1666 Instruction Type: ALU32_2op
1667 Execution Slots: SLOT0123
1668 ========================================================================== */
1669
1670#define Q6_R_not_cmp_eq_RI __builtin_HEXAGON_A4_rcmpneqi
1671
1672/* ==========================================================================
1673 Assembly Syntax: Rd32=round(Rs32,#u5)
1674 C Intrinsic Prototype: Word32 Q6_R_round_RI(Word32 Rs, Word32 Iu5)
1675 Instruction Type: S_2op
1676 Execution Slots: SLOT23
1677 ========================================================================== */
1678
1679#define Q6_R_round_RI __builtin_HEXAGON_A4_round_ri
1680
1681/* ==========================================================================
1682 Assembly Syntax: Rd32=round(Rs32,#u5):sat
1683 C Intrinsic Prototype: Word32 Q6_R_round_RI_sat(Word32 Rs, Word32 Iu5)
1684 Instruction Type: S_2op
1685 Execution Slots: SLOT23
1686 ========================================================================== */
1687
1688#define Q6_R_round_RI_sat __builtin_HEXAGON_A4_round_ri_sat
1689
1690/* ==========================================================================
1691 Assembly Syntax: Rd32=round(Rs32,Rt32)
1692 C Intrinsic Prototype: Word32 Q6_R_round_RR(Word32 Rs, Word32 Rt)
1693 Instruction Type: S_3op
1694 Execution Slots: SLOT23
1695 ========================================================================== */
1696
1697#define Q6_R_round_RR __builtin_HEXAGON_A4_round_rr
1698
1699/* ==========================================================================
1700 Assembly Syntax: Rd32=round(Rs32,Rt32):sat
1701 C Intrinsic Prototype: Word32 Q6_R_round_RR_sat(Word32 Rs, Word32 Rt)
1702 Instruction Type: S_3op
1703 Execution Slots: SLOT23
1704 ========================================================================== */
1705
1706#define Q6_R_round_RR_sat __builtin_HEXAGON_A4_round_rr_sat
1707
1708/* ==========================================================================
1709 Assembly Syntax: Pd4=tlbmatch(Rss32,Rt32)
1710 C Intrinsic Prototype: Byte Q6_p_tlbmatch_PR(Word64 Rss, Word32 Rt)
1711 Instruction Type: ALU64
1712 Execution Slots: SLOT23
1713 ========================================================================== */
1714
1715#define Q6_p_tlbmatch_PR __builtin_HEXAGON_A4_tlbmatch
1716
1717/* ==========================================================================
1718 Assembly Syntax: Pd4=any8(vcmpb.eq(Rss32,Rtt32))
1719 C Intrinsic Prototype: Byte Q6_p_any8_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
1720 Instruction Type: ALU64
1721 Execution Slots: SLOT23
1722 ========================================================================== */
1723
1724#define Q6_p_any8_vcmpb_eq_PP __builtin_HEXAGON_A4_vcmpbeq_any
1725
1726/* ==========================================================================
1727 Assembly Syntax: Pd4=vcmpb.eq(Rss32,#u8)
1728 C Intrinsic Prototype: Byte Q6_p_vcmpb_eq_PI(Word64 Rss, Word32 Iu8)
1729 Instruction Type: ALU64
1730 Execution Slots: SLOT23
1731 ========================================================================== */
1732
1733#define Q6_p_vcmpb_eq_PI __builtin_HEXAGON_A4_vcmpbeqi
1734
1735/* ==========================================================================
1736 Assembly Syntax: Pd4=vcmpb.gt(Rss32,Rtt32)
1737 C Intrinsic Prototype: Byte Q6_p_vcmpb_gt_PP(Word64 Rss, Word64 Rtt)
1738 Instruction Type: ALU64
1739 Execution Slots: SLOT23
1740 ========================================================================== */
1741
1742#define Q6_p_vcmpb_gt_PP __builtin_HEXAGON_A4_vcmpbgt
1743
1744/* ==========================================================================
1745 Assembly Syntax: Pd4=vcmpb.gt(Rss32,#s8)
1746 C Intrinsic Prototype: Byte Q6_p_vcmpb_gt_PI(Word64 Rss, Word32 Is8)
1747 Instruction Type: ALU64
1748 Execution Slots: SLOT23
1749 ========================================================================== */
1750
1751#define Q6_p_vcmpb_gt_PI __builtin_HEXAGON_A4_vcmpbgti
1752
1753/* ==========================================================================
1754 Assembly Syntax: Pd4=vcmpb.gtu(Rss32,#u7)
1755 C Intrinsic Prototype: Byte Q6_p_vcmpb_gtu_PI(Word64 Rss, Word32 Iu7)
1756 Instruction Type: ALU64
1757 Execution Slots: SLOT23
1758 ========================================================================== */
1759
1760#define Q6_p_vcmpb_gtu_PI __builtin_HEXAGON_A4_vcmpbgtui
1761
1762/* ==========================================================================
1763 Assembly Syntax: Pd4=vcmph.eq(Rss32,#s8)
1764 C Intrinsic Prototype: Byte Q6_p_vcmph_eq_PI(Word64 Rss, Word32 Is8)
1765 Instruction Type: ALU64
1766 Execution Slots: SLOT23
1767 ========================================================================== */
1768
1769#define Q6_p_vcmph_eq_PI __builtin_HEXAGON_A4_vcmpheqi
1770
1771/* ==========================================================================
1772 Assembly Syntax: Pd4=vcmph.gt(Rss32,#s8)
1773 C Intrinsic Prototype: Byte Q6_p_vcmph_gt_PI(Word64 Rss, Word32 Is8)
1774 Instruction Type: ALU64
1775 Execution Slots: SLOT23
1776 ========================================================================== */
1777
1778#define Q6_p_vcmph_gt_PI __builtin_HEXAGON_A4_vcmphgti
1779
1780/* ==========================================================================
1781 Assembly Syntax: Pd4=vcmph.gtu(Rss32,#u7)
1782 C Intrinsic Prototype: Byte Q6_p_vcmph_gtu_PI(Word64 Rss, Word32 Iu7)
1783 Instruction Type: ALU64
1784 Execution Slots: SLOT23
1785 ========================================================================== */
1786
1787#define Q6_p_vcmph_gtu_PI __builtin_HEXAGON_A4_vcmphgtui
1788
1789/* ==========================================================================
1790 Assembly Syntax: Pd4=vcmpw.eq(Rss32,#s8)
1791 C Intrinsic Prototype: Byte Q6_p_vcmpw_eq_PI(Word64 Rss, Word32 Is8)
1792 Instruction Type: ALU64
1793 Execution Slots: SLOT23
1794 ========================================================================== */
1795
1796#define Q6_p_vcmpw_eq_PI __builtin_HEXAGON_A4_vcmpweqi
1797
1798/* ==========================================================================
1799 Assembly Syntax: Pd4=vcmpw.gt(Rss32,#s8)
1800 C Intrinsic Prototype: Byte Q6_p_vcmpw_gt_PI(Word64 Rss, Word32 Is8)
1801 Instruction Type: ALU64
1802 Execution Slots: SLOT23
1803 ========================================================================== */
1804
1805#define Q6_p_vcmpw_gt_PI __builtin_HEXAGON_A4_vcmpwgti
1806
1807/* ==========================================================================
1808 Assembly Syntax: Pd4=vcmpw.gtu(Rss32,#u7)
1809 C Intrinsic Prototype: Byte Q6_p_vcmpw_gtu_PI(Word64 Rss, Word32 Iu7)
1810 Instruction Type: ALU64
1811 Execution Slots: SLOT23
1812 ========================================================================== */
1813
1814#define Q6_p_vcmpw_gtu_PI __builtin_HEXAGON_A4_vcmpwgtui
1815
1816/* ==========================================================================
1817 Assembly Syntax: Rxx32=vrmaxh(Rss32,Ru32)
1818 C Intrinsic Prototype: Word64 Q6_P_vrmaxh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1819 Instruction Type: S_3op
1820 Execution Slots: SLOT23
1821 ========================================================================== */
1822
1823#define Q6_P_vrmaxh_PR __builtin_HEXAGON_A4_vrmaxh
1824
1825/* ==========================================================================
1826 Assembly Syntax: Rxx32=vrmaxuh(Rss32,Ru32)
1827 C Intrinsic Prototype: Word64 Q6_P_vrmaxuh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1828 Instruction Type: S_3op
1829 Execution Slots: SLOT23
1830 ========================================================================== */
1831
1832#define Q6_P_vrmaxuh_PR __builtin_HEXAGON_A4_vrmaxuh
1833
1834/* ==========================================================================
1835 Assembly Syntax: Rxx32=vrmaxuw(Rss32,Ru32)
1836 C Intrinsic Prototype: Word64 Q6_P_vrmaxuw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1837 Instruction Type: S_3op
1838 Execution Slots: SLOT23
1839 ========================================================================== */
1840
1841#define Q6_P_vrmaxuw_PR __builtin_HEXAGON_A4_vrmaxuw
1842
1843/* ==========================================================================
1844 Assembly Syntax: Rxx32=vrmaxw(Rss32,Ru32)
1845 C Intrinsic Prototype: Word64 Q6_P_vrmaxw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1846 Instruction Type: S_3op
1847 Execution Slots: SLOT23
1848 ========================================================================== */
1849
1850#define Q6_P_vrmaxw_PR __builtin_HEXAGON_A4_vrmaxw
1851
1852/* ==========================================================================
1853 Assembly Syntax: Rxx32=vrminh(Rss32,Ru32)
1854 C Intrinsic Prototype: Word64 Q6_P_vrminh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1855 Instruction Type: S_3op
1856 Execution Slots: SLOT23
1857 ========================================================================== */
1858
1859#define Q6_P_vrminh_PR __builtin_HEXAGON_A4_vrminh
1860
1861/* ==========================================================================
1862 Assembly Syntax: Rxx32=vrminuh(Rss32,Ru32)
1863 C Intrinsic Prototype: Word64 Q6_P_vrminuh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1864 Instruction Type: S_3op
1865 Execution Slots: SLOT23
1866 ========================================================================== */
1867
1868#define Q6_P_vrminuh_PR __builtin_HEXAGON_A4_vrminuh
1869
1870/* ==========================================================================
1871 Assembly Syntax: Rxx32=vrminuw(Rss32,Ru32)
1872 C Intrinsic Prototype: Word64 Q6_P_vrminuw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1873 Instruction Type: S_3op
1874 Execution Slots: SLOT23
1875 ========================================================================== */
1876
1877#define Q6_P_vrminuw_PR __builtin_HEXAGON_A4_vrminuw
1878
1879/* ==========================================================================
1880 Assembly Syntax: Rxx32=vrminw(Rss32,Ru32)
1881 C Intrinsic Prototype: Word64 Q6_P_vrminw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
1882 Instruction Type: S_3op
1883 Execution Slots: SLOT23
1884 ========================================================================== */
1885
1886#define Q6_P_vrminw_PR __builtin_HEXAGON_A4_vrminw
1887
1888/* ==========================================================================
1889 Assembly Syntax: Rd32=vaddhub(Rss32,Rtt32):sat
1890 C Intrinsic Prototype: Word32 Q6_R_vaddhub_PP_sat(Word64 Rss, Word64 Rtt)
1891 Instruction Type: S_3op
1892 Execution Slots: SLOT23
1893 ========================================================================== */
1894
1895#define Q6_R_vaddhub_PP_sat __builtin_HEXAGON_A5_vaddhubs
1896
1897/* ==========================================================================
1898 Assembly Syntax: Pd4=all8(Ps4)
1899 C Intrinsic Prototype: Byte Q6_p_all8_p(Byte Ps)
1900 Instruction Type: CR
1901 Execution Slots: SLOT23
1902 ========================================================================== */
1903
1904#define Q6_p_all8_p __builtin_HEXAGON_C2_all8
1905
1906/* ==========================================================================
1907 Assembly Syntax: Pd4=and(Pt4,Ps4)
1908 C Intrinsic Prototype: Byte Q6_p_and_pp(Byte Pt, Byte Ps)
1909 Instruction Type: CR
1910 Execution Slots: SLOT23
1911 ========================================================================== */
1912
1913#define Q6_p_and_pp __builtin_HEXAGON_C2_and
1914
1915/* ==========================================================================
1916 Assembly Syntax: Pd4=and(Pt4,!Ps4)
1917 C Intrinsic Prototype: Byte Q6_p_and_pnp(Byte Pt, Byte Ps)
1918 Instruction Type: CR
1919 Execution Slots: SLOT23
1920 ========================================================================== */
1921
1922#define Q6_p_and_pnp __builtin_HEXAGON_C2_andn
1923
1924/* ==========================================================================
1925 Assembly Syntax: Pd4=any8(Ps4)
1926 C Intrinsic Prototype: Byte Q6_p_any8_p(Byte Ps)
1927 Instruction Type: CR
1928 Execution Slots: SLOT23
1929 ========================================================================== */
1930
1931#define Q6_p_any8_p __builtin_HEXAGON_C2_any8
1932
1933/* ==========================================================================
1934 Assembly Syntax: Pd4=bitsclr(Rs32,Rt32)
1935 C Intrinsic Prototype: Byte Q6_p_bitsclr_RR(Word32 Rs, Word32 Rt)
1936 Instruction Type: S_3op
1937 Execution Slots: SLOT23
1938 ========================================================================== */
1939
1940#define Q6_p_bitsclr_RR __builtin_HEXAGON_C2_bitsclr
1941
1942/* ==========================================================================
1943 Assembly Syntax: Pd4=bitsclr(Rs32,#u6)
1944 C Intrinsic Prototype: Byte Q6_p_bitsclr_RI(Word32 Rs, Word32 Iu6)
1945 Instruction Type: S_2op
1946 Execution Slots: SLOT23
1947 ========================================================================== */
1948
1949#define Q6_p_bitsclr_RI __builtin_HEXAGON_C2_bitsclri
1950
1951/* ==========================================================================
1952 Assembly Syntax: Pd4=bitsset(Rs32,Rt32)
1953 C Intrinsic Prototype: Byte Q6_p_bitsset_RR(Word32 Rs, Word32 Rt)
1954 Instruction Type: S_3op
1955 Execution Slots: SLOT23
1956 ========================================================================== */
1957
1958#define Q6_p_bitsset_RR __builtin_HEXAGON_C2_bitsset
1959
1960/* ==========================================================================
1961 Assembly Syntax: Pd4=cmp.eq(Rs32,Rt32)
1962 C Intrinsic Prototype: Byte Q6_p_cmp_eq_RR(Word32 Rs, Word32 Rt)
1963 Instruction Type: ALU32_3op
1964 Execution Slots: SLOT0123
1965 ========================================================================== */
1966
1967#define Q6_p_cmp_eq_RR __builtin_HEXAGON_C2_cmpeq
1968
1969/* ==========================================================================
1970 Assembly Syntax: Pd4=cmp.eq(Rs32,#s10)
1971 C Intrinsic Prototype: Byte Q6_p_cmp_eq_RI(Word32 Rs, Word32 Is10)
1972 Instruction Type: ALU32_2op
1973 Execution Slots: SLOT0123
1974 ========================================================================== */
1975
1976#define Q6_p_cmp_eq_RI __builtin_HEXAGON_C2_cmpeqi
1977
1978/* ==========================================================================
1979 Assembly Syntax: Pd4=cmp.eq(Rss32,Rtt32)
1980 C Intrinsic Prototype: Byte Q6_p_cmp_eq_PP(Word64 Rss, Word64 Rtt)
1981 Instruction Type: ALU64
1982 Execution Slots: SLOT23
1983 ========================================================================== */
1984
1985#define Q6_p_cmp_eq_PP __builtin_HEXAGON_C2_cmpeqp
1986
1987/* ==========================================================================
1988 Assembly Syntax: Pd4=cmp.ge(Rs32,#s8)
1989 C Intrinsic Prototype: Byte Q6_p_cmp_ge_RI(Word32 Rs, Word32 Is8)
1990 Instruction Type: ALU32_2op
1991 Execution Slots: SLOT0123
1992 ========================================================================== */
1993
1994#define Q6_p_cmp_ge_RI __builtin_HEXAGON_C2_cmpgei
1995
1996/* ==========================================================================
1997 Assembly Syntax: Pd4=cmp.geu(Rs32,#u8)
1998 C Intrinsic Prototype: Byte Q6_p_cmp_geu_RI(Word32 Rs, Word32 Iu8)
1999 Instruction Type: ALU32_2op
2000 Execution Slots: SLOT0123
2001 ========================================================================== */
2002
2003#define Q6_p_cmp_geu_RI __builtin_HEXAGON_C2_cmpgeui
2004
2005/* ==========================================================================
2006 Assembly Syntax: Pd4=cmp.gt(Rs32,Rt32)
2007 C Intrinsic Prototype: Byte Q6_p_cmp_gt_RR(Word32 Rs, Word32 Rt)
2008 Instruction Type: ALU32_3op
2009 Execution Slots: SLOT0123
2010 ========================================================================== */
2011
2012#define Q6_p_cmp_gt_RR __builtin_HEXAGON_C2_cmpgt
2013
2014/* ==========================================================================
2015 Assembly Syntax: Pd4=cmp.gt(Rs32,#s10)
2016 C Intrinsic Prototype: Byte Q6_p_cmp_gt_RI(Word32 Rs, Word32 Is10)
2017 Instruction Type: ALU32_2op
2018 Execution Slots: SLOT0123
2019 ========================================================================== */
2020
2021#define Q6_p_cmp_gt_RI __builtin_HEXAGON_C2_cmpgti
2022
2023/* ==========================================================================
2024 Assembly Syntax: Pd4=cmp.gt(Rss32,Rtt32)
2025 C Intrinsic Prototype: Byte Q6_p_cmp_gt_PP(Word64 Rss, Word64 Rtt)
2026 Instruction Type: ALU64
2027 Execution Slots: SLOT23
2028 ========================================================================== */
2029
2030#define Q6_p_cmp_gt_PP __builtin_HEXAGON_C2_cmpgtp
2031
2032/* ==========================================================================
2033 Assembly Syntax: Pd4=cmp.gtu(Rs32,Rt32)
2034 C Intrinsic Prototype: Byte Q6_p_cmp_gtu_RR(Word32 Rs, Word32 Rt)
2035 Instruction Type: ALU32_3op
2036 Execution Slots: SLOT0123
2037 ========================================================================== */
2038
2039#define Q6_p_cmp_gtu_RR __builtin_HEXAGON_C2_cmpgtu
2040
2041/* ==========================================================================
2042 Assembly Syntax: Pd4=cmp.gtu(Rs32,#u9)
2043 C Intrinsic Prototype: Byte Q6_p_cmp_gtu_RI(Word32 Rs, Word32 Iu9)
2044 Instruction Type: ALU32_2op
2045 Execution Slots: SLOT0123
2046 ========================================================================== */
2047
2048#define Q6_p_cmp_gtu_RI __builtin_HEXAGON_C2_cmpgtui
2049
2050/* ==========================================================================
2051 Assembly Syntax: Pd4=cmp.gtu(Rss32,Rtt32)
2052 C Intrinsic Prototype: Byte Q6_p_cmp_gtu_PP(Word64 Rss, Word64 Rtt)
2053 Instruction Type: ALU64
2054 Execution Slots: SLOT23
2055 ========================================================================== */
2056
2057#define Q6_p_cmp_gtu_PP __builtin_HEXAGON_C2_cmpgtup
2058
2059/* ==========================================================================
2060 Assembly Syntax: Pd4=cmp.lt(Rs32,Rt32)
2061 C Intrinsic Prototype: Byte Q6_p_cmp_lt_RR(Word32 Rs, Word32 Rt)
2062 Instruction Type: ALU32_3op
2063 Execution Slots: SLOT0123
2064 ========================================================================== */
2065
2066#define Q6_p_cmp_lt_RR __builtin_HEXAGON_C2_cmplt
2067
2068/* ==========================================================================
2069 Assembly Syntax: Pd4=cmp.ltu(Rs32,Rt32)
2070 C Intrinsic Prototype: Byte Q6_p_cmp_ltu_RR(Word32 Rs, Word32 Rt)
2071 Instruction Type: ALU32_3op
2072 Execution Slots: SLOT0123
2073 ========================================================================== */
2074
2075#define Q6_p_cmp_ltu_RR __builtin_HEXAGON_C2_cmpltu
2076
2077/* ==========================================================================
2078 Assembly Syntax: Rdd32=mask(Pt4)
2079 C Intrinsic Prototype: Word64 Q6_P_mask_p(Byte Pt)
2080 Instruction Type: S_2op
2081 Execution Slots: SLOT23
2082 ========================================================================== */
2083
2084#define Q6_P_mask_p __builtin_HEXAGON_C2_mask
2085
2086/* ==========================================================================
2087 Assembly Syntax: Rd32=mux(Pu4,Rs32,Rt32)
2088 C Intrinsic Prototype: Word32 Q6_R_mux_pRR(Byte Pu, Word32 Rs, Word32 Rt)
2089 Instruction Type: ALU32_3op
2090 Execution Slots: SLOT0123
2091 ========================================================================== */
2092
2093#define Q6_R_mux_pRR __builtin_HEXAGON_C2_mux
2094
2095/* ==========================================================================
2096 Assembly Syntax: Rd32=mux(Pu4,#s8,#S8)
2097 C Intrinsic Prototype: Word32 Q6_R_mux_pII(Byte Pu, Word32 Is8, Word32 IS8)
2098 Instruction Type: ALU32_2op
2099 Execution Slots: SLOT0123
2100 ========================================================================== */
2101
2102#define Q6_R_mux_pII __builtin_HEXAGON_C2_muxii
2103
2104/* ==========================================================================
2105 Assembly Syntax: Rd32=mux(Pu4,Rs32,#s8)
2106 C Intrinsic Prototype: Word32 Q6_R_mux_pRI(Byte Pu, Word32 Rs, Word32 Is8)
2107 Instruction Type: ALU32_2op
2108 Execution Slots: SLOT0123
2109 ========================================================================== */
2110
2111#define Q6_R_mux_pRI __builtin_HEXAGON_C2_muxir
2112
2113/* ==========================================================================
2114 Assembly Syntax: Rd32=mux(Pu4,#s8,Rs32)
2115 C Intrinsic Prototype: Word32 Q6_R_mux_pIR(Byte Pu, Word32 Is8, Word32 Rs)
2116 Instruction Type: ALU32_2op
2117 Execution Slots: SLOT0123
2118 ========================================================================== */
2119
2120#define Q6_R_mux_pIR __builtin_HEXAGON_C2_muxri
2121
2122/* ==========================================================================
2123 Assembly Syntax: Pd4=not(Ps4)
2124 C Intrinsic Prototype: Byte Q6_p_not_p(Byte Ps)
2125 Instruction Type: CR
2126 Execution Slots: SLOT23
2127 ========================================================================== */
2128
2129#define Q6_p_not_p __builtin_HEXAGON_C2_not
2130
2131/* ==========================================================================
2132 Assembly Syntax: Pd4=or(Pt4,Ps4)
2133 C Intrinsic Prototype: Byte Q6_p_or_pp(Byte Pt, Byte Ps)
2134 Instruction Type: CR
2135 Execution Slots: SLOT23
2136 ========================================================================== */
2137
2138#define Q6_p_or_pp __builtin_HEXAGON_C2_or
2139
2140/* ==========================================================================
2141 Assembly Syntax: Pd4=or(Pt4,!Ps4)
2142 C Intrinsic Prototype: Byte Q6_p_or_pnp(Byte Pt, Byte Ps)
2143 Instruction Type: CR
2144 Execution Slots: SLOT23
2145 ========================================================================== */
2146
2147#define Q6_p_or_pnp __builtin_HEXAGON_C2_orn
2148
2149/* ==========================================================================
2150 Assembly Syntax: Pd4=Ps4
2151 C Intrinsic Prototype: Byte Q6_p_equals_p(Byte Ps)
2152 Instruction Type: MAPPING
2153 Execution Slots: SLOT0123
2154 ========================================================================== */
2155
2156#define Q6_p_equals_p __builtin_HEXAGON_C2_pxfer_map
2157
2158/* ==========================================================================
2159 Assembly Syntax: Rd32=Ps4
2160 C Intrinsic Prototype: Word32 Q6_R_equals_p(Byte Ps)
2161 Instruction Type: S_2op
2162 Execution Slots: SLOT23
2163 ========================================================================== */
2164
2165#define Q6_R_equals_p __builtin_HEXAGON_C2_tfrpr
2166
2167/* ==========================================================================
2168 Assembly Syntax: Pd4=Rs32
2169 C Intrinsic Prototype: Byte Q6_p_equals_R(Word32 Rs)
2170 Instruction Type: S_2op
2171 Execution Slots: SLOT23
2172 ========================================================================== */
2173
2174#define Q6_p_equals_R __builtin_HEXAGON_C2_tfrrp
2175
2176/* ==========================================================================
2177 Assembly Syntax: Rd32=vitpack(Ps4,Pt4)
2178 C Intrinsic Prototype: Word32 Q6_R_vitpack_pp(Byte Ps, Byte Pt)
2179 Instruction Type: S_2op
2180 Execution Slots: SLOT23
2181 ========================================================================== */
2182
2183#define Q6_R_vitpack_pp __builtin_HEXAGON_C2_vitpack
2184
2185/* ==========================================================================
2186 Assembly Syntax: Rdd32=vmux(Pu4,Rss32,Rtt32)
2187 C Intrinsic Prototype: Word64 Q6_P_vmux_pPP(Byte Pu, Word64 Rss, Word64 Rtt)
2188 Instruction Type: ALU64
2189 Execution Slots: SLOT23
2190 ========================================================================== */
2191
2192#define Q6_P_vmux_pPP __builtin_HEXAGON_C2_vmux
2193
2194/* ==========================================================================
2195 Assembly Syntax: Pd4=xor(Ps4,Pt4)
2196 C Intrinsic Prototype: Byte Q6_p_xor_pp(Byte Ps, Byte Pt)
2197 Instruction Type: CR
2198 Execution Slots: SLOT23
2199 ========================================================================== */
2200
2201#define Q6_p_xor_pp __builtin_HEXAGON_C2_xor
2202
2203/* ==========================================================================
2204 Assembly Syntax: Pd4=and(Ps4,and(Pt4,Pu4))
2205 C Intrinsic Prototype: Byte Q6_p_and_and_ppp(Byte Ps, Byte Pt, Byte Pu)
2206 Instruction Type: CR
2207 Execution Slots: SLOT23
2208 ========================================================================== */
2209
2210#define Q6_p_and_and_ppp __builtin_HEXAGON_C4_and_and
2211
2212/* ==========================================================================
2213 Assembly Syntax: Pd4=and(Ps4,and(Pt4,!Pu4))
2214 C Intrinsic Prototype: Byte Q6_p_and_and_ppnp(Byte Ps, Byte Pt, Byte Pu)
2215 Instruction Type: CR
2216 Execution Slots: SLOT23
2217 ========================================================================== */
2218
2219#define Q6_p_and_and_ppnp __builtin_HEXAGON_C4_and_andn
2220
2221/* ==========================================================================
2222 Assembly Syntax: Pd4=and(Ps4,or(Pt4,Pu4))
2223 C Intrinsic Prototype: Byte Q6_p_and_or_ppp(Byte Ps, Byte Pt, Byte Pu)
2224 Instruction Type: CR
2225 Execution Slots: SLOT23
2226 ========================================================================== */
2227
2228#define Q6_p_and_or_ppp __builtin_HEXAGON_C4_and_or
2229
2230/* ==========================================================================
2231 Assembly Syntax: Pd4=and(Ps4,or(Pt4,!Pu4))
2232 C Intrinsic Prototype: Byte Q6_p_and_or_ppnp(Byte Ps, Byte Pt, Byte Pu)
2233 Instruction Type: CR
2234 Execution Slots: SLOT23
2235 ========================================================================== */
2236
2237#define Q6_p_and_or_ppnp __builtin_HEXAGON_C4_and_orn
2238
2239/* ==========================================================================
2240 Assembly Syntax: Pd4=!cmp.gt(Rs32,Rt32)
2241 C Intrinsic Prototype: Byte Q6_p_not_cmp_gt_RR(Word32 Rs, Word32 Rt)
2242 Instruction Type: ALU32_3op
2243 Execution Slots: SLOT0123
2244 ========================================================================== */
2245
2246#define Q6_p_not_cmp_gt_RR __builtin_HEXAGON_C4_cmplte
2247
2248/* ==========================================================================
2249 Assembly Syntax: Pd4=!cmp.gt(Rs32,#s10)
2250 C Intrinsic Prototype: Byte Q6_p_not_cmp_gt_RI(Word32 Rs, Word32 Is10)
2251 Instruction Type: ALU32_2op
2252 Execution Slots: SLOT0123
2253 ========================================================================== */
2254
2255#define Q6_p_not_cmp_gt_RI __builtin_HEXAGON_C4_cmpltei
2256
2257/* ==========================================================================
2258 Assembly Syntax: Pd4=!cmp.gtu(Rs32,Rt32)
2259 C Intrinsic Prototype: Byte Q6_p_not_cmp_gtu_RR(Word32 Rs, Word32 Rt)
2260 Instruction Type: ALU32_3op
2261 Execution Slots: SLOT0123
2262 ========================================================================== */
2263
2264#define Q6_p_not_cmp_gtu_RR __builtin_HEXAGON_C4_cmplteu
2265
2266/* ==========================================================================
2267 Assembly Syntax: Pd4=!cmp.gtu(Rs32,#u9)
2268 C Intrinsic Prototype: Byte Q6_p_not_cmp_gtu_RI(Word32 Rs, Word32 Iu9)
2269 Instruction Type: ALU32_2op
2270 Execution Slots: SLOT0123
2271 ========================================================================== */
2272
2273#define Q6_p_not_cmp_gtu_RI __builtin_HEXAGON_C4_cmplteui
2274
2275/* ==========================================================================
2276 Assembly Syntax: Pd4=!cmp.eq(Rs32,Rt32)
2277 C Intrinsic Prototype: Byte Q6_p_not_cmp_eq_RR(Word32 Rs, Word32 Rt)
2278 Instruction Type: ALU32_3op
2279 Execution Slots: SLOT0123
2280 ========================================================================== */
2281
2282#define Q6_p_not_cmp_eq_RR __builtin_HEXAGON_C4_cmpneq
2283
2284/* ==========================================================================
2285 Assembly Syntax: Pd4=!cmp.eq(Rs32,#s10)
2286 C Intrinsic Prototype: Byte Q6_p_not_cmp_eq_RI(Word32 Rs, Word32 Is10)
2287 Instruction Type: ALU32_2op
2288 Execution Slots: SLOT0123
2289 ========================================================================== */
2290
2291#define Q6_p_not_cmp_eq_RI __builtin_HEXAGON_C4_cmpneqi
2292
2293/* ==========================================================================
2294 Assembly Syntax: Pd4=fastcorner9(Ps4,Pt4)
2295 C Intrinsic Prototype: Byte Q6_p_fastcorner9_pp(Byte Ps, Byte Pt)
2296 Instruction Type: CR
2297 Execution Slots: SLOT23
2298 ========================================================================== */
2299
2300#define Q6_p_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9
2301
2302/* ==========================================================================
2303 Assembly Syntax: Pd4=!fastcorner9(Ps4,Pt4)
2304 C Intrinsic Prototype: Byte Q6_p_not_fastcorner9_pp(Byte Ps, Byte Pt)
2305 Instruction Type: CR
2306 Execution Slots: SLOT23
2307 ========================================================================== */
2308
2309#define Q6_p_not_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9_not
2310
2311/* ==========================================================================
2312 Assembly Syntax: Pd4=!bitsclr(Rs32,Rt32)
2313 C Intrinsic Prototype: Byte Q6_p_not_bitsclr_RR(Word32 Rs, Word32 Rt)
2314 Instruction Type: S_3op
2315 Execution Slots: SLOT23
2316 ========================================================================== */
2317
2318#define Q6_p_not_bitsclr_RR __builtin_HEXAGON_C4_nbitsclr
2319
2320/* ==========================================================================
2321 Assembly Syntax: Pd4=!bitsclr(Rs32,#u6)
2322 C Intrinsic Prototype: Byte Q6_p_not_bitsclr_RI(Word32 Rs, Word32 Iu6)
2323 Instruction Type: S_2op
2324 Execution Slots: SLOT23
2325 ========================================================================== */
2326
2327#define Q6_p_not_bitsclr_RI __builtin_HEXAGON_C4_nbitsclri
2328
2329/* ==========================================================================
2330 Assembly Syntax: Pd4=!bitsset(Rs32,Rt32)
2331 C Intrinsic Prototype: Byte Q6_p_not_bitsset_RR(Word32 Rs, Word32 Rt)
2332 Instruction Type: S_3op
2333 Execution Slots: SLOT23
2334 ========================================================================== */
2335
2336#define Q6_p_not_bitsset_RR __builtin_HEXAGON_C4_nbitsset
2337
2338/* ==========================================================================
2339 Assembly Syntax: Pd4=or(Ps4,and(Pt4,Pu4))
2340 C Intrinsic Prototype: Byte Q6_p_or_and_ppp(Byte Ps, Byte Pt, Byte Pu)
2341 Instruction Type: CR
2342 Execution Slots: SLOT23
2343 ========================================================================== */
2344
2345#define Q6_p_or_and_ppp __builtin_HEXAGON_C4_or_and
2346
2347/* ==========================================================================
2348 Assembly Syntax: Pd4=or(Ps4,and(Pt4,!Pu4))
2349 C Intrinsic Prototype: Byte Q6_p_or_and_ppnp(Byte Ps, Byte Pt, Byte Pu)
2350 Instruction Type: CR
2351 Execution Slots: SLOT23
2352 ========================================================================== */
2353
2354#define Q6_p_or_and_ppnp __builtin_HEXAGON_C4_or_andn
2355
2356/* ==========================================================================
2357 Assembly Syntax: Pd4=or(Ps4,or(Pt4,Pu4))
2358 C Intrinsic Prototype: Byte Q6_p_or_or_ppp(Byte Ps, Byte Pt, Byte Pu)
2359 Instruction Type: CR
2360 Execution Slots: SLOT23
2361 ========================================================================== */
2362
2363#define Q6_p_or_or_ppp __builtin_HEXAGON_C4_or_or
2364
2365/* ==========================================================================
2366 Assembly Syntax: Pd4=or(Ps4,or(Pt4,!Pu4))
2367 C Intrinsic Prototype: Byte Q6_p_or_or_ppnp(Byte Ps, Byte Pt, Byte Pu)
2368 Instruction Type: CR
2369 Execution Slots: SLOT23
2370 ========================================================================== */
2371
2372#define Q6_p_or_or_ppnp __builtin_HEXAGON_C4_or_orn
2373
2374/* ==========================================================================
2375 Assembly Syntax: Rdd32=convert_d2df(Rss32)
2376 C Intrinsic Prototype: Float64 Q6_P_convert_d2df_P(Word64 Rss)
2377 Instruction Type: S_2op
2378 Execution Slots: SLOT23
2379 ========================================================================== */
2380
2381#define Q6_P_convert_d2df_P __builtin_HEXAGON_F2_conv_d2df
2382
2383/* ==========================================================================
2384 Assembly Syntax: Rd32=convert_d2sf(Rss32)
2385 C Intrinsic Prototype: Float32 Q6_R_convert_d2sf_P(Word64 Rss)
2386 Instruction Type: S_2op
2387 Execution Slots: SLOT23
2388 ========================================================================== */
2389
2390#define Q6_R_convert_d2sf_P __builtin_HEXAGON_F2_conv_d2sf
2391
2392/* ==========================================================================
2393 Assembly Syntax: Rdd32=convert_df2d(Rss32)
2394 C Intrinsic Prototype: Word64 Q6_P_convert_df2d_P(Float64 Rss)
2395 Instruction Type: S_2op
2396 Execution Slots: SLOT23
2397 ========================================================================== */
2398
2399#define Q6_P_convert_df2d_P __builtin_HEXAGON_F2_conv_df2d
2400
2401/* ==========================================================================
2402 Assembly Syntax: Rdd32=convert_df2d(Rss32):chop
2403 C Intrinsic Prototype: Word64 Q6_P_convert_df2d_P_chop(Float64 Rss)
2404 Instruction Type: S_2op
2405 Execution Slots: SLOT23
2406 ========================================================================== */
2407
2408#define Q6_P_convert_df2d_P_chop __builtin_HEXAGON_F2_conv_df2d_chop
2409
2410/* ==========================================================================
2411 Assembly Syntax: Rd32=convert_df2sf(Rss32)
2412 C Intrinsic Prototype: Float32 Q6_R_convert_df2sf_P(Float64 Rss)
2413 Instruction Type: S_2op
2414 Execution Slots: SLOT23
2415 ========================================================================== */
2416
2417#define Q6_R_convert_df2sf_P __builtin_HEXAGON_F2_conv_df2sf
2418
2419/* ==========================================================================
2420 Assembly Syntax: Rdd32=convert_df2ud(Rss32)
2421 C Intrinsic Prototype: Word64 Q6_P_convert_df2ud_P(Float64 Rss)
2422 Instruction Type: S_2op
2423 Execution Slots: SLOT23
2424 ========================================================================== */
2425
2426#define Q6_P_convert_df2ud_P __builtin_HEXAGON_F2_conv_df2ud
2427
2428/* ==========================================================================
2429 Assembly Syntax: Rdd32=convert_df2ud(Rss32):chop
2430 C Intrinsic Prototype: Word64 Q6_P_convert_df2ud_P_chop(Float64 Rss)
2431 Instruction Type: S_2op
2432 Execution Slots: SLOT23
2433 ========================================================================== */
2434
2435#define Q6_P_convert_df2ud_P_chop __builtin_HEXAGON_F2_conv_df2ud_chop
2436
2437/* ==========================================================================
2438 Assembly Syntax: Rd32=convert_df2uw(Rss32)
2439 C Intrinsic Prototype: Word32 Q6_R_convert_df2uw_P(Float64 Rss)
2440 Instruction Type: S_2op
2441 Execution Slots: SLOT23
2442 ========================================================================== */
2443
2444#define Q6_R_convert_df2uw_P __builtin_HEXAGON_F2_conv_df2uw
2445
2446/* ==========================================================================
2447 Assembly Syntax: Rd32=convert_df2uw(Rss32):chop
2448 C Intrinsic Prototype: Word32 Q6_R_convert_df2uw_P_chop(Float64 Rss)
2449 Instruction Type: S_2op
2450 Execution Slots: SLOT23
2451 ========================================================================== */
2452
2453#define Q6_R_convert_df2uw_P_chop __builtin_HEXAGON_F2_conv_df2uw_chop
2454
2455/* ==========================================================================
2456 Assembly Syntax: Rd32=convert_df2w(Rss32)
2457 C Intrinsic Prototype: Word32 Q6_R_convert_df2w_P(Float64 Rss)
2458 Instruction Type: S_2op
2459 Execution Slots: SLOT23
2460 ========================================================================== */
2461
2462#define Q6_R_convert_df2w_P __builtin_HEXAGON_F2_conv_df2w
2463
2464/* ==========================================================================
2465 Assembly Syntax: Rd32=convert_df2w(Rss32):chop
2466 C Intrinsic Prototype: Word32 Q6_R_convert_df2w_P_chop(Float64 Rss)
2467 Instruction Type: S_2op
2468 Execution Slots: SLOT23
2469 ========================================================================== */
2470
2471#define Q6_R_convert_df2w_P_chop __builtin_HEXAGON_F2_conv_df2w_chop
2472
2473/* ==========================================================================
2474 Assembly Syntax: Rdd32=convert_sf2d(Rs32)
2475 C Intrinsic Prototype: Word64 Q6_P_convert_sf2d_R(Float32 Rs)
2476 Instruction Type: S_2op
2477 Execution Slots: SLOT23
2478 ========================================================================== */
2479
2480#define Q6_P_convert_sf2d_R __builtin_HEXAGON_F2_conv_sf2d
2481
2482/* ==========================================================================
2483 Assembly Syntax: Rdd32=convert_sf2d(Rs32):chop
2484 C Intrinsic Prototype: Word64 Q6_P_convert_sf2d_R_chop(Float32 Rs)
2485 Instruction Type: S_2op
2486 Execution Slots: SLOT23
2487 ========================================================================== */
2488
2489#define Q6_P_convert_sf2d_R_chop __builtin_HEXAGON_F2_conv_sf2d_chop
2490
2491/* ==========================================================================
2492 Assembly Syntax: Rdd32=convert_sf2df(Rs32)
2493 C Intrinsic Prototype: Float64 Q6_P_convert_sf2df_R(Float32 Rs)
2494 Instruction Type: S_2op
2495 Execution Slots: SLOT23
2496 ========================================================================== */
2497
2498#define Q6_P_convert_sf2df_R __builtin_HEXAGON_F2_conv_sf2df
2499
2500/* ==========================================================================
2501 Assembly Syntax: Rdd32=convert_sf2ud(Rs32)
2502 C Intrinsic Prototype: Word64 Q6_P_convert_sf2ud_R(Float32 Rs)
2503 Instruction Type: S_2op
2504 Execution Slots: SLOT23
2505 ========================================================================== */
2506
2507#define Q6_P_convert_sf2ud_R __builtin_HEXAGON_F2_conv_sf2ud
2508
2509/* ==========================================================================
2510 Assembly Syntax: Rdd32=convert_sf2ud(Rs32):chop
2511 C Intrinsic Prototype: Word64 Q6_P_convert_sf2ud_R_chop(Float32 Rs)
2512 Instruction Type: S_2op
2513 Execution Slots: SLOT23
2514 ========================================================================== */
2515
2516#define Q6_P_convert_sf2ud_R_chop __builtin_HEXAGON_F2_conv_sf2ud_chop
2517
2518/* ==========================================================================
2519 Assembly Syntax: Rd32=convert_sf2uw(Rs32)
2520 C Intrinsic Prototype: Word32 Q6_R_convert_sf2uw_R(Float32 Rs)
2521 Instruction Type: S_2op
2522 Execution Slots: SLOT23
2523 ========================================================================== */
2524
2525#define Q6_R_convert_sf2uw_R __builtin_HEXAGON_F2_conv_sf2uw
2526
2527/* ==========================================================================
2528 Assembly Syntax: Rd32=convert_sf2uw(Rs32):chop
2529 C Intrinsic Prototype: Word32 Q6_R_convert_sf2uw_R_chop(Float32 Rs)
2530 Instruction Type: S_2op
2531 Execution Slots: SLOT23
2532 ========================================================================== */
2533
2534#define Q6_R_convert_sf2uw_R_chop __builtin_HEXAGON_F2_conv_sf2uw_chop
2535
2536/* ==========================================================================
2537 Assembly Syntax: Rd32=convert_sf2w(Rs32)
2538 C Intrinsic Prototype: Word32 Q6_R_convert_sf2w_R(Float32 Rs)
2539 Instruction Type: S_2op
2540 Execution Slots: SLOT23
2541 ========================================================================== */
2542
2543#define Q6_R_convert_sf2w_R __builtin_HEXAGON_F2_conv_sf2w
2544
2545/* ==========================================================================
2546 Assembly Syntax: Rd32=convert_sf2w(Rs32):chop
2547 C Intrinsic Prototype: Word32 Q6_R_convert_sf2w_R_chop(Float32 Rs)
2548 Instruction Type: S_2op
2549 Execution Slots: SLOT23
2550 ========================================================================== */
2551
2552#define Q6_R_convert_sf2w_R_chop __builtin_HEXAGON_F2_conv_sf2w_chop
2553
2554/* ==========================================================================
2555 Assembly Syntax: Rdd32=convert_ud2df(Rss32)
2556 C Intrinsic Prototype: Float64 Q6_P_convert_ud2df_P(Word64 Rss)
2557 Instruction Type: S_2op
2558 Execution Slots: SLOT23
2559 ========================================================================== */
2560
2561#define Q6_P_convert_ud2df_P __builtin_HEXAGON_F2_conv_ud2df
2562
2563/* ==========================================================================
2564 Assembly Syntax: Rd32=convert_ud2sf(Rss32)
2565 C Intrinsic Prototype: Float32 Q6_R_convert_ud2sf_P(Word64 Rss)
2566 Instruction Type: S_2op
2567 Execution Slots: SLOT23
2568 ========================================================================== */
2569
2570#define Q6_R_convert_ud2sf_P __builtin_HEXAGON_F2_conv_ud2sf
2571
2572/* ==========================================================================
2573 Assembly Syntax: Rdd32=convert_uw2df(Rs32)
2574 C Intrinsic Prototype: Float64 Q6_P_convert_uw2df_R(Word32 Rs)
2575 Instruction Type: S_2op
2576 Execution Slots: SLOT23
2577 ========================================================================== */
2578
2579#define Q6_P_convert_uw2df_R __builtin_HEXAGON_F2_conv_uw2df
2580
2581/* ==========================================================================
2582 Assembly Syntax: Rd32=convert_uw2sf(Rs32)
2583 C Intrinsic Prototype: Float32 Q6_R_convert_uw2sf_R(Word32 Rs)
2584 Instruction Type: S_2op
2585 Execution Slots: SLOT23
2586 ========================================================================== */
2587
2588#define Q6_R_convert_uw2sf_R __builtin_HEXAGON_F2_conv_uw2sf
2589
2590/* ==========================================================================
2591 Assembly Syntax: Rdd32=convert_w2df(Rs32)
2592 C Intrinsic Prototype: Float64 Q6_P_convert_w2df_R(Word32 Rs)
2593 Instruction Type: S_2op
2594 Execution Slots: SLOT23
2595 ========================================================================== */
2596
2597#define Q6_P_convert_w2df_R __builtin_HEXAGON_F2_conv_w2df
2598
2599/* ==========================================================================
2600 Assembly Syntax: Rd32=convert_w2sf(Rs32)
2601 C Intrinsic Prototype: Float32 Q6_R_convert_w2sf_R(Word32 Rs)
2602 Instruction Type: S_2op
2603 Execution Slots: SLOT23
2604 ========================================================================== */
2605
2606#define Q6_R_convert_w2sf_R __builtin_HEXAGON_F2_conv_w2sf
2607
2608/* ==========================================================================
2609 Assembly Syntax: Pd4=dfclass(Rss32,#u5)
2610 C Intrinsic Prototype: Byte Q6_p_dfclass_PI(Float64 Rss, Word32 Iu5)
2611 Instruction Type: ALU64
2612 Execution Slots: SLOT23
2613 ========================================================================== */
2614
2615#define Q6_p_dfclass_PI __builtin_HEXAGON_F2_dfclass
2616
2617/* ==========================================================================
2618 Assembly Syntax: Pd4=dfcmp.eq(Rss32,Rtt32)
2619 C Intrinsic Prototype: Byte Q6_p_dfcmp_eq_PP(Float64 Rss, Float64 Rtt)
2620 Instruction Type: ALU64
2621 Execution Slots: SLOT23
2622 ========================================================================== */
2623
2624#define Q6_p_dfcmp_eq_PP __builtin_HEXAGON_F2_dfcmpeq
2625
2626/* ==========================================================================
2627 Assembly Syntax: Pd4=dfcmp.ge(Rss32,Rtt32)
2628 C Intrinsic Prototype: Byte Q6_p_dfcmp_ge_PP(Float64 Rss, Float64 Rtt)
2629 Instruction Type: ALU64
2630 Execution Slots: SLOT23
2631 ========================================================================== */
2632
2633#define Q6_p_dfcmp_ge_PP __builtin_HEXAGON_F2_dfcmpge
2634
2635/* ==========================================================================
2636 Assembly Syntax: Pd4=dfcmp.gt(Rss32,Rtt32)
2637 C Intrinsic Prototype: Byte Q6_p_dfcmp_gt_PP(Float64 Rss, Float64 Rtt)
2638 Instruction Type: ALU64
2639 Execution Slots: SLOT23
2640 ========================================================================== */
2641
2642#define Q6_p_dfcmp_gt_PP __builtin_HEXAGON_F2_dfcmpgt
2643
2644/* ==========================================================================
2645 Assembly Syntax: Pd4=dfcmp.uo(Rss32,Rtt32)
2646 C Intrinsic Prototype: Byte Q6_p_dfcmp_uo_PP(Float64 Rss, Float64 Rtt)
2647 Instruction Type: ALU64
2648 Execution Slots: SLOT23
2649 ========================================================================== */
2650
2651#define Q6_p_dfcmp_uo_PP __builtin_HEXAGON_F2_dfcmpuo
2652
2653/* ==========================================================================
2654 Assembly Syntax: Rdd32=dfmake(#u10):neg
2655 C Intrinsic Prototype: Float64 Q6_P_dfmake_I_neg(Word32 Iu10)
2656 Instruction Type: ALU64
2657 Execution Slots: SLOT23
2658 ========================================================================== */
2659
2660#define Q6_P_dfmake_I_neg __builtin_HEXAGON_F2_dfimm_n
2661
2662/* ==========================================================================
2663 Assembly Syntax: Rdd32=dfmake(#u10):pos
2664 C Intrinsic Prototype: Float64 Q6_P_dfmake_I_pos(Word32 Iu10)
2665 Instruction Type: ALU64
2666 Execution Slots: SLOT23
2667 ========================================================================== */
2668
2669#define Q6_P_dfmake_I_pos __builtin_HEXAGON_F2_dfimm_p
2670
2671/* ==========================================================================
2672 Assembly Syntax: Rd32=sfadd(Rs32,Rt32)
2673 C Intrinsic Prototype: Float32 Q6_R_sfadd_RR(Float32 Rs, Float32 Rt)
2674 Instruction Type: M
2675 Execution Slots: SLOT23
2676 ========================================================================== */
2677
2678#define Q6_R_sfadd_RR __builtin_HEXAGON_F2_sfadd
2679
2680/* ==========================================================================
2681 Assembly Syntax: Pd4=sfclass(Rs32,#u5)
2682 C Intrinsic Prototype: Byte Q6_p_sfclass_RI(Float32 Rs, Word32 Iu5)
2683 Instruction Type: S_2op
2684 Execution Slots: SLOT23
2685 ========================================================================== */
2686
2687#define Q6_p_sfclass_RI __builtin_HEXAGON_F2_sfclass
2688
2689/* ==========================================================================
2690 Assembly Syntax: Pd4=sfcmp.eq(Rs32,Rt32)
2691 C Intrinsic Prototype: Byte Q6_p_sfcmp_eq_RR(Float32 Rs, Float32 Rt)
2692 Instruction Type: S_3op
2693 Execution Slots: SLOT23
2694 ========================================================================== */
2695
2696#define Q6_p_sfcmp_eq_RR __builtin_HEXAGON_F2_sfcmpeq
2697
2698/* ==========================================================================
2699 Assembly Syntax: Pd4=sfcmp.ge(Rs32,Rt32)
2700 C Intrinsic Prototype: Byte Q6_p_sfcmp_ge_RR(Float32 Rs, Float32 Rt)
2701 Instruction Type: S_3op
2702 Execution Slots: SLOT23
2703 ========================================================================== */
2704
2705#define Q6_p_sfcmp_ge_RR __builtin_HEXAGON_F2_sfcmpge
2706
2707/* ==========================================================================
2708 Assembly Syntax: Pd4=sfcmp.gt(Rs32,Rt32)
2709 C Intrinsic Prototype: Byte Q6_p_sfcmp_gt_RR(Float32 Rs, Float32 Rt)
2710 Instruction Type: S_3op
2711 Execution Slots: SLOT23
2712 ========================================================================== */
2713
2714#define Q6_p_sfcmp_gt_RR __builtin_HEXAGON_F2_sfcmpgt
2715
2716/* ==========================================================================
2717 Assembly Syntax: Pd4=sfcmp.uo(Rs32,Rt32)
2718 C Intrinsic Prototype: Byte Q6_p_sfcmp_uo_RR(Float32 Rs, Float32 Rt)
2719 Instruction Type: S_3op
2720 Execution Slots: SLOT23
2721 ========================================================================== */
2722
2723#define Q6_p_sfcmp_uo_RR __builtin_HEXAGON_F2_sfcmpuo
2724
2725/* ==========================================================================
2726 Assembly Syntax: Rd32=sffixupd(Rs32,Rt32)
2727 C Intrinsic Prototype: Float32 Q6_R_sffixupd_RR(Float32 Rs, Float32 Rt)
2728 Instruction Type: M
2729 Execution Slots: SLOT23
2730 ========================================================================== */
2731
2732#define Q6_R_sffixupd_RR __builtin_HEXAGON_F2_sffixupd
2733
2734/* ==========================================================================
2735 Assembly Syntax: Rd32=sffixupn(Rs32,Rt32)
2736 C Intrinsic Prototype: Float32 Q6_R_sffixupn_RR(Float32 Rs, Float32 Rt)
2737 Instruction Type: M
2738 Execution Slots: SLOT23
2739 ========================================================================== */
2740
2741#define Q6_R_sffixupn_RR __builtin_HEXAGON_F2_sffixupn
2742
2743/* ==========================================================================
2744 Assembly Syntax: Rd32=sffixupr(Rs32)
2745 C Intrinsic Prototype: Float32 Q6_R_sffixupr_R(Float32 Rs)
2746 Instruction Type: S_2op
2747 Execution Slots: SLOT23
2748 ========================================================================== */
2749
2750#define Q6_R_sffixupr_R __builtin_HEXAGON_F2_sffixupr
2751
2752/* ==========================================================================
2753 Assembly Syntax: Rx32+=sfmpy(Rs32,Rt32)
2754 C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RR(Float32 Rx, Float32 Rs, Float32 Rt)
2755 Instruction Type: M
2756 Execution Slots: SLOT23
2757 ========================================================================== */
2758
2759#define Q6_R_sfmpyacc_RR __builtin_HEXAGON_F2_sffma
2760
2761/* ==========================================================================
2762 Assembly Syntax: Rx32+=sfmpy(Rs32,Rt32):lib
2763 C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RR_lib(Float32 Rx, Float32 Rs, Float32 Rt)
2764 Instruction Type: M
2765 Execution Slots: SLOT23
2766 ========================================================================== */
2767
2768#define Q6_R_sfmpyacc_RR_lib __builtin_HEXAGON_F2_sffma_lib
2769
2770/* ==========================================================================
2771 Assembly Syntax: Rx32+=sfmpy(Rs32,Rt32,Pu4):scale
2772 C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RRp_scale(Float32 Rx, Float32 Rs, Float32 Rt, Byte Pu)
2773 Instruction Type: M
2774 Execution Slots: SLOT23
2775 ========================================================================== */
2776
2777#define Q6_R_sfmpyacc_RRp_scale __builtin_HEXAGON_F2_sffma_sc
2778
2779/* ==========================================================================
2780 Assembly Syntax: Rx32-=sfmpy(Rs32,Rt32)
2781 C Intrinsic Prototype: Float32 Q6_R_sfmpynac_RR(Float32 Rx, Float32 Rs, Float32 Rt)
2782 Instruction Type: M
2783 Execution Slots: SLOT23
2784 ========================================================================== */
2785
2786#define Q6_R_sfmpynac_RR __builtin_HEXAGON_F2_sffms
2787
2788/* ==========================================================================
2789 Assembly Syntax: Rx32-=sfmpy(Rs32,Rt32):lib
2790 C Intrinsic Prototype: Float32 Q6_R_sfmpynac_RR_lib(Float32 Rx, Float32 Rs, Float32 Rt)
2791 Instruction Type: M
2792 Execution Slots: SLOT23
2793 ========================================================================== */
2794
2795#define Q6_R_sfmpynac_RR_lib __builtin_HEXAGON_F2_sffms_lib
2796
2797/* ==========================================================================
2798 Assembly Syntax: Rd32=sfmake(#u10):neg
2799 C Intrinsic Prototype: Float32 Q6_R_sfmake_I_neg(Word32 Iu10)
2800 Instruction Type: ALU64
2801 Execution Slots: SLOT23
2802 ========================================================================== */
2803
2804#define Q6_R_sfmake_I_neg __builtin_HEXAGON_F2_sfimm_n
2805
2806/* ==========================================================================
2807 Assembly Syntax: Rd32=sfmake(#u10):pos
2808 C Intrinsic Prototype: Float32 Q6_R_sfmake_I_pos(Word32 Iu10)
2809 Instruction Type: ALU64
2810 Execution Slots: SLOT23
2811 ========================================================================== */
2812
2813#define Q6_R_sfmake_I_pos __builtin_HEXAGON_F2_sfimm_p
2814
2815/* ==========================================================================
2816 Assembly Syntax: Rd32=sfmax(Rs32,Rt32)
2817 C Intrinsic Prototype: Float32 Q6_R_sfmax_RR(Float32 Rs, Float32 Rt)
2818 Instruction Type: M
2819 Execution Slots: SLOT23
2820 ========================================================================== */
2821
2822#define Q6_R_sfmax_RR __builtin_HEXAGON_F2_sfmax
2823
2824/* ==========================================================================
2825 Assembly Syntax: Rd32=sfmin(Rs32,Rt32)
2826 C Intrinsic Prototype: Float32 Q6_R_sfmin_RR(Float32 Rs, Float32 Rt)
2827 Instruction Type: M
2828 Execution Slots: SLOT23
2829 ========================================================================== */
2830
2831#define Q6_R_sfmin_RR __builtin_HEXAGON_F2_sfmin
2832
2833/* ==========================================================================
2834 Assembly Syntax: Rd32=sfmpy(Rs32,Rt32)
2835 C Intrinsic Prototype: Float32 Q6_R_sfmpy_RR(Float32 Rs, Float32 Rt)
2836 Instruction Type: M
2837 Execution Slots: SLOT23
2838 ========================================================================== */
2839
2840#define Q6_R_sfmpy_RR __builtin_HEXAGON_F2_sfmpy
2841
2842/* ==========================================================================
2843 Assembly Syntax: Rd32=sfsub(Rs32,Rt32)
2844 C Intrinsic Prototype: Float32 Q6_R_sfsub_RR(Float32 Rs, Float32 Rt)
2845 Instruction Type: M
2846 Execution Slots: SLOT23
2847 ========================================================================== */
2848
2849#define Q6_R_sfsub_RR __builtin_HEXAGON_F2_sfsub
2850
2851/* ==========================================================================
2852 Assembly Syntax: Rd32=memb(Rx32++#s4:0:circ(Mu2))
2853 C Intrinsic Prototype: Word32 Q6_R_memb_IM_circ(void** Rx, Word32 Is4_0, Word32 Mu, void* BaseAddress)
2854 Instruction Type: LD
2855 Execution Slots: SLOT01
2856 ========================================================================== */
2857
2858#define Q6_R_memb_IM_circ __builtin_HEXAGON_L2_loadrb_pci
2859
2860/* ==========================================================================
2861 Assembly Syntax: Rd32=memb(Rx32++I:circ(Mu2))
2862 C Intrinsic Prototype: Word32 Q6_R_memb_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2863 Instruction Type: LD
2864 Execution Slots: SLOT01
2865 ========================================================================== */
2866
2867#define Q6_R_memb_M_circ __builtin_HEXAGON_L2_loadrb_pcr
2868
2869/* ==========================================================================
2870 Assembly Syntax: Rdd32=memd(Rx32++#s4:3:circ(Mu2))
2871 C Intrinsic Prototype: Word64 Q6_P_memd_IM_circ(void** Rx, Word32 Is4_3, Word32 Mu, void* BaseAddress)
2872 Instruction Type: LD
2873 Execution Slots: SLOT01
2874 ========================================================================== */
2875
2876#define Q6_P_memd_IM_circ __builtin_HEXAGON_L2_loadrd_pci
2877
2878/* ==========================================================================
2879 Assembly Syntax: Rdd32=memd(Rx32++I:circ(Mu2))
2880 C Intrinsic Prototype: Word64 Q6_P_memd_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2881 Instruction Type: LD
2882 Execution Slots: SLOT01
2883 ========================================================================== */
2884
2885#define Q6_P_memd_M_circ __builtin_HEXAGON_L2_loadrd_pcr
2886
2887/* ==========================================================================
2888 Assembly Syntax: Rd32=memh(Rx32++#s4:1:circ(Mu2))
2889 C Intrinsic Prototype: Word32 Q6_R_memh_IM_circ(void** Rx, Word32 Is4_1, Word32 Mu, void* BaseAddress)
2890 Instruction Type: LD
2891 Execution Slots: SLOT01
2892 ========================================================================== */
2893
2894#define Q6_R_memh_IM_circ __builtin_HEXAGON_L2_loadrh_pci
2895
2896/* ==========================================================================
2897 Assembly Syntax: Rd32=memh(Rx32++I:circ(Mu2))
2898 C Intrinsic Prototype: Word32 Q6_R_memh_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2899 Instruction Type: LD
2900 Execution Slots: SLOT01
2901 ========================================================================== */
2902
2903#define Q6_R_memh_M_circ __builtin_HEXAGON_L2_loadrh_pcr
2904
2905/* ==========================================================================
2906 Assembly Syntax: Rd32=memw(Rx32++#s4:2:circ(Mu2))
2907 C Intrinsic Prototype: Word32 Q6_R_memw_IM_circ(void** Rx, Word32 Is4_2, Word32 Mu, void* BaseAddress)
2908 Instruction Type: LD
2909 Execution Slots: SLOT01
2910 ========================================================================== */
2911
2912#define Q6_R_memw_IM_circ __builtin_HEXAGON_L2_loadri_pci
2913
2914/* ==========================================================================
2915 Assembly Syntax: Rd32=memw(Rx32++I:circ(Mu2))
2916 C Intrinsic Prototype: Word32 Q6_R_memw_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2917 Instruction Type: LD
2918 Execution Slots: SLOT01
2919 ========================================================================== */
2920
2921#define Q6_R_memw_M_circ __builtin_HEXAGON_L2_loadri_pcr
2922
2923/* ==========================================================================
2924 Assembly Syntax: Rd32=memub(Rx32++#s4:0:circ(Mu2))
2925 C Intrinsic Prototype: Word32 Q6_R_memub_IM_circ(void** Rx, Word32 Is4_0, Word32 Mu, void* BaseAddress)
2926 Instruction Type: LD
2927 Execution Slots: SLOT01
2928 ========================================================================== */
2929
2930#define Q6_R_memub_IM_circ __builtin_HEXAGON_L2_loadrub_pci
2931
2932/* ==========================================================================
2933 Assembly Syntax: Rd32=memub(Rx32++I:circ(Mu2))
2934 C Intrinsic Prototype: Word32 Q6_R_memub_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2935 Instruction Type: LD
2936 Execution Slots: SLOT01
2937 ========================================================================== */
2938
2939#define Q6_R_memub_M_circ __builtin_HEXAGON_L2_loadrub_pcr
2940
2941/* ==========================================================================
2942 Assembly Syntax: Rd32=memuh(Rx32++#s4:1:circ(Mu2))
2943 C Intrinsic Prototype: Word32 Q6_R_memuh_IM_circ(void** Rx, Word32 Is4_1, Word32 Mu, void* BaseAddress)
2944 Instruction Type: LD
2945 Execution Slots: SLOT01
2946 ========================================================================== */
2947
2948#define Q6_R_memuh_IM_circ __builtin_HEXAGON_L2_loadruh_pci
2949
2950/* ==========================================================================
2951 Assembly Syntax: Rd32=memuh(Rx32++I:circ(Mu2))
2952 C Intrinsic Prototype: Word32 Q6_R_memuh_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
2953 Instruction Type: LD
2954 Execution Slots: SLOT01
2955 ========================================================================== */
2956
2957#define Q6_R_memuh_M_circ __builtin_HEXAGON_L2_loadruh_pcr
2958
2959/* ==========================================================================
2960 Assembly Syntax: Rx32+=add(Rs32,Rt32)
2961 C Intrinsic Prototype: Word32 Q6_R_addacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
2962 Instruction Type: M
2963 Execution Slots: SLOT23
2964 ========================================================================== */
2965
2966#define Q6_R_addacc_RR __builtin_HEXAGON_M2_acci
2967
2968/* ==========================================================================
2969 Assembly Syntax: Rx32+=add(Rs32,#s8)
2970 C Intrinsic Prototype: Word32 Q6_R_addacc_RI(Word32 Rx, Word32 Rs, Word32 Is8)
2971 Instruction Type: M
2972 Execution Slots: SLOT23
2973 ========================================================================== */
2974
2975#define Q6_R_addacc_RI __builtin_HEXAGON_M2_accii
2976
2977/* ==========================================================================
2978 Assembly Syntax: Rxx32+=cmpyi(Rs32,Rt32)
2979 C Intrinsic Prototype: Word64 Q6_P_cmpyiacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
2980 Instruction Type: M
2981 Execution Slots: SLOT23
2982 ========================================================================== */
2983
2984#define Q6_P_cmpyiacc_RR __builtin_HEXAGON_M2_cmaci_s0
2985
2986/* ==========================================================================
2987 Assembly Syntax: Rxx32+=cmpyr(Rs32,Rt32)
2988 C Intrinsic Prototype: Word64 Q6_P_cmpyracc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
2989 Instruction Type: M
2990 Execution Slots: SLOT23
2991 ========================================================================== */
2992
2993#define Q6_P_cmpyracc_RR __builtin_HEXAGON_M2_cmacr_s0
2994
2995/* ==========================================================================
2996 Assembly Syntax: Rxx32+=cmpy(Rs32,Rt32):sat
2997 C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
2998 Instruction Type: M
2999 Execution Slots: SLOT23
3000 ========================================================================== */
3001
3002#define Q6_P_cmpyacc_RR_sat __builtin_HEXAGON_M2_cmacs_s0
3003
3004/* ==========================================================================
3005 Assembly Syntax: Rxx32+=cmpy(Rs32,Rt32):<<1:sat
3006 C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3007 Instruction Type: M
3008 Execution Slots: SLOT23
3009 ========================================================================== */
3010
3011#define Q6_P_cmpyacc_RR_s1_sat __builtin_HEXAGON_M2_cmacs_s1
3012
3013/* ==========================================================================
3014 Assembly Syntax: Rxx32+=cmpy(Rs32,Rt32*):sat
3015 C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_conj_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3016 Instruction Type: M
3017 Execution Slots: SLOT23
3018 ========================================================================== */
3019
3020#define Q6_P_cmpyacc_RR_conj_sat __builtin_HEXAGON_M2_cmacsc_s0
3021
3022/* ==========================================================================
3023 Assembly Syntax: Rxx32+=cmpy(Rs32,Rt32*):<<1:sat
3024 C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_conj_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3025 Instruction Type: M
3026 Execution Slots: SLOT23
3027 ========================================================================== */
3028
3029#define Q6_P_cmpyacc_RR_conj_s1_sat __builtin_HEXAGON_M2_cmacsc_s1
3030
3031/* ==========================================================================
3032 Assembly Syntax: Rdd32=cmpyi(Rs32,Rt32)
3033 C Intrinsic Prototype: Word64 Q6_P_cmpyi_RR(Word32 Rs, Word32 Rt)
3034 Instruction Type: M
3035 Execution Slots: SLOT23
3036 ========================================================================== */
3037
3038#define Q6_P_cmpyi_RR __builtin_HEXAGON_M2_cmpyi_s0
3039
3040/* ==========================================================================
3041 Assembly Syntax: Rdd32=cmpyr(Rs32,Rt32)
3042 C Intrinsic Prototype: Word64 Q6_P_cmpyr_RR(Word32 Rs, Word32 Rt)
3043 Instruction Type: M
3044 Execution Slots: SLOT23
3045 ========================================================================== */
3046
3047#define Q6_P_cmpyr_RR __builtin_HEXAGON_M2_cmpyr_s0
3048
3049/* ==========================================================================
3050 Assembly Syntax: Rd32=cmpy(Rs32,Rt32):rnd:sat
3051 C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_rnd_sat(Word32 Rs, Word32 Rt)
3052 Instruction Type: M
3053 Execution Slots: SLOT23
3054 ========================================================================== */
3055
3056#define Q6_R_cmpy_RR_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s0
3057
3058/* ==========================================================================
3059 Assembly Syntax: Rd32=cmpy(Rs32,Rt32):<<1:rnd:sat
3060 C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_s1_rnd_sat(Word32 Rs, Word32 Rt)
3061 Instruction Type: M
3062 Execution Slots: SLOT23
3063 ========================================================================== */
3064
3065#define Q6_R_cmpy_RR_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s1
3066
3067/* ==========================================================================
3068 Assembly Syntax: Rd32=cmpy(Rs32,Rt32*):rnd:sat
3069 C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_conj_rnd_sat(Word32 Rs, Word32 Rt)
3070 Instruction Type: M
3071 Execution Slots: SLOT23
3072 ========================================================================== */
3073
3074#define Q6_R_cmpy_RR_conj_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s0
3075
3076/* ==========================================================================
3077 Assembly Syntax: Rd32=cmpy(Rs32,Rt32*):<<1:rnd:sat
3078 C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_conj_s1_rnd_sat(Word32 Rs, Word32 Rt)
3079 Instruction Type: M
3080 Execution Slots: SLOT23
3081 ========================================================================== */
3082
3083#define Q6_R_cmpy_RR_conj_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s1
3084
3085/* ==========================================================================
3086 Assembly Syntax: Rdd32=cmpy(Rs32,Rt32):sat
3087 C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_sat(Word32 Rs, Word32 Rt)
3088 Instruction Type: M
3089 Execution Slots: SLOT23
3090 ========================================================================== */
3091
3092#define Q6_P_cmpy_RR_sat __builtin_HEXAGON_M2_cmpys_s0
3093
3094/* ==========================================================================
3095 Assembly Syntax: Rdd32=cmpy(Rs32,Rt32):<<1:sat
3096 C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_s1_sat(Word32 Rs, Word32 Rt)
3097 Instruction Type: M
3098 Execution Slots: SLOT23
3099 ========================================================================== */
3100
3101#define Q6_P_cmpy_RR_s1_sat __builtin_HEXAGON_M2_cmpys_s1
3102
3103/* ==========================================================================
3104 Assembly Syntax: Rdd32=cmpy(Rs32,Rt32*):sat
3105 C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_conj_sat(Word32 Rs, Word32 Rt)
3106 Instruction Type: M
3107 Execution Slots: SLOT23
3108 ========================================================================== */
3109
3110#define Q6_P_cmpy_RR_conj_sat __builtin_HEXAGON_M2_cmpysc_s0
3111
3112/* ==========================================================================
3113 Assembly Syntax: Rdd32=cmpy(Rs32,Rt32*):<<1:sat
3114 C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_conj_s1_sat(Word32 Rs, Word32 Rt)
3115 Instruction Type: M
3116 Execution Slots: SLOT23
3117 ========================================================================== */
3118
3119#define Q6_P_cmpy_RR_conj_s1_sat __builtin_HEXAGON_M2_cmpysc_s1
3120
3121/* ==========================================================================
3122 Assembly Syntax: Rxx32-=cmpy(Rs32,Rt32):sat
3123 C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3124 Instruction Type: M
3125 Execution Slots: SLOT23
3126 ========================================================================== */
3127
3128#define Q6_P_cmpynac_RR_sat __builtin_HEXAGON_M2_cnacs_s0
3129
3130/* ==========================================================================
3131 Assembly Syntax: Rxx32-=cmpy(Rs32,Rt32):<<1:sat
3132 C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3133 Instruction Type: M
3134 Execution Slots: SLOT23
3135 ========================================================================== */
3136
3137#define Q6_P_cmpynac_RR_s1_sat __builtin_HEXAGON_M2_cnacs_s1
3138
3139/* ==========================================================================
3140 Assembly Syntax: Rxx32-=cmpy(Rs32,Rt32*):sat
3141 C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_conj_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3142 Instruction Type: M
3143 Execution Slots: SLOT23
3144 ========================================================================== */
3145
3146#define Q6_P_cmpynac_RR_conj_sat __builtin_HEXAGON_M2_cnacsc_s0
3147
3148/* ==========================================================================
3149 Assembly Syntax: Rxx32-=cmpy(Rs32,Rt32*):<<1:sat
3150 C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_conj_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
3151 Instruction Type: M
3152 Execution Slots: SLOT23
3153 ========================================================================== */
3154
3155#define Q6_P_cmpynac_RR_conj_s1_sat __builtin_HEXAGON_M2_cnacsc_s1
3156
3157/* ==========================================================================
3158 Assembly Syntax: Rxx32+=mpy(Rs32,Rt32)
3159 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
3160 Instruction Type: M
3161 Execution Slots: SLOT23
3162 ========================================================================== */
3163
3164#define Q6_P_mpyacc_RR __builtin_HEXAGON_M2_dpmpyss_acc_s0
3165
3166/* ==========================================================================
3167 Assembly Syntax: Rxx32-=mpy(Rs32,Rt32)
3168 C Intrinsic Prototype: Word64 Q6_P_mpynac_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
3169 Instruction Type: M
3170 Execution Slots: SLOT23
3171 ========================================================================== */
3172
3173#define Q6_P_mpynac_RR __builtin_HEXAGON_M2_dpmpyss_nac_s0
3174
3175/* ==========================================================================
3176 Assembly Syntax: Rd32=mpy(Rs32,Rt32):rnd
3177 C Intrinsic Prototype: Word32 Q6_R_mpy_RR_rnd(Word32 Rs, Word32 Rt)
3178 Instruction Type: M
3179 Execution Slots: SLOT23
3180 ========================================================================== */
3181
3182#define Q6_R_mpy_RR_rnd __builtin_HEXAGON_M2_dpmpyss_rnd_s0
3183
3184/* ==========================================================================
3185 Assembly Syntax: Rdd32=mpy(Rs32,Rt32)
3186 C Intrinsic Prototype: Word64 Q6_P_mpy_RR(Word32 Rs, Word32 Rt)
3187 Instruction Type: M
3188 Execution Slots: SLOT23
3189 ========================================================================== */
3190
3191#define Q6_P_mpy_RR __builtin_HEXAGON_M2_dpmpyss_s0
3192
3193/* ==========================================================================
3194 Assembly Syntax: Rxx32+=mpyu(Rs32,Rt32)
3195 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
3196 Instruction Type: M
3197 Execution Slots: SLOT23
3198 ========================================================================== */
3199
3200#define Q6_P_mpyuacc_RR __builtin_HEXAGON_M2_dpmpyuu_acc_s0
3201
3202/* ==========================================================================
3203 Assembly Syntax: Rxx32-=mpyu(Rs32,Rt32)
3204 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
3205 Instruction Type: M
3206 Execution Slots: SLOT23
3207 ========================================================================== */
3208
3209#define Q6_P_mpyunac_RR __builtin_HEXAGON_M2_dpmpyuu_nac_s0
3210
3211/* ==========================================================================
3212 Assembly Syntax: Rdd32=mpyu(Rs32,Rt32)
3213 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RR(Word32 Rs, Word32 Rt)
3214 Instruction Type: M
3215 Execution Slots: SLOT23
3216 ========================================================================== */
3217
3218#define Q6_P_mpyu_RR __builtin_HEXAGON_M2_dpmpyuu_s0
3219
3220/* ==========================================================================
3221 Assembly Syntax: Rd32=mpy(Rs32,Rt32.h):<<1:rnd:sat
3222 C Intrinsic Prototype: Word32 Q6_R_mpy_RRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
3223 Instruction Type: M
3224 Execution Slots: SLOT23
3225 ========================================================================== */
3226
3227#define Q6_R_mpy_RRh_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyh_rs1
3228
3229/* ==========================================================================
3230 Assembly Syntax: Rd32=mpy(Rs32,Rt32.h):<<1:sat
3231 C Intrinsic Prototype: Word32 Q6_R_mpy_RRh_s1_sat(Word32 Rs, Word32 Rt)
3232 Instruction Type: M
3233 Execution Slots: SLOT23
3234 ========================================================================== */
3235
3236#define Q6_R_mpy_RRh_s1_sat __builtin_HEXAGON_M2_hmmpyh_s1
3237
3238/* ==========================================================================
3239 Assembly Syntax: Rd32=mpy(Rs32,Rt32.l):<<1:rnd:sat
3240 C Intrinsic Prototype: Word32 Q6_R_mpy_RRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
3241 Instruction Type: M
3242 Execution Slots: SLOT23
3243 ========================================================================== */
3244
3245#define Q6_R_mpy_RRl_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyl_rs1
3246
3247/* ==========================================================================
3248 Assembly Syntax: Rd32=mpy(Rs32,Rt32.l):<<1:sat
3249 C Intrinsic Prototype: Word32 Q6_R_mpy_RRl_s1_sat(Word32 Rs, Word32 Rt)
3250 Instruction Type: M
3251 Execution Slots: SLOT23
3252 ========================================================================== */
3253
3254#define Q6_R_mpy_RRl_s1_sat __builtin_HEXAGON_M2_hmmpyl_s1
3255
3256/* ==========================================================================
3257 Assembly Syntax: Rx32+=mpyi(Rs32,Rt32)
3258 C Intrinsic Prototype: Word32 Q6_R_mpyiacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
3259 Instruction Type: M
3260 Execution Slots: SLOT23
3261 ========================================================================== */
3262
3263#define Q6_R_mpyiacc_RR __builtin_HEXAGON_M2_maci
3264
3265/* ==========================================================================
3266 Assembly Syntax: Rx32-=mpyi(Rs32,#u8)
3267 C Intrinsic Prototype: Word32 Q6_R_mpyinac_RI(Word32 Rx, Word32 Rs, Word32 Iu8)
3268 Instruction Type: M
3269 Execution Slots: SLOT23
3270 ========================================================================== */
3271
3272#define Q6_R_mpyinac_RI __builtin_HEXAGON_M2_macsin
3273
3274/* ==========================================================================
3275 Assembly Syntax: Rx32+=mpyi(Rs32,#u8)
3276 C Intrinsic Prototype: Word32 Q6_R_mpyiacc_RI(Word32 Rx, Word32 Rs, Word32 Iu8)
3277 Instruction Type: M
3278 Execution Slots: SLOT23
3279 ========================================================================== */
3280
3281#define Q6_R_mpyiacc_RI __builtin_HEXAGON_M2_macsip
3282
3283/* ==========================================================================
3284 Assembly Syntax: Rxx32+=vmpywoh(Rss32,Rtt32):rnd:sat
3285 C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3286 Instruction Type: M
3287 Execution Slots: SLOT23
3288 ========================================================================== */
3289
3290#define Q6_P_vmpywohacc_PP_rnd_sat __builtin_HEXAGON_M2_mmachs_rs0
3291
3292/* ==========================================================================
3293 Assembly Syntax: Rxx32+=vmpywoh(Rss32,Rtt32):<<1:rnd:sat
3294 C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3295 Instruction Type: M
3296 Execution Slots: SLOT23
3297 ========================================================================== */
3298
3299#define Q6_P_vmpywohacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmachs_rs1
3300
3301/* ==========================================================================
3302 Assembly Syntax: Rxx32+=vmpywoh(Rss32,Rtt32):sat
3303 C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3304 Instruction Type: M
3305 Execution Slots: SLOT23
3306 ========================================================================== */
3307
3308#define Q6_P_vmpywohacc_PP_sat __builtin_HEXAGON_M2_mmachs_s0
3309
3310/* ==========================================================================
3311 Assembly Syntax: Rxx32+=vmpywoh(Rss32,Rtt32):<<1:sat
3312 C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3313 Instruction Type: M
3314 Execution Slots: SLOT23
3315 ========================================================================== */
3316
3317#define Q6_P_vmpywohacc_PP_s1_sat __builtin_HEXAGON_M2_mmachs_s1
3318
3319/* ==========================================================================
3320 Assembly Syntax: Rxx32+=vmpyweh(Rss32,Rtt32):rnd:sat
3321 C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3322 Instruction Type: M
3323 Execution Slots: SLOT23
3324 ========================================================================== */
3325
3326#define Q6_P_vmpywehacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacls_rs0
3327
3328/* ==========================================================================
3329 Assembly Syntax: Rxx32+=vmpyweh(Rss32,Rtt32):<<1:rnd:sat
3330 C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3331 Instruction Type: M
3332 Execution Slots: SLOT23
3333 ========================================================================== */
3334
3335#define Q6_P_vmpywehacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacls_rs1
3336
3337/* ==========================================================================
3338 Assembly Syntax: Rxx32+=vmpyweh(Rss32,Rtt32):sat
3339 C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3340 Instruction Type: M
3341 Execution Slots: SLOT23
3342 ========================================================================== */
3343
3344#define Q6_P_vmpywehacc_PP_sat __builtin_HEXAGON_M2_mmacls_s0
3345
3346/* ==========================================================================
3347 Assembly Syntax: Rxx32+=vmpyweh(Rss32,Rtt32):<<1:sat
3348 C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3349 Instruction Type: M
3350 Execution Slots: SLOT23
3351 ========================================================================== */
3352
3353#define Q6_P_vmpywehacc_PP_s1_sat __builtin_HEXAGON_M2_mmacls_s1
3354
3355/* ==========================================================================
3356 Assembly Syntax: Rxx32+=vmpywouh(Rss32,Rtt32):rnd:sat
3357 C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3358 Instruction Type: M
3359 Execution Slots: SLOT23
3360 ========================================================================== */
3361
3362#define Q6_P_vmpywouhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs0
3363
3364/* ==========================================================================
3365 Assembly Syntax: Rxx32+=vmpywouh(Rss32,Rtt32):<<1:rnd:sat
3366 C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3367 Instruction Type: M
3368 Execution Slots: SLOT23
3369 ========================================================================== */
3370
3371#define Q6_P_vmpywouhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs1
3372
3373/* ==========================================================================
3374 Assembly Syntax: Rxx32+=vmpywouh(Rss32,Rtt32):sat
3375 C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3376 Instruction Type: M
3377 Execution Slots: SLOT23
3378 ========================================================================== */
3379
3380#define Q6_P_vmpywouhacc_PP_sat __builtin_HEXAGON_M2_mmacuhs_s0
3381
3382/* ==========================================================================
3383 Assembly Syntax: Rxx32+=vmpywouh(Rss32,Rtt32):<<1:sat
3384 C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3385 Instruction Type: M
3386 Execution Slots: SLOT23
3387 ========================================================================== */
3388
3389#define Q6_P_vmpywouhacc_PP_s1_sat __builtin_HEXAGON_M2_mmacuhs_s1
3390
3391/* ==========================================================================
3392 Assembly Syntax: Rxx32+=vmpyweuh(Rss32,Rtt32):rnd:sat
3393 C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3394 Instruction Type: M
3395 Execution Slots: SLOT23
3396 ========================================================================== */
3397
3398#define Q6_P_vmpyweuhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs0
3399
3400/* ==========================================================================
3401 Assembly Syntax: Rxx32+=vmpyweuh(Rss32,Rtt32):<<1:rnd:sat
3402 C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3403 Instruction Type: M
3404 Execution Slots: SLOT23
3405 ========================================================================== */
3406
3407#define Q6_P_vmpyweuhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs1
3408
3409/* ==========================================================================
3410 Assembly Syntax: Rxx32+=vmpyweuh(Rss32,Rtt32):sat
3411 C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3412 Instruction Type: M
3413 Execution Slots: SLOT23
3414 ========================================================================== */
3415
3416#define Q6_P_vmpyweuhacc_PP_sat __builtin_HEXAGON_M2_mmaculs_s0
3417
3418/* ==========================================================================
3419 Assembly Syntax: Rxx32+=vmpyweuh(Rss32,Rtt32):<<1:sat
3420 C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
3421 Instruction Type: M
3422 Execution Slots: SLOT23
3423 ========================================================================== */
3424
3425#define Q6_P_vmpyweuhacc_PP_s1_sat __builtin_HEXAGON_M2_mmaculs_s1
3426
3427/* ==========================================================================
3428 Assembly Syntax: Rdd32=vmpywoh(Rss32,Rtt32):rnd:sat
3429 C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
3430 Instruction Type: M
3431 Execution Slots: SLOT23
3432 ========================================================================== */
3433
3434#define Q6_P_vmpywoh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs0
3435
3436/* ==========================================================================
3437 Assembly Syntax: Rdd32=vmpywoh(Rss32,Rtt32):<<1:rnd:sat
3438 C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
3439 Instruction Type: M
3440 Execution Slots: SLOT23
3441 ========================================================================== */
3442
3443#define Q6_P_vmpywoh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs1
3444
3445/* ==========================================================================
3446 Assembly Syntax: Rdd32=vmpywoh(Rss32,Rtt32):sat
3447 C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_sat(Word64 Rss, Word64 Rtt)
3448 Instruction Type: M
3449 Execution Slots: SLOT23
3450 ========================================================================== */
3451
3452#define Q6_P_vmpywoh_PP_sat __builtin_HEXAGON_M2_mmpyh_s0
3453
3454/* ==========================================================================
3455 Assembly Syntax: Rdd32=vmpywoh(Rss32,Rtt32):<<1:sat
3456 C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_s1_sat(Word64 Rss, Word64 Rtt)
3457 Instruction Type: M
3458 Execution Slots: SLOT23
3459 ========================================================================== */
3460
3461#define Q6_P_vmpywoh_PP_s1_sat __builtin_HEXAGON_M2_mmpyh_s1
3462
3463/* ==========================================================================
3464 Assembly Syntax: Rdd32=vmpyweh(Rss32,Rtt32):rnd:sat
3465 C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
3466 Instruction Type: M
3467 Execution Slots: SLOT23
3468 ========================================================================== */
3469
3470#define Q6_P_vmpyweh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs0
3471
3472/* ==========================================================================
3473 Assembly Syntax: Rdd32=vmpyweh(Rss32,Rtt32):<<1:rnd:sat
3474 C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
3475 Instruction Type: M
3476 Execution Slots: SLOT23
3477 ========================================================================== */
3478
3479#define Q6_P_vmpyweh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs1
3480
3481/* ==========================================================================
3482 Assembly Syntax: Rdd32=vmpyweh(Rss32,Rtt32):sat
3483 C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_sat(Word64 Rss, Word64 Rtt)
3484 Instruction Type: M
3485 Execution Slots: SLOT23
3486 ========================================================================== */
3487
3488#define Q6_P_vmpyweh_PP_sat __builtin_HEXAGON_M2_mmpyl_s0
3489
3490/* ==========================================================================
3491 Assembly Syntax: Rdd32=vmpyweh(Rss32,Rtt32):<<1:sat
3492 C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_s1_sat(Word64 Rss, Word64 Rtt)
3493 Instruction Type: M
3494 Execution Slots: SLOT23
3495 ========================================================================== */
3496
3497#define Q6_P_vmpyweh_PP_s1_sat __builtin_HEXAGON_M2_mmpyl_s1
3498
3499/* ==========================================================================
3500 Assembly Syntax: Rdd32=vmpywouh(Rss32,Rtt32):rnd:sat
3501 C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
3502 Instruction Type: M
3503 Execution Slots: SLOT23
3504 ========================================================================== */
3505
3506#define Q6_P_vmpywouh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs0
3507
3508/* ==========================================================================
3509 Assembly Syntax: Rdd32=vmpywouh(Rss32,Rtt32):<<1:rnd:sat
3510 C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
3511 Instruction Type: M
3512 Execution Slots: SLOT23
3513 ========================================================================== */
3514
3515#define Q6_P_vmpywouh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs1
3516
3517/* ==========================================================================
3518 Assembly Syntax: Rdd32=vmpywouh(Rss32,Rtt32):sat
3519 C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_sat(Word64 Rss, Word64 Rtt)
3520 Instruction Type: M
3521 Execution Slots: SLOT23
3522 ========================================================================== */
3523
3524#define Q6_P_vmpywouh_PP_sat __builtin_HEXAGON_M2_mmpyuh_s0
3525
3526/* ==========================================================================
3527 Assembly Syntax: Rdd32=vmpywouh(Rss32,Rtt32):<<1:sat
3528 C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_s1_sat(Word64 Rss, Word64 Rtt)
3529 Instruction Type: M
3530 Execution Slots: SLOT23
3531 ========================================================================== */
3532
3533#define Q6_P_vmpywouh_PP_s1_sat __builtin_HEXAGON_M2_mmpyuh_s1
3534
3535/* ==========================================================================
3536 Assembly Syntax: Rdd32=vmpyweuh(Rss32,Rtt32):rnd:sat
3537 C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
3538 Instruction Type: M
3539 Execution Slots: SLOT23
3540 ========================================================================== */
3541
3542#define Q6_P_vmpyweuh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs0
3543
3544/* ==========================================================================
3545 Assembly Syntax: Rdd32=vmpyweuh(Rss32,Rtt32):<<1:rnd:sat
3546 C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
3547 Instruction Type: M
3548 Execution Slots: SLOT23
3549 ========================================================================== */
3550
3551#define Q6_P_vmpyweuh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs1
3552
3553/* ==========================================================================
3554 Assembly Syntax: Rdd32=vmpyweuh(Rss32,Rtt32):sat
3555 C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_sat(Word64 Rss, Word64 Rtt)
3556 Instruction Type: M
3557 Execution Slots: SLOT23
3558 ========================================================================== */
3559
3560#define Q6_P_vmpyweuh_PP_sat __builtin_HEXAGON_M2_mmpyul_s0
3561
3562/* ==========================================================================
3563 Assembly Syntax: Rdd32=vmpyweuh(Rss32,Rtt32):<<1:sat
3564 C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_s1_sat(Word64 Rss, Word64 Rtt)
3565 Instruction Type: M
3566 Execution Slots: SLOT23
3567 ========================================================================== */
3568
3569#define Q6_P_vmpyweuh_PP_s1_sat __builtin_HEXAGON_M2_mmpyul_s1
3570
3571/* ==========================================================================
3572 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.h)
3573 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
3574 Instruction Type: M
3575 Execution Slots: SLOT23
3576 ========================================================================== */
3577
3578#define Q6_R_mpyacc_RhRh __builtin_HEXAGON_M2_mpy_acc_hh_s0
3579
3580/* ==========================================================================
3581 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.h):<<1
3582 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3583 Instruction Type: M
3584 Execution Slots: SLOT23
3585 ========================================================================== */
3586
3587#define Q6_R_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpy_acc_hh_s1
3588
3589/* ==========================================================================
3590 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.l)
3591 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
3592 Instruction Type: M
3593 Execution Slots: SLOT23
3594 ========================================================================== */
3595
3596#define Q6_R_mpyacc_RhRl __builtin_HEXAGON_M2_mpy_acc_hl_s0
3597
3598/* ==========================================================================
3599 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.l):<<1
3600 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3601 Instruction Type: M
3602 Execution Slots: SLOT23
3603 ========================================================================== */
3604
3605#define Q6_R_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpy_acc_hl_s1
3606
3607/* ==========================================================================
3608 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.h)
3609 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
3610 Instruction Type: M
3611 Execution Slots: SLOT23
3612 ========================================================================== */
3613
3614#define Q6_R_mpyacc_RlRh __builtin_HEXAGON_M2_mpy_acc_lh_s0
3615
3616/* ==========================================================================
3617 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.h):<<1
3618 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3619 Instruction Type: M
3620 Execution Slots: SLOT23
3621 ========================================================================== */
3622
3623#define Q6_R_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpy_acc_lh_s1
3624
3625/* ==========================================================================
3626 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.l)
3627 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
3628 Instruction Type: M
3629 Execution Slots: SLOT23
3630 ========================================================================== */
3631
3632#define Q6_R_mpyacc_RlRl __builtin_HEXAGON_M2_mpy_acc_ll_s0
3633
3634/* ==========================================================================
3635 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.l):<<1
3636 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3637 Instruction Type: M
3638 Execution Slots: SLOT23
3639 ========================================================================== */
3640
3641#define Q6_R_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpy_acc_ll_s1
3642
3643/* ==========================================================================
3644 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.h):sat
3645 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3646 Instruction Type: M
3647 Execution Slots: SLOT23
3648 ========================================================================== */
3649
3650#define Q6_R_mpyacc_RhRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0
3651
3652/* ==========================================================================
3653 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.h):<<1:sat
3654 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3655 Instruction Type: M
3656 Execution Slots: SLOT23
3657 ========================================================================== */
3658
3659#define Q6_R_mpyacc_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1
3660
3661/* ==========================================================================
3662 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.l):sat
3663 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3664 Instruction Type: M
3665 Execution Slots: SLOT23
3666 ========================================================================== */
3667
3668#define Q6_R_mpyacc_RhRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0
3669
3670/* ==========================================================================
3671 Assembly Syntax: Rx32+=mpy(Rs32.h,Rt32.l):<<1:sat
3672 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3673 Instruction Type: M
3674 Execution Slots: SLOT23
3675 ========================================================================== */
3676
3677#define Q6_R_mpyacc_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1
3678
3679/* ==========================================================================
3680 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.h):sat
3681 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3682 Instruction Type: M
3683 Execution Slots: SLOT23
3684 ========================================================================== */
3685
3686#define Q6_R_mpyacc_RlRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0
3687
3688/* ==========================================================================
3689 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.h):<<1:sat
3690 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3691 Instruction Type: M
3692 Execution Slots: SLOT23
3693 ========================================================================== */
3694
3695#define Q6_R_mpyacc_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1
3696
3697/* ==========================================================================
3698 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.l):sat
3699 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3700 Instruction Type: M
3701 Execution Slots: SLOT23
3702 ========================================================================== */
3703
3704#define Q6_R_mpyacc_RlRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0
3705
3706/* ==========================================================================
3707 Assembly Syntax: Rx32+=mpy(Rs32.l,Rt32.l):<<1:sat
3708 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3709 Instruction Type: M
3710 Execution Slots: SLOT23
3711 ========================================================================== */
3712
3713#define Q6_R_mpyacc_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1
3714
3715/* ==========================================================================
3716 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h)
3717 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh(Word32 Rs, Word32 Rt)
3718 Instruction Type: M
3719 Execution Slots: SLOT23
3720 ========================================================================== */
3721
3722#define Q6_R_mpy_RhRh __builtin_HEXAGON_M2_mpy_hh_s0
3723
3724/* ==========================================================================
3725 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):<<1
3726 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1(Word32 Rs, Word32 Rt)
3727 Instruction Type: M
3728 Execution Slots: SLOT23
3729 ========================================================================== */
3730
3731#define Q6_R_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpy_hh_s1
3732
3733/* ==========================================================================
3734 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l)
3735 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl(Word32 Rs, Word32 Rt)
3736 Instruction Type: M
3737 Execution Slots: SLOT23
3738 ========================================================================== */
3739
3740#define Q6_R_mpy_RhRl __builtin_HEXAGON_M2_mpy_hl_s0
3741
3742/* ==========================================================================
3743 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):<<1
3744 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1(Word32 Rs, Word32 Rt)
3745 Instruction Type: M
3746 Execution Slots: SLOT23
3747 ========================================================================== */
3748
3749#define Q6_R_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpy_hl_s1
3750
3751/* ==========================================================================
3752 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h)
3753 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh(Word32 Rs, Word32 Rt)
3754 Instruction Type: M
3755 Execution Slots: SLOT23
3756 ========================================================================== */
3757
3758#define Q6_R_mpy_RlRh __builtin_HEXAGON_M2_mpy_lh_s0
3759
3760/* ==========================================================================
3761 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):<<1
3762 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1(Word32 Rs, Word32 Rt)
3763 Instruction Type: M
3764 Execution Slots: SLOT23
3765 ========================================================================== */
3766
3767#define Q6_R_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpy_lh_s1
3768
3769/* ==========================================================================
3770 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l)
3771 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl(Word32 Rs, Word32 Rt)
3772 Instruction Type: M
3773 Execution Slots: SLOT23
3774 ========================================================================== */
3775
3776#define Q6_R_mpy_RlRl __builtin_HEXAGON_M2_mpy_ll_s0
3777
3778/* ==========================================================================
3779 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):<<1
3780 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1(Word32 Rs, Word32 Rt)
3781 Instruction Type: M
3782 Execution Slots: SLOT23
3783 ========================================================================== */
3784
3785#define Q6_R_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpy_ll_s1
3786
3787/* ==========================================================================
3788 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.h)
3789 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
3790 Instruction Type: M
3791 Execution Slots: SLOT23
3792 ========================================================================== */
3793
3794#define Q6_R_mpynac_RhRh __builtin_HEXAGON_M2_mpy_nac_hh_s0
3795
3796/* ==========================================================================
3797 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.h):<<1
3798 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3799 Instruction Type: M
3800 Execution Slots: SLOT23
3801 ========================================================================== */
3802
3803#define Q6_R_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpy_nac_hh_s1
3804
3805/* ==========================================================================
3806 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.l)
3807 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
3808 Instruction Type: M
3809 Execution Slots: SLOT23
3810 ========================================================================== */
3811
3812#define Q6_R_mpynac_RhRl __builtin_HEXAGON_M2_mpy_nac_hl_s0
3813
3814/* ==========================================================================
3815 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.l):<<1
3816 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3817 Instruction Type: M
3818 Execution Slots: SLOT23
3819 ========================================================================== */
3820
3821#define Q6_R_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpy_nac_hl_s1
3822
3823/* ==========================================================================
3824 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.h)
3825 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
3826 Instruction Type: M
3827 Execution Slots: SLOT23
3828 ========================================================================== */
3829
3830#define Q6_R_mpynac_RlRh __builtin_HEXAGON_M2_mpy_nac_lh_s0
3831
3832/* ==========================================================================
3833 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.h):<<1
3834 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3835 Instruction Type: M
3836 Execution Slots: SLOT23
3837 ========================================================================== */
3838
3839#define Q6_R_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpy_nac_lh_s1
3840
3841/* ==========================================================================
3842 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.l)
3843 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
3844 Instruction Type: M
3845 Execution Slots: SLOT23
3846 ========================================================================== */
3847
3848#define Q6_R_mpynac_RlRl __builtin_HEXAGON_M2_mpy_nac_ll_s0
3849
3850/* ==========================================================================
3851 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.l):<<1
3852 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
3853 Instruction Type: M
3854 Execution Slots: SLOT23
3855 ========================================================================== */
3856
3857#define Q6_R_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpy_nac_ll_s1
3858
3859/* ==========================================================================
3860 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.h):sat
3861 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3862 Instruction Type: M
3863 Execution Slots: SLOT23
3864 ========================================================================== */
3865
3866#define Q6_R_mpynac_RhRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0
3867
3868/* ==========================================================================
3869 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.h):<<1:sat
3870 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3871 Instruction Type: M
3872 Execution Slots: SLOT23
3873 ========================================================================== */
3874
3875#define Q6_R_mpynac_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1
3876
3877/* ==========================================================================
3878 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.l):sat
3879 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3880 Instruction Type: M
3881 Execution Slots: SLOT23
3882 ========================================================================== */
3883
3884#define Q6_R_mpynac_RhRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0
3885
3886/* ==========================================================================
3887 Assembly Syntax: Rx32-=mpy(Rs32.h,Rt32.l):<<1:sat
3888 C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3889 Instruction Type: M
3890 Execution Slots: SLOT23
3891 ========================================================================== */
3892
3893#define Q6_R_mpynac_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1
3894
3895/* ==========================================================================
3896 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.h):sat
3897 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3898 Instruction Type: M
3899 Execution Slots: SLOT23
3900 ========================================================================== */
3901
3902#define Q6_R_mpynac_RlRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0
3903
3904/* ==========================================================================
3905 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.h):<<1:sat
3906 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3907 Instruction Type: M
3908 Execution Slots: SLOT23
3909 ========================================================================== */
3910
3911#define Q6_R_mpynac_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1
3912
3913/* ==========================================================================
3914 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.l):sat
3915 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3916 Instruction Type: M
3917 Execution Slots: SLOT23
3918 ========================================================================== */
3919
3920#define Q6_R_mpynac_RlRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0
3921
3922/* ==========================================================================
3923 Assembly Syntax: Rx32-=mpy(Rs32.l,Rt32.l):<<1:sat
3924 C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
3925 Instruction Type: M
3926 Execution Slots: SLOT23
3927 ========================================================================== */
3928
3929#define Q6_R_mpynac_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1
3930
3931/* ==========================================================================
3932 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):rnd
3933 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_rnd(Word32 Rs, Word32 Rt)
3934 Instruction Type: M
3935 Execution Slots: SLOT23
3936 ========================================================================== */
3937
3938#define Q6_R_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s0
3939
3940/* ==========================================================================
3941 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):<<1:rnd
3942 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_rnd(Word32 Rs, Word32 Rt)
3943 Instruction Type: M
3944 Execution Slots: SLOT23
3945 ========================================================================== */
3946
3947#define Q6_R_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s1
3948
3949/* ==========================================================================
3950 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):rnd
3951 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_rnd(Word32 Rs, Word32 Rt)
3952 Instruction Type: M
3953 Execution Slots: SLOT23
3954 ========================================================================== */
3955
3956#define Q6_R_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s0
3957
3958/* ==========================================================================
3959 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):<<1:rnd
3960 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_rnd(Word32 Rs, Word32 Rt)
3961 Instruction Type: M
3962 Execution Slots: SLOT23
3963 ========================================================================== */
3964
3965#define Q6_R_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s1
3966
3967/* ==========================================================================
3968 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):rnd
3969 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_rnd(Word32 Rs, Word32 Rt)
3970 Instruction Type: M
3971 Execution Slots: SLOT23
3972 ========================================================================== */
3973
3974#define Q6_R_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s0
3975
3976/* ==========================================================================
3977 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):<<1:rnd
3978 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_rnd(Word32 Rs, Word32 Rt)
3979 Instruction Type: M
3980 Execution Slots: SLOT23
3981 ========================================================================== */
3982
3983#define Q6_R_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s1
3984
3985/* ==========================================================================
3986 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):rnd
3987 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_rnd(Word32 Rs, Word32 Rt)
3988 Instruction Type: M
3989 Execution Slots: SLOT23
3990 ========================================================================== */
3991
3992#define Q6_R_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s0
3993
3994/* ==========================================================================
3995 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):<<1:rnd
3996 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_rnd(Word32 Rs, Word32 Rt)
3997 Instruction Type: M
3998 Execution Slots: SLOT23
3999 ========================================================================== */
4000
4001#define Q6_R_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s1
4002
4003/* ==========================================================================
4004 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):sat
4005 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_sat(Word32 Rs, Word32 Rt)
4006 Instruction Type: M
4007 Execution Slots: SLOT23
4008 ========================================================================== */
4009
4010#define Q6_R_mpy_RhRh_sat __builtin_HEXAGON_M2_mpy_sat_hh_s0
4011
4012/* ==========================================================================
4013 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):<<1:sat
4014 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_sat(Word32 Rs, Word32 Rt)
4015 Instruction Type: M
4016 Execution Slots: SLOT23
4017 ========================================================================== */
4018
4019#define Q6_R_mpy_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_hh_s1
4020
4021/* ==========================================================================
4022 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):sat
4023 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_sat(Word32 Rs, Word32 Rt)
4024 Instruction Type: M
4025 Execution Slots: SLOT23
4026 ========================================================================== */
4027
4028#define Q6_R_mpy_RhRl_sat __builtin_HEXAGON_M2_mpy_sat_hl_s0
4029
4030/* ==========================================================================
4031 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):<<1:sat
4032 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_sat(Word32 Rs, Word32 Rt)
4033 Instruction Type: M
4034 Execution Slots: SLOT23
4035 ========================================================================== */
4036
4037#define Q6_R_mpy_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_hl_s1
4038
4039/* ==========================================================================
4040 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):sat
4041 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_sat(Word32 Rs, Word32 Rt)
4042 Instruction Type: M
4043 Execution Slots: SLOT23
4044 ========================================================================== */
4045
4046#define Q6_R_mpy_RlRh_sat __builtin_HEXAGON_M2_mpy_sat_lh_s0
4047
4048/* ==========================================================================
4049 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):<<1:sat
4050 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_sat(Word32 Rs, Word32 Rt)
4051 Instruction Type: M
4052 Execution Slots: SLOT23
4053 ========================================================================== */
4054
4055#define Q6_R_mpy_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_lh_s1
4056
4057/* ==========================================================================
4058 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):sat
4059 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_sat(Word32 Rs, Word32 Rt)
4060 Instruction Type: M
4061 Execution Slots: SLOT23
4062 ========================================================================== */
4063
4064#define Q6_R_mpy_RlRl_sat __builtin_HEXAGON_M2_mpy_sat_ll_s0
4065
4066/* ==========================================================================
4067 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):<<1:sat
4068 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_sat(Word32 Rs, Word32 Rt)
4069 Instruction Type: M
4070 Execution Slots: SLOT23
4071 ========================================================================== */
4072
4073#define Q6_R_mpy_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_ll_s1
4074
4075/* ==========================================================================
4076 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):rnd:sat
4077 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_rnd_sat(Word32 Rs, Word32 Rt)
4078 Instruction Type: M
4079 Execution Slots: SLOT23
4080 ========================================================================== */
4081
4082#define Q6_R_mpy_RhRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0
4083
4084/* ==========================================================================
4085 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.h):<<1:rnd:sat
4086 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
4087 Instruction Type: M
4088 Execution Slots: SLOT23
4089 ========================================================================== */
4090
4091#define Q6_R_mpy_RhRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1
4092
4093/* ==========================================================================
4094 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):rnd:sat
4095 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_rnd_sat(Word32 Rs, Word32 Rt)
4096 Instruction Type: M
4097 Execution Slots: SLOT23
4098 ========================================================================== */
4099
4100#define Q6_R_mpy_RhRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0
4101
4102/* ==========================================================================
4103 Assembly Syntax: Rd32=mpy(Rs32.h,Rt32.l):<<1:rnd:sat
4104 C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
4105 Instruction Type: M
4106 Execution Slots: SLOT23
4107 ========================================================================== */
4108
4109#define Q6_R_mpy_RhRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1
4110
4111/* ==========================================================================
4112 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):rnd:sat
4113 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_rnd_sat(Word32 Rs, Word32 Rt)
4114 Instruction Type: M
4115 Execution Slots: SLOT23
4116 ========================================================================== */
4117
4118#define Q6_R_mpy_RlRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0
4119
4120/* ==========================================================================
4121 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.h):<<1:rnd:sat
4122 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
4123 Instruction Type: M
4124 Execution Slots: SLOT23
4125 ========================================================================== */
4126
4127#define Q6_R_mpy_RlRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1
4128
4129/* ==========================================================================
4130 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):rnd:sat
4131 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_rnd_sat(Word32 Rs, Word32 Rt)
4132 Instruction Type: M
4133 Execution Slots: SLOT23
4134 ========================================================================== */
4135
4136#define Q6_R_mpy_RlRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0
4137
4138/* ==========================================================================
4139 Assembly Syntax: Rd32=mpy(Rs32.l,Rt32.l):<<1:rnd:sat
4140 C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
4141 Instruction Type: M
4142 Execution Slots: SLOT23
4143 ========================================================================== */
4144
4145#define Q6_R_mpy_RlRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1
4146
4147/* ==========================================================================
4148 Assembly Syntax: Rd32=mpy(Rs32,Rt32)
4149 C Intrinsic Prototype: Word32 Q6_R_mpy_RR(Word32 Rs, Word32 Rt)
4150 Instruction Type: M
4151 Execution Slots: SLOT23
4152 ========================================================================== */
4153
4154#define Q6_R_mpy_RR __builtin_HEXAGON_M2_mpy_up
4155
4156/* ==========================================================================
4157 Assembly Syntax: Rd32=mpy(Rs32,Rt32):<<1
4158 C Intrinsic Prototype: Word32 Q6_R_mpy_RR_s1(Word32 Rs, Word32 Rt)
4159 Instruction Type: M
4160 Execution Slots: SLOT23
4161 ========================================================================== */
4162
4163#define Q6_R_mpy_RR_s1 __builtin_HEXAGON_M2_mpy_up_s1
4164
4165/* ==========================================================================
4166 Assembly Syntax: Rd32=mpy(Rs32,Rt32):<<1:sat
4167 C Intrinsic Prototype: Word32 Q6_R_mpy_RR_s1_sat(Word32 Rs, Word32 Rt)
4168 Instruction Type: M
4169 Execution Slots: SLOT23
4170 ========================================================================== */
4171
4172#define Q6_R_mpy_RR_s1_sat __builtin_HEXAGON_M2_mpy_up_s1_sat
4173
4174/* ==========================================================================
4175 Assembly Syntax: Rxx32+=mpy(Rs32.h,Rt32.h)
4176 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4177 Instruction Type: M
4178 Execution Slots: SLOT23
4179 ========================================================================== */
4180
4181#define Q6_P_mpyacc_RhRh __builtin_HEXAGON_M2_mpyd_acc_hh_s0
4182
4183/* ==========================================================================
4184 Assembly Syntax: Rxx32+=mpy(Rs32.h,Rt32.h):<<1
4185 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4186 Instruction Type: M
4187 Execution Slots: SLOT23
4188 ========================================================================== */
4189
4190#define Q6_P_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpyd_acc_hh_s1
4191
4192/* ==========================================================================
4193 Assembly Syntax: Rxx32+=mpy(Rs32.h,Rt32.l)
4194 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4195 Instruction Type: M
4196 Execution Slots: SLOT23
4197 ========================================================================== */
4198
4199#define Q6_P_mpyacc_RhRl __builtin_HEXAGON_M2_mpyd_acc_hl_s0
4200
4201/* ==========================================================================
4202 Assembly Syntax: Rxx32+=mpy(Rs32.h,Rt32.l):<<1
4203 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4204 Instruction Type: M
4205 Execution Slots: SLOT23
4206 ========================================================================== */
4207
4208#define Q6_P_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpyd_acc_hl_s1
4209
4210/* ==========================================================================
4211 Assembly Syntax: Rxx32+=mpy(Rs32.l,Rt32.h)
4212 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4213 Instruction Type: M
4214 Execution Slots: SLOT23
4215 ========================================================================== */
4216
4217#define Q6_P_mpyacc_RlRh __builtin_HEXAGON_M2_mpyd_acc_lh_s0
4218
4219/* ==========================================================================
4220 Assembly Syntax: Rxx32+=mpy(Rs32.l,Rt32.h):<<1
4221 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4222 Instruction Type: M
4223 Execution Slots: SLOT23
4224 ========================================================================== */
4225
4226#define Q6_P_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpyd_acc_lh_s1
4227
4228/* ==========================================================================
4229 Assembly Syntax: Rxx32+=mpy(Rs32.l,Rt32.l)
4230 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4231 Instruction Type: M
4232 Execution Slots: SLOT23
4233 ========================================================================== */
4234
4235#define Q6_P_mpyacc_RlRl __builtin_HEXAGON_M2_mpyd_acc_ll_s0
4236
4237/* ==========================================================================
4238 Assembly Syntax: Rxx32+=mpy(Rs32.l,Rt32.l):<<1
4239 C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4240 Instruction Type: M
4241 Execution Slots: SLOT23
4242 ========================================================================== */
4243
4244#define Q6_P_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpyd_acc_ll_s1
4245
4246/* ==========================================================================
4247 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.h)
4248 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh(Word32 Rs, Word32 Rt)
4249 Instruction Type: M
4250 Execution Slots: SLOT23
4251 ========================================================================== */
4252
4253#define Q6_P_mpy_RhRh __builtin_HEXAGON_M2_mpyd_hh_s0
4254
4255/* ==========================================================================
4256 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.h):<<1
4257 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_s1(Word32 Rs, Word32 Rt)
4258 Instruction Type: M
4259 Execution Slots: SLOT23
4260 ========================================================================== */
4261
4262#define Q6_P_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpyd_hh_s1
4263
4264/* ==========================================================================
4265 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.l)
4266 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl(Word32 Rs, Word32 Rt)
4267 Instruction Type: M
4268 Execution Slots: SLOT23
4269 ========================================================================== */
4270
4271#define Q6_P_mpy_RhRl __builtin_HEXAGON_M2_mpyd_hl_s0
4272
4273/* ==========================================================================
4274 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.l):<<1
4275 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_s1(Word32 Rs, Word32 Rt)
4276 Instruction Type: M
4277 Execution Slots: SLOT23
4278 ========================================================================== */
4279
4280#define Q6_P_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpyd_hl_s1
4281
4282/* ==========================================================================
4283 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.h)
4284 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh(Word32 Rs, Word32 Rt)
4285 Instruction Type: M
4286 Execution Slots: SLOT23
4287 ========================================================================== */
4288
4289#define Q6_P_mpy_RlRh __builtin_HEXAGON_M2_mpyd_lh_s0
4290
4291/* ==========================================================================
4292 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.h):<<1
4293 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_s1(Word32 Rs, Word32 Rt)
4294 Instruction Type: M
4295 Execution Slots: SLOT23
4296 ========================================================================== */
4297
4298#define Q6_P_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpyd_lh_s1
4299
4300/* ==========================================================================
4301 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.l)
4302 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl(Word32 Rs, Word32 Rt)
4303 Instruction Type: M
4304 Execution Slots: SLOT23
4305 ========================================================================== */
4306
4307#define Q6_P_mpy_RlRl __builtin_HEXAGON_M2_mpyd_ll_s0
4308
4309/* ==========================================================================
4310 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.l):<<1
4311 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_s1(Word32 Rs, Word32 Rt)
4312 Instruction Type: M
4313 Execution Slots: SLOT23
4314 ========================================================================== */
4315
4316#define Q6_P_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpyd_ll_s1
4317
4318/* ==========================================================================
4319 Assembly Syntax: Rxx32-=mpy(Rs32.h,Rt32.h)
4320 C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4321 Instruction Type: M
4322 Execution Slots: SLOT23
4323 ========================================================================== */
4324
4325#define Q6_P_mpynac_RhRh __builtin_HEXAGON_M2_mpyd_nac_hh_s0
4326
4327/* ==========================================================================
4328 Assembly Syntax: Rxx32-=mpy(Rs32.h,Rt32.h):<<1
4329 C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4330 Instruction Type: M
4331 Execution Slots: SLOT23
4332 ========================================================================== */
4333
4334#define Q6_P_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpyd_nac_hh_s1
4335
4336/* ==========================================================================
4337 Assembly Syntax: Rxx32-=mpy(Rs32.h,Rt32.l)
4338 C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4339 Instruction Type: M
4340 Execution Slots: SLOT23
4341 ========================================================================== */
4342
4343#define Q6_P_mpynac_RhRl __builtin_HEXAGON_M2_mpyd_nac_hl_s0
4344
4345/* ==========================================================================
4346 Assembly Syntax: Rxx32-=mpy(Rs32.h,Rt32.l):<<1
4347 C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4348 Instruction Type: M
4349 Execution Slots: SLOT23
4350 ========================================================================== */
4351
4352#define Q6_P_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpyd_nac_hl_s1
4353
4354/* ==========================================================================
4355 Assembly Syntax: Rxx32-=mpy(Rs32.l,Rt32.h)
4356 C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4357 Instruction Type: M
4358 Execution Slots: SLOT23
4359 ========================================================================== */
4360
4361#define Q6_P_mpynac_RlRh __builtin_HEXAGON_M2_mpyd_nac_lh_s0
4362
4363/* ==========================================================================
4364 Assembly Syntax: Rxx32-=mpy(Rs32.l,Rt32.h):<<1
4365 C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4366 Instruction Type: M
4367 Execution Slots: SLOT23
4368 ========================================================================== */
4369
4370#define Q6_P_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpyd_nac_lh_s1
4371
4372/* ==========================================================================
4373 Assembly Syntax: Rxx32-=mpy(Rs32.l,Rt32.l)
4374 C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4375 Instruction Type: M
4376 Execution Slots: SLOT23
4377 ========================================================================== */
4378
4379#define Q6_P_mpynac_RlRl __builtin_HEXAGON_M2_mpyd_nac_ll_s0
4380
4381/* ==========================================================================
4382 Assembly Syntax: Rxx32-=mpy(Rs32.l,Rt32.l):<<1
4383 C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4384 Instruction Type: M
4385 Execution Slots: SLOT23
4386 ========================================================================== */
4387
4388#define Q6_P_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpyd_nac_ll_s1
4389
4390/* ==========================================================================
4391 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.h):rnd
4392 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_rnd(Word32 Rs, Word32 Rt)
4393 Instruction Type: M
4394 Execution Slots: SLOT23
4395 ========================================================================== */
4396
4397#define Q6_P_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s0
4398
4399/* ==========================================================================
4400 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.h):<<1:rnd
4401 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_s1_rnd(Word32 Rs, Word32 Rt)
4402 Instruction Type: M
4403 Execution Slots: SLOT23
4404 ========================================================================== */
4405
4406#define Q6_P_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s1
4407
4408/* ==========================================================================
4409 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.l):rnd
4410 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_rnd(Word32 Rs, Word32 Rt)
4411 Instruction Type: M
4412 Execution Slots: SLOT23
4413 ========================================================================== */
4414
4415#define Q6_P_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s0
4416
4417/* ==========================================================================
4418 Assembly Syntax: Rdd32=mpy(Rs32.h,Rt32.l):<<1:rnd
4419 C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_s1_rnd(Word32 Rs, Word32 Rt)
4420 Instruction Type: M
4421 Execution Slots: SLOT23
4422 ========================================================================== */
4423
4424#define Q6_P_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s1
4425
4426/* ==========================================================================
4427 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.h):rnd
4428 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_rnd(Word32 Rs, Word32 Rt)
4429 Instruction Type: M
4430 Execution Slots: SLOT23
4431 ========================================================================== */
4432
4433#define Q6_P_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s0
4434
4435/* ==========================================================================
4436 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.h):<<1:rnd
4437 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_s1_rnd(Word32 Rs, Word32 Rt)
4438 Instruction Type: M
4439 Execution Slots: SLOT23
4440 ========================================================================== */
4441
4442#define Q6_P_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s1
4443
4444/* ==========================================================================
4445 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.l):rnd
4446 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_rnd(Word32 Rs, Word32 Rt)
4447 Instruction Type: M
4448 Execution Slots: SLOT23
4449 ========================================================================== */
4450
4451#define Q6_P_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s0
4452
4453/* ==========================================================================
4454 Assembly Syntax: Rdd32=mpy(Rs32.l,Rt32.l):<<1:rnd
4455 C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_s1_rnd(Word32 Rs, Word32 Rt)
4456 Instruction Type: M
4457 Execution Slots: SLOT23
4458 ========================================================================== */
4459
4460#define Q6_P_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s1
4461
4462/* ==========================================================================
4463 Assembly Syntax: Rd32=mpyi(Rs32,Rt32)
4464 C Intrinsic Prototype: Word32 Q6_R_mpyi_RR(Word32 Rs, Word32 Rt)
4465 Instruction Type: M
4466 Execution Slots: SLOT23
4467 ========================================================================== */
4468
4469#define Q6_R_mpyi_RR __builtin_HEXAGON_M2_mpyi
4470
4471/* ==========================================================================
4472 Assembly Syntax: Rd32=mpyi(Rs32,#m9)
4473 C Intrinsic Prototype: Word32 Q6_R_mpyi_RI(Word32 Rs, Word32 Im9)
4474 Instruction Type: M
4475 Execution Slots: SLOT0123
4476 ========================================================================== */
4477
4478#define Q6_R_mpyi_RI __builtin_HEXAGON_M2_mpysmi
4479
4480/* ==========================================================================
4481 Assembly Syntax: Rd32=mpysu(Rs32,Rt32)
4482 C Intrinsic Prototype: Word32 Q6_R_mpysu_RR(Word32 Rs, Word32 Rt)
4483 Instruction Type: M
4484 Execution Slots: SLOT23
4485 ========================================================================== */
4486
4487#define Q6_R_mpysu_RR __builtin_HEXAGON_M2_mpysu_up
4488
4489/* ==========================================================================
4490 Assembly Syntax: Rx32+=mpyu(Rs32.h,Rt32.h)
4491 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
4492 Instruction Type: M
4493 Execution Slots: SLOT23
4494 ========================================================================== */
4495
4496#define Q6_R_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyu_acc_hh_s0
4497
4498/* ==========================================================================
4499 Assembly Syntax: Rx32+=mpyu(Rs32.h,Rt32.h):<<1
4500 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4501 Instruction Type: M
4502 Execution Slots: SLOT23
4503 ========================================================================== */
4504
4505#define Q6_R_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyu_acc_hh_s1
4506
4507/* ==========================================================================
4508 Assembly Syntax: Rx32+=mpyu(Rs32.h,Rt32.l)
4509 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
4510 Instruction Type: M
4511 Execution Slots: SLOT23
4512 ========================================================================== */
4513
4514#define Q6_R_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyu_acc_hl_s0
4515
4516/* ==========================================================================
4517 Assembly Syntax: Rx32+=mpyu(Rs32.h,Rt32.l):<<1
4518 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4519 Instruction Type: M
4520 Execution Slots: SLOT23
4521 ========================================================================== */
4522
4523#define Q6_R_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyu_acc_hl_s1
4524
4525/* ==========================================================================
4526 Assembly Syntax: Rx32+=mpyu(Rs32.l,Rt32.h)
4527 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
4528 Instruction Type: M
4529 Execution Slots: SLOT23
4530 ========================================================================== */
4531
4532#define Q6_R_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyu_acc_lh_s0
4533
4534/* ==========================================================================
4535 Assembly Syntax: Rx32+=mpyu(Rs32.l,Rt32.h):<<1
4536 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4537 Instruction Type: M
4538 Execution Slots: SLOT23
4539 ========================================================================== */
4540
4541#define Q6_R_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyu_acc_lh_s1
4542
4543/* ==========================================================================
4544 Assembly Syntax: Rx32+=mpyu(Rs32.l,Rt32.l)
4545 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
4546 Instruction Type: M
4547 Execution Slots: SLOT23
4548 ========================================================================== */
4549
4550#define Q6_R_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyu_acc_ll_s0
4551
4552/* ==========================================================================
4553 Assembly Syntax: Rx32+=mpyu(Rs32.l,Rt32.l):<<1
4554 C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4555 Instruction Type: M
4556 Execution Slots: SLOT23
4557 ========================================================================== */
4558
4559#define Q6_R_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyu_acc_ll_s1
4560
4561/* ==========================================================================
4562 Assembly Syntax: Rd32=mpyu(Rs32.h,Rt32.h)
4563 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRh(Word32 Rs, Word32 Rt)
4564 Instruction Type: M
4565 Execution Slots: SLOT23
4566 ========================================================================== */
4567
4568#define Q6_R_mpyu_RhRh __builtin_HEXAGON_M2_mpyu_hh_s0
4569
4570/* ==========================================================================
4571 Assembly Syntax: Rd32=mpyu(Rs32.h,Rt32.h):<<1
4572 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRh_s1(Word32 Rs, Word32 Rt)
4573 Instruction Type: M
4574 Execution Slots: SLOT23
4575 ========================================================================== */
4576
4577#define Q6_R_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyu_hh_s1
4578
4579/* ==========================================================================
4580 Assembly Syntax: Rd32=mpyu(Rs32.h,Rt32.l)
4581 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRl(Word32 Rs, Word32 Rt)
4582 Instruction Type: M
4583 Execution Slots: SLOT23
4584 ========================================================================== */
4585
4586#define Q6_R_mpyu_RhRl __builtin_HEXAGON_M2_mpyu_hl_s0
4587
4588/* ==========================================================================
4589 Assembly Syntax: Rd32=mpyu(Rs32.h,Rt32.l):<<1
4590 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRl_s1(Word32 Rs, Word32 Rt)
4591 Instruction Type: M
4592 Execution Slots: SLOT23
4593 ========================================================================== */
4594
4595#define Q6_R_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyu_hl_s1
4596
4597/* ==========================================================================
4598 Assembly Syntax: Rd32=mpyu(Rs32.l,Rt32.h)
4599 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRh(Word32 Rs, Word32 Rt)
4600 Instruction Type: M
4601 Execution Slots: SLOT23
4602 ========================================================================== */
4603
4604#define Q6_R_mpyu_RlRh __builtin_HEXAGON_M2_mpyu_lh_s0
4605
4606/* ==========================================================================
4607 Assembly Syntax: Rd32=mpyu(Rs32.l,Rt32.h):<<1
4608 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRh_s1(Word32 Rs, Word32 Rt)
4609 Instruction Type: M
4610 Execution Slots: SLOT23
4611 ========================================================================== */
4612
4613#define Q6_R_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyu_lh_s1
4614
4615/* ==========================================================================
4616 Assembly Syntax: Rd32=mpyu(Rs32.l,Rt32.l)
4617 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRl(Word32 Rs, Word32 Rt)
4618 Instruction Type: M
4619 Execution Slots: SLOT23
4620 ========================================================================== */
4621
4622#define Q6_R_mpyu_RlRl __builtin_HEXAGON_M2_mpyu_ll_s0
4623
4624/* ==========================================================================
4625 Assembly Syntax: Rd32=mpyu(Rs32.l,Rt32.l):<<1
4626 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRl_s1(Word32 Rs, Word32 Rt)
4627 Instruction Type: M
4628 Execution Slots: SLOT23
4629 ========================================================================== */
4630
4631#define Q6_R_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyu_ll_s1
4632
4633/* ==========================================================================
4634 Assembly Syntax: Rx32-=mpyu(Rs32.h,Rt32.h)
4635 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
4636 Instruction Type: M
4637 Execution Slots: SLOT23
4638 ========================================================================== */
4639
4640#define Q6_R_mpyunac_RhRh __builtin_HEXAGON_M2_mpyu_nac_hh_s0
4641
4642/* ==========================================================================
4643 Assembly Syntax: Rx32-=mpyu(Rs32.h,Rt32.h):<<1
4644 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4645 Instruction Type: M
4646 Execution Slots: SLOT23
4647 ========================================================================== */
4648
4649#define Q6_R_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyu_nac_hh_s1
4650
4651/* ==========================================================================
4652 Assembly Syntax: Rx32-=mpyu(Rs32.h,Rt32.l)
4653 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
4654 Instruction Type: M
4655 Execution Slots: SLOT23
4656 ========================================================================== */
4657
4658#define Q6_R_mpyunac_RhRl __builtin_HEXAGON_M2_mpyu_nac_hl_s0
4659
4660/* ==========================================================================
4661 Assembly Syntax: Rx32-=mpyu(Rs32.h,Rt32.l):<<1
4662 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4663 Instruction Type: M
4664 Execution Slots: SLOT23
4665 ========================================================================== */
4666
4667#define Q6_R_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyu_nac_hl_s1
4668
4669/* ==========================================================================
4670 Assembly Syntax: Rx32-=mpyu(Rs32.l,Rt32.h)
4671 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
4672 Instruction Type: M
4673 Execution Slots: SLOT23
4674 ========================================================================== */
4675
4676#define Q6_R_mpyunac_RlRh __builtin_HEXAGON_M2_mpyu_nac_lh_s0
4677
4678/* ==========================================================================
4679 Assembly Syntax: Rx32-=mpyu(Rs32.l,Rt32.h):<<1
4680 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4681 Instruction Type: M
4682 Execution Slots: SLOT23
4683 ========================================================================== */
4684
4685#define Q6_R_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyu_nac_lh_s1
4686
4687/* ==========================================================================
4688 Assembly Syntax: Rx32-=mpyu(Rs32.l,Rt32.l)
4689 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
4690 Instruction Type: M
4691 Execution Slots: SLOT23
4692 ========================================================================== */
4693
4694#define Q6_R_mpyunac_RlRl __builtin_HEXAGON_M2_mpyu_nac_ll_s0
4695
4696/* ==========================================================================
4697 Assembly Syntax: Rx32-=mpyu(Rs32.l,Rt32.l):<<1
4698 C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
4699 Instruction Type: M
4700 Execution Slots: SLOT23
4701 ========================================================================== */
4702
4703#define Q6_R_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyu_nac_ll_s1
4704
4705/* ==========================================================================
4706 Assembly Syntax: Rd32=mpyu(Rs32,Rt32)
4707 C Intrinsic Prototype: UWord32 Q6_R_mpyu_RR(Word32 Rs, Word32 Rt)
4708 Instruction Type: M
4709 Execution Slots: SLOT23
4710 ========================================================================== */
4711
4712#define Q6_R_mpyu_RR __builtin_HEXAGON_M2_mpyu_up
4713
4714/* ==========================================================================
4715 Assembly Syntax: Rxx32+=mpyu(Rs32.h,Rt32.h)
4716 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4717 Instruction Type: M
4718 Execution Slots: SLOT23
4719 ========================================================================== */
4720
4721#define Q6_P_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyud_acc_hh_s0
4722
4723/* ==========================================================================
4724 Assembly Syntax: Rxx32+=mpyu(Rs32.h,Rt32.h):<<1
4725 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4726 Instruction Type: M
4727 Execution Slots: SLOT23
4728 ========================================================================== */
4729
4730#define Q6_P_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyud_acc_hh_s1
4731
4732/* ==========================================================================
4733 Assembly Syntax: Rxx32+=mpyu(Rs32.h,Rt32.l)
4734 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4735 Instruction Type: M
4736 Execution Slots: SLOT23
4737 ========================================================================== */
4738
4739#define Q6_P_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyud_acc_hl_s0
4740
4741/* ==========================================================================
4742 Assembly Syntax: Rxx32+=mpyu(Rs32.h,Rt32.l):<<1
4743 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4744 Instruction Type: M
4745 Execution Slots: SLOT23
4746 ========================================================================== */
4747
4748#define Q6_P_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyud_acc_hl_s1
4749
4750/* ==========================================================================
4751 Assembly Syntax: Rxx32+=mpyu(Rs32.l,Rt32.h)
4752 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4753 Instruction Type: M
4754 Execution Slots: SLOT23
4755 ========================================================================== */
4756
4757#define Q6_P_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyud_acc_lh_s0
4758
4759/* ==========================================================================
4760 Assembly Syntax: Rxx32+=mpyu(Rs32.l,Rt32.h):<<1
4761 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4762 Instruction Type: M
4763 Execution Slots: SLOT23
4764 ========================================================================== */
4765
4766#define Q6_P_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyud_acc_lh_s1
4767
4768/* ==========================================================================
4769 Assembly Syntax: Rxx32+=mpyu(Rs32.l,Rt32.l)
4770 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4771 Instruction Type: M
4772 Execution Slots: SLOT23
4773 ========================================================================== */
4774
4775#define Q6_P_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyud_acc_ll_s0
4776
4777/* ==========================================================================
4778 Assembly Syntax: Rxx32+=mpyu(Rs32.l,Rt32.l):<<1
4779 C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4780 Instruction Type: M
4781 Execution Slots: SLOT23
4782 ========================================================================== */
4783
4784#define Q6_P_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyud_acc_ll_s1
4785
4786/* ==========================================================================
4787 Assembly Syntax: Rdd32=mpyu(Rs32.h,Rt32.h)
4788 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRh(Word32 Rs, Word32 Rt)
4789 Instruction Type: M
4790 Execution Slots: SLOT23
4791 ========================================================================== */
4792
4793#define Q6_P_mpyu_RhRh __builtin_HEXAGON_M2_mpyud_hh_s0
4794
4795/* ==========================================================================
4796 Assembly Syntax: Rdd32=mpyu(Rs32.h,Rt32.h):<<1
4797 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRh_s1(Word32 Rs, Word32 Rt)
4798 Instruction Type: M
4799 Execution Slots: SLOT23
4800 ========================================================================== */
4801
4802#define Q6_P_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyud_hh_s1
4803
4804/* ==========================================================================
4805 Assembly Syntax: Rdd32=mpyu(Rs32.h,Rt32.l)
4806 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRl(Word32 Rs, Word32 Rt)
4807 Instruction Type: M
4808 Execution Slots: SLOT23
4809 ========================================================================== */
4810
4811#define Q6_P_mpyu_RhRl __builtin_HEXAGON_M2_mpyud_hl_s0
4812
4813/* ==========================================================================
4814 Assembly Syntax: Rdd32=mpyu(Rs32.h,Rt32.l):<<1
4815 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRl_s1(Word32 Rs, Word32 Rt)
4816 Instruction Type: M
4817 Execution Slots: SLOT23
4818 ========================================================================== */
4819
4820#define Q6_P_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyud_hl_s1
4821
4822/* ==========================================================================
4823 Assembly Syntax: Rdd32=mpyu(Rs32.l,Rt32.h)
4824 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRh(Word32 Rs, Word32 Rt)
4825 Instruction Type: M
4826 Execution Slots: SLOT23
4827 ========================================================================== */
4828
4829#define Q6_P_mpyu_RlRh __builtin_HEXAGON_M2_mpyud_lh_s0
4830
4831/* ==========================================================================
4832 Assembly Syntax: Rdd32=mpyu(Rs32.l,Rt32.h):<<1
4833 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRh_s1(Word32 Rs, Word32 Rt)
4834 Instruction Type: M
4835 Execution Slots: SLOT23
4836 ========================================================================== */
4837
4838#define Q6_P_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyud_lh_s1
4839
4840/* ==========================================================================
4841 Assembly Syntax: Rdd32=mpyu(Rs32.l,Rt32.l)
4842 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRl(Word32 Rs, Word32 Rt)
4843 Instruction Type: M
4844 Execution Slots: SLOT23
4845 ========================================================================== */
4846
4847#define Q6_P_mpyu_RlRl __builtin_HEXAGON_M2_mpyud_ll_s0
4848
4849/* ==========================================================================
4850 Assembly Syntax: Rdd32=mpyu(Rs32.l,Rt32.l):<<1
4851 C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRl_s1(Word32 Rs, Word32 Rt)
4852 Instruction Type: M
4853 Execution Slots: SLOT23
4854 ========================================================================== */
4855
4856#define Q6_P_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyud_ll_s1
4857
4858/* ==========================================================================
4859 Assembly Syntax: Rxx32-=mpyu(Rs32.h,Rt32.h)
4860 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4861 Instruction Type: M
4862 Execution Slots: SLOT23
4863 ========================================================================== */
4864
4865#define Q6_P_mpyunac_RhRh __builtin_HEXAGON_M2_mpyud_nac_hh_s0
4866
4867/* ==========================================================================
4868 Assembly Syntax: Rxx32-=mpyu(Rs32.h,Rt32.h):<<1
4869 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4870 Instruction Type: M
4871 Execution Slots: SLOT23
4872 ========================================================================== */
4873
4874#define Q6_P_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyud_nac_hh_s1
4875
4876/* ==========================================================================
4877 Assembly Syntax: Rxx32-=mpyu(Rs32.h,Rt32.l)
4878 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4879 Instruction Type: M
4880 Execution Slots: SLOT23
4881 ========================================================================== */
4882
4883#define Q6_P_mpyunac_RhRl __builtin_HEXAGON_M2_mpyud_nac_hl_s0
4884
4885/* ==========================================================================
4886 Assembly Syntax: Rxx32-=mpyu(Rs32.h,Rt32.l):<<1
4887 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4888 Instruction Type: M
4889 Execution Slots: SLOT23
4890 ========================================================================== */
4891
4892#define Q6_P_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyud_nac_hl_s1
4893
4894/* ==========================================================================
4895 Assembly Syntax: Rxx32-=mpyu(Rs32.l,Rt32.h)
4896 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
4897 Instruction Type: M
4898 Execution Slots: SLOT23
4899 ========================================================================== */
4900
4901#define Q6_P_mpyunac_RlRh __builtin_HEXAGON_M2_mpyud_nac_lh_s0
4902
4903/* ==========================================================================
4904 Assembly Syntax: Rxx32-=mpyu(Rs32.l,Rt32.h):<<1
4905 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4906 Instruction Type: M
4907 Execution Slots: SLOT23
4908 ========================================================================== */
4909
4910#define Q6_P_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyud_nac_lh_s1
4911
4912/* ==========================================================================
4913 Assembly Syntax: Rxx32-=mpyu(Rs32.l,Rt32.l)
4914 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
4915 Instruction Type: M
4916 Execution Slots: SLOT23
4917 ========================================================================== */
4918
4919#define Q6_P_mpyunac_RlRl __builtin_HEXAGON_M2_mpyud_nac_ll_s0
4920
4921/* ==========================================================================
4922 Assembly Syntax: Rxx32-=mpyu(Rs32.l,Rt32.l):<<1
4923 C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
4924 Instruction Type: M
4925 Execution Slots: SLOT23
4926 ========================================================================== */
4927
4928#define Q6_P_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyud_nac_ll_s1
4929
4930/* ==========================================================================
4931 Assembly Syntax: Rd32=mpyui(Rs32,Rt32)
4932 C Intrinsic Prototype: Word32 Q6_R_mpyui_RR(Word32 Rs, Word32 Rt)
4933 Instruction Type: M
4934 Execution Slots: SLOT0123
4935 ========================================================================== */
4936
4937#define Q6_R_mpyui_RR __builtin_HEXAGON_M2_mpyui
4938
4939/* ==========================================================================
4940 Assembly Syntax: Rx32-=add(Rs32,Rt32)
4941 C Intrinsic Prototype: Word32 Q6_R_addnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
4942 Instruction Type: M
4943 Execution Slots: SLOT23
4944 ========================================================================== */
4945
4946#define Q6_R_addnac_RR __builtin_HEXAGON_M2_nacci
4947
4948/* ==========================================================================
4949 Assembly Syntax: Rx32-=add(Rs32,#s8)
4950 C Intrinsic Prototype: Word32 Q6_R_addnac_RI(Word32 Rx, Word32 Rs, Word32 Is8)
4951 Instruction Type: M
4952 Execution Slots: SLOT23
4953 ========================================================================== */
4954
4955#define Q6_R_addnac_RI __builtin_HEXAGON_M2_naccii
4956
4957/* ==========================================================================
4958 Assembly Syntax: Rx32+=sub(Rt32,Rs32)
4959 C Intrinsic Prototype: Word32 Q6_R_subacc_RR(Word32 Rx, Word32 Rt, Word32 Rs)
4960 Instruction Type: M
4961 Execution Slots: SLOT23
4962 ========================================================================== */
4963
4964#define Q6_R_subacc_RR __builtin_HEXAGON_M2_subacc
4965
4966/* ==========================================================================
4967 Assembly Syntax: Rdd32=vabsdiffh(Rtt32,Rss32)
4968 C Intrinsic Prototype: Word64 Q6_P_vabsdiffh_PP(Word64 Rtt, Word64 Rss)
4969 Instruction Type: M
4970 Execution Slots: SLOT23
4971 ========================================================================== */
4972
4973#define Q6_P_vabsdiffh_PP __builtin_HEXAGON_M2_vabsdiffh
4974
4975/* ==========================================================================
4976 Assembly Syntax: Rdd32=vabsdiffw(Rtt32,Rss32)
4977 C Intrinsic Prototype: Word64 Q6_P_vabsdiffw_PP(Word64 Rtt, Word64 Rss)
4978 Instruction Type: M
4979 Execution Slots: SLOT23
4980 ========================================================================== */
4981
4982#define Q6_P_vabsdiffw_PP __builtin_HEXAGON_M2_vabsdiffw
4983
4984/* ==========================================================================
4985 Assembly Syntax: Rxx32+=vcmpyi(Rss32,Rtt32):sat
4986 C Intrinsic Prototype: Word64 Q6_P_vcmpyiacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
4987 Instruction Type: M
4988 Execution Slots: SLOT23
4989 ========================================================================== */
4990
4991#define Q6_P_vcmpyiacc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_i
4992
4993/* ==========================================================================
4994 Assembly Syntax: Rxx32+=vcmpyr(Rss32,Rtt32):sat
4995 C Intrinsic Prototype: Word64 Q6_P_vcmpyracc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
4996 Instruction Type: M
4997 Execution Slots: SLOT23
4998 ========================================================================== */
4999
5000#define Q6_P_vcmpyracc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_r
5001
5002/* ==========================================================================
5003 Assembly Syntax: Rdd32=vcmpyi(Rss32,Rtt32):sat
5004 C Intrinsic Prototype: Word64 Q6_P_vcmpyi_PP_sat(Word64 Rss, Word64 Rtt)
5005 Instruction Type: M
5006 Execution Slots: SLOT23
5007 ========================================================================== */
5008
5009#define Q6_P_vcmpyi_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_i
5010
5011/* ==========================================================================
5012 Assembly Syntax: Rdd32=vcmpyr(Rss32,Rtt32):sat
5013 C Intrinsic Prototype: Word64 Q6_P_vcmpyr_PP_sat(Word64 Rss, Word64 Rtt)
5014 Instruction Type: M
5015 Execution Slots: SLOT23
5016 ========================================================================== */
5017
5018#define Q6_P_vcmpyr_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_r
5019
5020/* ==========================================================================
5021 Assembly Syntax: Rdd32=vcmpyi(Rss32,Rtt32):<<1:sat
5022 C Intrinsic Prototype: Word64 Q6_P_vcmpyi_PP_s1_sat(Word64 Rss, Word64 Rtt)
5023 Instruction Type: M
5024 Execution Slots: SLOT23
5025 ========================================================================== */
5026
5027#define Q6_P_vcmpyi_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_i
5028
5029/* ==========================================================================
5030 Assembly Syntax: Rdd32=vcmpyr(Rss32,Rtt32):<<1:sat
5031 C Intrinsic Prototype: Word64 Q6_P_vcmpyr_PP_s1_sat(Word64 Rss, Word64 Rtt)
5032 Instruction Type: M
5033 Execution Slots: SLOT23
5034 ========================================================================== */
5035
5036#define Q6_P_vcmpyr_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_r
5037
5038/* ==========================================================================
5039 Assembly Syntax: Rxx32+=vdmpy(Rss32,Rtt32):sat
5040 C Intrinsic Prototype: Word64 Q6_P_vdmpyacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
5041 Instruction Type: M
5042 Execution Slots: SLOT23
5043 ========================================================================== */
5044
5045#define Q6_P_vdmpyacc_PP_sat __builtin_HEXAGON_M2_vdmacs_s0
5046
5047/* ==========================================================================
5048 Assembly Syntax: Rxx32+=vdmpy(Rss32,Rtt32):<<1:sat
5049 C Intrinsic Prototype: Word64 Q6_P_vdmpyacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
5050 Instruction Type: M
5051 Execution Slots: SLOT23
5052 ========================================================================== */
5053
5054#define Q6_P_vdmpyacc_PP_s1_sat __builtin_HEXAGON_M2_vdmacs_s1
5055
5056/* ==========================================================================
5057 Assembly Syntax: Rd32=vdmpy(Rss32,Rtt32):rnd:sat
5058 C Intrinsic Prototype: Word32 Q6_R_vdmpy_PP_rnd_sat(Word64 Rss, Word64 Rtt)
5059 Instruction Type: M
5060 Execution Slots: SLOT23
5061 ========================================================================== */
5062
5063#define Q6_R_vdmpy_PP_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s0
5064
5065/* ==========================================================================
5066 Assembly Syntax: Rd32=vdmpy(Rss32,Rtt32):<<1:rnd:sat
5067 C Intrinsic Prototype: Word32 Q6_R_vdmpy_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
5068 Instruction Type: M
5069 Execution Slots: SLOT23
5070 ========================================================================== */
5071
5072#define Q6_R_vdmpy_PP_s1_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s1
5073
5074/* ==========================================================================
5075 Assembly Syntax: Rdd32=vdmpy(Rss32,Rtt32):sat
5076 C Intrinsic Prototype: Word64 Q6_P_vdmpy_PP_sat(Word64 Rss, Word64 Rtt)
5077 Instruction Type: M
5078 Execution Slots: SLOT23
5079 ========================================================================== */
5080
5081#define Q6_P_vdmpy_PP_sat __builtin_HEXAGON_M2_vdmpys_s0
5082
5083/* ==========================================================================
5084 Assembly Syntax: Rdd32=vdmpy(Rss32,Rtt32):<<1:sat
5085 C Intrinsic Prototype: Word64 Q6_P_vdmpy_PP_s1_sat(Word64 Rss, Word64 Rtt)
5086 Instruction Type: M
5087 Execution Slots: SLOT23
5088 ========================================================================== */
5089
5090#define Q6_P_vdmpy_PP_s1_sat __builtin_HEXAGON_M2_vdmpys_s1
5091
5092/* ==========================================================================
5093 Assembly Syntax: Rxx32+=vmpyh(Rs32,Rt32)
5094 C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
5095 Instruction Type: M
5096 Execution Slots: SLOT23
5097 ========================================================================== */
5098
5099#define Q6_P_vmpyhacc_RR __builtin_HEXAGON_M2_vmac2
5100
5101/* ==========================================================================
5102 Assembly Syntax: Rxx32+=vmpyeh(Rss32,Rtt32)
5103 C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5104 Instruction Type: M
5105 Execution Slots: SLOT23
5106 ========================================================================== */
5107
5108#define Q6_P_vmpyehacc_PP __builtin_HEXAGON_M2_vmac2es
5109
5110/* ==========================================================================
5111 Assembly Syntax: Rxx32+=vmpyeh(Rss32,Rtt32):sat
5112 C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
5113 Instruction Type: M
5114 Execution Slots: SLOT23
5115 ========================================================================== */
5116
5117#define Q6_P_vmpyehacc_PP_sat __builtin_HEXAGON_M2_vmac2es_s0
5118
5119/* ==========================================================================
5120 Assembly Syntax: Rxx32+=vmpyeh(Rss32,Rtt32):<<1:sat
5121 C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
5122 Instruction Type: M
5123 Execution Slots: SLOT23
5124 ========================================================================== */
5125
5126#define Q6_P_vmpyehacc_PP_s1_sat __builtin_HEXAGON_M2_vmac2es_s1
5127
5128/* ==========================================================================
5129 Assembly Syntax: Rxx32+=vmpyh(Rs32,Rt32):sat
5130 C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
5131 Instruction Type: M
5132 Execution Slots: SLOT23
5133 ========================================================================== */
5134
5135#define Q6_P_vmpyhacc_RR_sat __builtin_HEXAGON_M2_vmac2s_s0
5136
5137/* ==========================================================================
5138 Assembly Syntax: Rxx32+=vmpyh(Rs32,Rt32):<<1:sat
5139 C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
5140 Instruction Type: M
5141 Execution Slots: SLOT23
5142 ========================================================================== */
5143
5144#define Q6_P_vmpyhacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2s_s1
5145
5146/* ==========================================================================
5147 Assembly Syntax: Rxx32+=vmpyhsu(Rs32,Rt32):sat
5148 C Intrinsic Prototype: Word64 Q6_P_vmpyhsuacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
5149 Instruction Type: M
5150 Execution Slots: SLOT23
5151 ========================================================================== */
5152
5153#define Q6_P_vmpyhsuacc_RR_sat __builtin_HEXAGON_M2_vmac2su_s0
5154
5155/* ==========================================================================
5156 Assembly Syntax: Rxx32+=vmpyhsu(Rs32,Rt32):<<1:sat
5157 C Intrinsic Prototype: Word64 Q6_P_vmpyhsuacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
5158 Instruction Type: M
5159 Execution Slots: SLOT23
5160 ========================================================================== */
5161
5162#define Q6_P_vmpyhsuacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2su_s1
5163
5164/* ==========================================================================
5165 Assembly Syntax: Rdd32=vmpyeh(Rss32,Rtt32):sat
5166 C Intrinsic Prototype: Word64 Q6_P_vmpyeh_PP_sat(Word64 Rss, Word64 Rtt)
5167 Instruction Type: M
5168 Execution Slots: SLOT23
5169 ========================================================================== */
5170
5171#define Q6_P_vmpyeh_PP_sat __builtin_HEXAGON_M2_vmpy2es_s0
5172
5173/* ==========================================================================
5174 Assembly Syntax: Rdd32=vmpyeh(Rss32,Rtt32):<<1:sat
5175 C Intrinsic Prototype: Word64 Q6_P_vmpyeh_PP_s1_sat(Word64 Rss, Word64 Rtt)
5176 Instruction Type: M
5177 Execution Slots: SLOT23
5178 ========================================================================== */
5179
5180#define Q6_P_vmpyeh_PP_s1_sat __builtin_HEXAGON_M2_vmpy2es_s1
5181
5182/* ==========================================================================
5183 Assembly Syntax: Rdd32=vmpyh(Rs32,Rt32):sat
5184 C Intrinsic Prototype: Word64 Q6_P_vmpyh_RR_sat(Word32 Rs, Word32 Rt)
5185 Instruction Type: M
5186 Execution Slots: SLOT23
5187 ========================================================================== */
5188
5189#define Q6_P_vmpyh_RR_sat __builtin_HEXAGON_M2_vmpy2s_s0
5190
5191/* ==========================================================================
5192 Assembly Syntax: Rd32=vmpyh(Rs32,Rt32):rnd:sat
5193 C Intrinsic Prototype: Word32 Q6_R_vmpyh_RR_rnd_sat(Word32 Rs, Word32 Rt)
5194 Instruction Type: M
5195 Execution Slots: SLOT23
5196 ========================================================================== */
5197
5198#define Q6_R_vmpyh_RR_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s0pack
5199
5200/* ==========================================================================
5201 Assembly Syntax: Rdd32=vmpyh(Rs32,Rt32):<<1:sat
5202 C Intrinsic Prototype: Word64 Q6_P_vmpyh_RR_s1_sat(Word32 Rs, Word32 Rt)
5203 Instruction Type: M
5204 Execution Slots: SLOT23
5205 ========================================================================== */
5206
5207#define Q6_P_vmpyh_RR_s1_sat __builtin_HEXAGON_M2_vmpy2s_s1
5208
5209/* ==========================================================================
5210 Assembly Syntax: Rd32=vmpyh(Rs32,Rt32):<<1:rnd:sat
5211 C Intrinsic Prototype: Word32 Q6_R_vmpyh_RR_s1_rnd_sat(Word32 Rs, Word32 Rt)
5212 Instruction Type: M
5213 Execution Slots: SLOT23
5214 ========================================================================== */
5215
5216#define Q6_R_vmpyh_RR_s1_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s1pack
5217
5218/* ==========================================================================
5219 Assembly Syntax: Rdd32=vmpyhsu(Rs32,Rt32):sat
5220 C Intrinsic Prototype: Word64 Q6_P_vmpyhsu_RR_sat(Word32 Rs, Word32 Rt)
5221 Instruction Type: M
5222 Execution Slots: SLOT23
5223 ========================================================================== */
5224
5225#define Q6_P_vmpyhsu_RR_sat __builtin_HEXAGON_M2_vmpy2su_s0
5226
5227/* ==========================================================================
5228 Assembly Syntax: Rdd32=vmpyhsu(Rs32,Rt32):<<1:sat
5229 C Intrinsic Prototype: Word64 Q6_P_vmpyhsu_RR_s1_sat(Word32 Rs, Word32 Rt)
5230 Instruction Type: M
5231 Execution Slots: SLOT23
5232 ========================================================================== */
5233
5234#define Q6_P_vmpyhsu_RR_s1_sat __builtin_HEXAGON_M2_vmpy2su_s1
5235
5236/* ==========================================================================
5237 Assembly Syntax: Rd32=vraddh(Rss32,Rtt32)
5238 C Intrinsic Prototype: Word32 Q6_R_vraddh_PP(Word64 Rss, Word64 Rtt)
5239 Instruction Type: M
5240 Execution Slots: SLOT23
5241 ========================================================================== */
5242
5243#define Q6_R_vraddh_PP __builtin_HEXAGON_M2_vraddh
5244
5245/* ==========================================================================
5246 Assembly Syntax: Rd32=vradduh(Rss32,Rtt32)
5247 C Intrinsic Prototype: Word32 Q6_R_vradduh_PP(Word64 Rss, Word64 Rtt)
5248 Instruction Type: M
5249 Execution Slots: SLOT23
5250 ========================================================================== */
5251
5252#define Q6_R_vradduh_PP __builtin_HEXAGON_M2_vradduh
5253
5254/* ==========================================================================
5255 Assembly Syntax: Rxx32+=vrcmpyi(Rss32,Rtt32)
5256 C Intrinsic Prototype: Word64 Q6_P_vrcmpyiacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5257 Instruction Type: M
5258 Execution Slots: SLOT23
5259 ========================================================================== */
5260
5261#define Q6_P_vrcmpyiacc_PP __builtin_HEXAGON_M2_vrcmaci_s0
5262
5263/* ==========================================================================
5264 Assembly Syntax: Rxx32+=vrcmpyi(Rss32,Rtt32*)
5265 C Intrinsic Prototype: Word64 Q6_P_vrcmpyiacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
5266 Instruction Type: M
5267 Execution Slots: SLOT23
5268 ========================================================================== */
5269
5270#define Q6_P_vrcmpyiacc_PP_conj __builtin_HEXAGON_M2_vrcmaci_s0c
5271
5272/* ==========================================================================
5273 Assembly Syntax: Rxx32+=vrcmpyr(Rss32,Rtt32)
5274 C Intrinsic Prototype: Word64 Q6_P_vrcmpyracc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5275 Instruction Type: M
5276 Execution Slots: SLOT23
5277 ========================================================================== */
5278
5279#define Q6_P_vrcmpyracc_PP __builtin_HEXAGON_M2_vrcmacr_s0
5280
5281/* ==========================================================================
5282 Assembly Syntax: Rxx32+=vrcmpyr(Rss32,Rtt32*)
5283 C Intrinsic Prototype: Word64 Q6_P_vrcmpyracc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
5284 Instruction Type: M
5285 Execution Slots: SLOT23
5286 ========================================================================== */
5287
5288#define Q6_P_vrcmpyracc_PP_conj __builtin_HEXAGON_M2_vrcmacr_s0c
5289
5290/* ==========================================================================
5291 Assembly Syntax: Rdd32=vrcmpyi(Rss32,Rtt32)
5292 C Intrinsic Prototype: Word64 Q6_P_vrcmpyi_PP(Word64 Rss, Word64 Rtt)
5293 Instruction Type: M
5294 Execution Slots: SLOT23
5295 ========================================================================== */
5296
5297#define Q6_P_vrcmpyi_PP __builtin_HEXAGON_M2_vrcmpyi_s0
5298
5299/* ==========================================================================
5300 Assembly Syntax: Rdd32=vrcmpyi(Rss32,Rtt32*)
5301 C Intrinsic Prototype: Word64 Q6_P_vrcmpyi_PP_conj(Word64 Rss, Word64 Rtt)
5302 Instruction Type: M
5303 Execution Slots: SLOT23
5304 ========================================================================== */
5305
5306#define Q6_P_vrcmpyi_PP_conj __builtin_HEXAGON_M2_vrcmpyi_s0c
5307
5308/* ==========================================================================
5309 Assembly Syntax: Rdd32=vrcmpyr(Rss32,Rtt32)
5310 C Intrinsic Prototype: Word64 Q6_P_vrcmpyr_PP(Word64 Rss, Word64 Rtt)
5311 Instruction Type: M
5312 Execution Slots: SLOT23
5313 ========================================================================== */
5314
5315#define Q6_P_vrcmpyr_PP __builtin_HEXAGON_M2_vrcmpyr_s0
5316
5317/* ==========================================================================
5318 Assembly Syntax: Rdd32=vrcmpyr(Rss32,Rtt32*)
5319 C Intrinsic Prototype: Word64 Q6_P_vrcmpyr_PP_conj(Word64 Rss, Word64 Rtt)
5320 Instruction Type: M
5321 Execution Slots: SLOT23
5322 ========================================================================== */
5323
5324#define Q6_P_vrcmpyr_PP_conj __builtin_HEXAGON_M2_vrcmpyr_s0c
5325
5326/* ==========================================================================
5327 Assembly Syntax: Rxx32+=vrcmpys(Rss32,Rt32):<<1:sat
5328 C Intrinsic Prototype: Word64 Q6_P_vrcmpysacc_PR_s1_sat(Word64 Rxx, Word64 Rss, Word32 Rt)
5329 Instruction Type: M
5330 Execution Slots: SLOT0123
5331 ========================================================================== */
5332
5333#define Q6_P_vrcmpysacc_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_acc_s1
5334
5335/* ==========================================================================
5336 Assembly Syntax: Rdd32=vrcmpys(Rss32,Rt32):<<1:sat
5337 C Intrinsic Prototype: Word64 Q6_P_vrcmpys_PR_s1_sat(Word64 Rss, Word32 Rt)
5338 Instruction Type: M
5339 Execution Slots: SLOT0123
5340 ========================================================================== */
5341
5342#define Q6_P_vrcmpys_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_s1
5343
5344/* ==========================================================================
5345 Assembly Syntax: Rd32=vrcmpys(Rss32,Rt32):<<1:rnd:sat
5346 C Intrinsic Prototype: Word32 Q6_R_vrcmpys_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
5347 Instruction Type: M
5348 Execution Slots: SLOT0123
5349 ========================================================================== */
5350
5351#define Q6_R_vrcmpys_PR_s1_rnd_sat __builtin_HEXAGON_M2_vrcmpys_s1rp
5352
5353/* ==========================================================================
5354 Assembly Syntax: Rxx32+=vrmpyh(Rss32,Rtt32)
5355 C Intrinsic Prototype: Word64 Q6_P_vrmpyhacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5356 Instruction Type: M
5357 Execution Slots: SLOT23
5358 ========================================================================== */
5359
5360#define Q6_P_vrmpyhacc_PP __builtin_HEXAGON_M2_vrmac_s0
5361
5362/* ==========================================================================
5363 Assembly Syntax: Rdd32=vrmpyh(Rss32,Rtt32)
5364 C Intrinsic Prototype: Word64 Q6_P_vrmpyh_PP(Word64 Rss, Word64 Rtt)
5365 Instruction Type: M
5366 Execution Slots: SLOT23
5367 ========================================================================== */
5368
5369#define Q6_P_vrmpyh_PP __builtin_HEXAGON_M2_vrmpy_s0
5370
5371/* ==========================================================================
5372 Assembly Syntax: Rx32^=xor(Rs32,Rt32)
5373 C Intrinsic Prototype: Word32 Q6_R_xorxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5374 Instruction Type: M
5375 Execution Slots: SLOT23
5376 ========================================================================== */
5377
5378#define Q6_R_xorxacc_RR __builtin_HEXAGON_M2_xor_xacc
5379
5380/* ==========================================================================
5381 Assembly Syntax: Rx32&=and(Rs32,Rt32)
5382 C Intrinsic Prototype: Word32 Q6_R_andand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5383 Instruction Type: M
5384 Execution Slots: SLOT23
5385 ========================================================================== */
5386
5387#define Q6_R_andand_RR __builtin_HEXAGON_M4_and_and
5388
5389/* ==========================================================================
5390 Assembly Syntax: Rx32&=and(Rs32,~Rt32)
5391 C Intrinsic Prototype: Word32 Q6_R_andand_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
5392 Instruction Type: M
5393 Execution Slots: SLOT23
5394 ========================================================================== */
5395
5396#define Q6_R_andand_RnR __builtin_HEXAGON_M4_and_andn
5397
5398/* ==========================================================================
5399 Assembly Syntax: Rx32&=or(Rs32,Rt32)
5400 C Intrinsic Prototype: Word32 Q6_R_orand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5401 Instruction Type: M
5402 Execution Slots: SLOT23
5403 ========================================================================== */
5404
5405#define Q6_R_orand_RR __builtin_HEXAGON_M4_and_or
5406
5407/* ==========================================================================
5408 Assembly Syntax: Rx32&=xor(Rs32,Rt32)
5409 C Intrinsic Prototype: Word32 Q6_R_xorand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5410 Instruction Type: M
5411 Execution Slots: SLOT23
5412 ========================================================================== */
5413
5414#define Q6_R_xorand_RR __builtin_HEXAGON_M4_and_xor
5415
5416/* ==========================================================================
5417 Assembly Syntax: Rd32=cmpyiwh(Rss32,Rt32):<<1:rnd:sat
5418 C Intrinsic Prototype: Word32 Q6_R_cmpyiwh_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
5419 Instruction Type: S_3op
5420 Execution Slots: SLOT23
5421 ========================================================================== */
5422
5423#define Q6_R_cmpyiwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_wh
5424
5425/* ==========================================================================
5426 Assembly Syntax: Rd32=cmpyiwh(Rss32,Rt32*):<<1:rnd:sat
5427 C Intrinsic Prototype: Word32 Q6_R_cmpyiwh_PR_conj_s1_rnd_sat(Word64 Rss, Word32 Rt)
5428 Instruction Type: S_3op
5429 Execution Slots: SLOT23
5430 ========================================================================== */
5431
5432#define Q6_R_cmpyiwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_whc
5433
5434/* ==========================================================================
5435 Assembly Syntax: Rd32=cmpyrwh(Rss32,Rt32):<<1:rnd:sat
5436 C Intrinsic Prototype: Word32 Q6_R_cmpyrwh_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
5437 Instruction Type: S_3op
5438 Execution Slots: SLOT23
5439 ========================================================================== */
5440
5441#define Q6_R_cmpyrwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_wh
5442
5443/* ==========================================================================
5444 Assembly Syntax: Rd32=cmpyrwh(Rss32,Rt32*):<<1:rnd:sat
5445 C Intrinsic Prototype: Word32 Q6_R_cmpyrwh_PR_conj_s1_rnd_sat(Word64 Rss, Word32 Rt)
5446 Instruction Type: S_3op
5447 Execution Slots: SLOT23
5448 ========================================================================== */
5449
5450#define Q6_R_cmpyrwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_whc
5451
5452/* ==========================================================================
5453 Assembly Syntax: Rx32+=mpy(Rs32,Rt32):<<1:sat
5454 C Intrinsic Prototype: Word32 Q6_R_mpyacc_RR_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
5455 Instruction Type: M
5456 Execution Slots: SLOT23
5457 ========================================================================== */
5458
5459#define Q6_R_mpyacc_RR_s1_sat __builtin_HEXAGON_M4_mac_up_s1_sat
5460
5461/* ==========================================================================
5462 Assembly Syntax: Rd32=add(#u6,mpyi(Rs32,#U6))
5463 C Intrinsic Prototype: Word32 Q6_R_add_mpyi_IRI(Word32 Iu6, Word32 Rs, Word32 IU6)
5464 Instruction Type: ALU64
5465 Execution Slots: SLOT23
5466 ========================================================================== */
5467
5468#define Q6_R_add_mpyi_IRI __builtin_HEXAGON_M4_mpyri_addi
5469
5470/* ==========================================================================
5471 Assembly Syntax: Rd32=add(Ru32,mpyi(Rs32,#u6))
5472 C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RRI(Word32 Ru, Word32 Rs, Word32 Iu6)
5473 Instruction Type: ALU64
5474 Execution Slots: SLOT23
5475 ========================================================================== */
5476
5477#define Q6_R_add_mpyi_RRI __builtin_HEXAGON_M4_mpyri_addr
5478
5479/* ==========================================================================
5480 Assembly Syntax: Rd32=add(Ru32,mpyi(#u6:2,Rs32))
5481 C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RIR(Word32 Ru, Word32 Iu6_2, Word32 Rs)
5482 Instruction Type: ALU64
5483 Execution Slots: SLOT23
5484 ========================================================================== */
5485
5486#define Q6_R_add_mpyi_RIR __builtin_HEXAGON_M4_mpyri_addr_u2
5487
5488/* ==========================================================================
5489 Assembly Syntax: Rd32=add(#u6,mpyi(Rs32,Rt32))
5490 C Intrinsic Prototype: Word32 Q6_R_add_mpyi_IRR(Word32 Iu6, Word32 Rs, Word32 Rt)
5491 Instruction Type: ALU64
5492 Execution Slots: SLOT23
5493 ========================================================================== */
5494
5495#define Q6_R_add_mpyi_IRR __builtin_HEXAGON_M4_mpyrr_addi
5496
5497/* ==========================================================================
5498 Assembly Syntax: Ry32=add(Ru32,mpyi(Ry32,Rs32))
5499 C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RRR(Word32 Ru, Word32 Ry, Word32 Rs)
5500 Instruction Type: M
5501 Execution Slots: SLOT23
5502 ========================================================================== */
5503
5504#define Q6_R_add_mpyi_RRR __builtin_HEXAGON_M4_mpyrr_addr
5505
5506/* ==========================================================================
5507 Assembly Syntax: Rx32-=mpy(Rs32,Rt32):<<1:sat
5508 C Intrinsic Prototype: Word32 Q6_R_mpynac_RR_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
5509 Instruction Type: M
5510 Execution Slots: SLOT23
5511 ========================================================================== */
5512
5513#define Q6_R_mpynac_RR_s1_sat __builtin_HEXAGON_M4_nac_up_s1_sat
5514
5515/* ==========================================================================
5516 Assembly Syntax: Rx32|=and(Rs32,Rt32)
5517 C Intrinsic Prototype: Word32 Q6_R_andor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5518 Instruction Type: M
5519 Execution Slots: SLOT23
5520 ========================================================================== */
5521
5522#define Q6_R_andor_RR __builtin_HEXAGON_M4_or_and
5523
5524/* ==========================================================================
5525 Assembly Syntax: Rx32|=and(Rs32,~Rt32)
5526 C Intrinsic Prototype: Word32 Q6_R_andor_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
5527 Instruction Type: M
5528 Execution Slots: SLOT23
5529 ========================================================================== */
5530
5531#define Q6_R_andor_RnR __builtin_HEXAGON_M4_or_andn
5532
5533/* ==========================================================================
5534 Assembly Syntax: Rx32|=or(Rs32,Rt32)
5535 C Intrinsic Prototype: Word32 Q6_R_oror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5536 Instruction Type: M
5537 Execution Slots: SLOT23
5538 ========================================================================== */
5539
5540#define Q6_R_oror_RR __builtin_HEXAGON_M4_or_or
5541
5542/* ==========================================================================
5543 Assembly Syntax: Rx32|=xor(Rs32,Rt32)
5544 C Intrinsic Prototype: Word32 Q6_R_xoror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5545 Instruction Type: M
5546 Execution Slots: SLOT23
5547 ========================================================================== */
5548
5549#define Q6_R_xoror_RR __builtin_HEXAGON_M4_or_xor
5550
5551/* ==========================================================================
5552 Assembly Syntax: Rdd32=pmpyw(Rs32,Rt32)
5553 C Intrinsic Prototype: Word64 Q6_P_pmpyw_RR(Word32 Rs, Word32 Rt)
5554 Instruction Type: M
5555 Execution Slots: SLOT23
5556 ========================================================================== */
5557
5558#define Q6_P_pmpyw_RR __builtin_HEXAGON_M4_pmpyw
5559
5560/* ==========================================================================
5561 Assembly Syntax: Rxx32^=pmpyw(Rs32,Rt32)
5562 C Intrinsic Prototype: Word64 Q6_P_pmpywxacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
5563 Instruction Type: M
5564 Execution Slots: SLOT23
5565 ========================================================================== */
5566
5567#define Q6_P_pmpywxacc_RR __builtin_HEXAGON_M4_pmpyw_acc
5568
5569/* ==========================================================================
5570 Assembly Syntax: Rdd32=vpmpyh(Rs32,Rt32)
5571 C Intrinsic Prototype: Word64 Q6_P_vpmpyh_RR(Word32 Rs, Word32 Rt)
5572 Instruction Type: M
5573 Execution Slots: SLOT23
5574 ========================================================================== */
5575
5576#define Q6_P_vpmpyh_RR __builtin_HEXAGON_M4_vpmpyh
5577
5578/* ==========================================================================
5579 Assembly Syntax: Rxx32^=vpmpyh(Rs32,Rt32)
5580 C Intrinsic Prototype: Word64 Q6_P_vpmpyhxacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
5581 Instruction Type: M
5582 Execution Slots: SLOT23
5583 ========================================================================== */
5584
5585#define Q6_P_vpmpyhxacc_RR __builtin_HEXAGON_M4_vpmpyh_acc
5586
5587/* ==========================================================================
5588 Assembly Syntax: Rxx32+=vrmpyweh(Rss32,Rtt32)
5589 C Intrinsic Prototype: Word64 Q6_P_vrmpywehacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5590 Instruction Type: M
5591 Execution Slots: SLOT23
5592 ========================================================================== */
5593
5594#define Q6_P_vrmpywehacc_PP __builtin_HEXAGON_M4_vrmpyeh_acc_s0
5595
5596/* ==========================================================================
5597 Assembly Syntax: Rxx32+=vrmpyweh(Rss32,Rtt32):<<1
5598 C Intrinsic Prototype: Word64 Q6_P_vrmpywehacc_PP_s1(Word64 Rxx, Word64 Rss, Word64 Rtt)
5599 Instruction Type: M
5600 Execution Slots: SLOT23
5601 ========================================================================== */
5602
5603#define Q6_P_vrmpywehacc_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_acc_s1
5604
5605/* ==========================================================================
5606 Assembly Syntax: Rdd32=vrmpyweh(Rss32,Rtt32)
5607 C Intrinsic Prototype: Word64 Q6_P_vrmpyweh_PP(Word64 Rss, Word64 Rtt)
5608 Instruction Type: M
5609 Execution Slots: SLOT23
5610 ========================================================================== */
5611
5612#define Q6_P_vrmpyweh_PP __builtin_HEXAGON_M4_vrmpyeh_s0
5613
5614/* ==========================================================================
5615 Assembly Syntax: Rdd32=vrmpyweh(Rss32,Rtt32):<<1
5616 C Intrinsic Prototype: Word64 Q6_P_vrmpyweh_PP_s1(Word64 Rss, Word64 Rtt)
5617 Instruction Type: M
5618 Execution Slots: SLOT23
5619 ========================================================================== */
5620
5621#define Q6_P_vrmpyweh_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_s1
5622
5623/* ==========================================================================
5624 Assembly Syntax: Rxx32+=vrmpywoh(Rss32,Rtt32)
5625 C Intrinsic Prototype: Word64 Q6_P_vrmpywohacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5626 Instruction Type: M
5627 Execution Slots: SLOT23
5628 ========================================================================== */
5629
5630#define Q6_P_vrmpywohacc_PP __builtin_HEXAGON_M4_vrmpyoh_acc_s0
5631
5632/* ==========================================================================
5633 Assembly Syntax: Rxx32+=vrmpywoh(Rss32,Rtt32):<<1
5634 C Intrinsic Prototype: Word64 Q6_P_vrmpywohacc_PP_s1(Word64 Rxx, Word64 Rss, Word64 Rtt)
5635 Instruction Type: M
5636 Execution Slots: SLOT23
5637 ========================================================================== */
5638
5639#define Q6_P_vrmpywohacc_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_acc_s1
5640
5641/* ==========================================================================
5642 Assembly Syntax: Rdd32=vrmpywoh(Rss32,Rtt32)
5643 C Intrinsic Prototype: Word64 Q6_P_vrmpywoh_PP(Word64 Rss, Word64 Rtt)
5644 Instruction Type: M
5645 Execution Slots: SLOT23
5646 ========================================================================== */
5647
5648#define Q6_P_vrmpywoh_PP __builtin_HEXAGON_M4_vrmpyoh_s0
5649
5650/* ==========================================================================
5651 Assembly Syntax: Rdd32=vrmpywoh(Rss32,Rtt32):<<1
5652 C Intrinsic Prototype: Word64 Q6_P_vrmpywoh_PP_s1(Word64 Rss, Word64 Rtt)
5653 Instruction Type: M
5654 Execution Slots: SLOT23
5655 ========================================================================== */
5656
5657#define Q6_P_vrmpywoh_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_s1
5658
5659/* ==========================================================================
5660 Assembly Syntax: Rx32^=and(Rs32,Rt32)
5661 C Intrinsic Prototype: Word32 Q6_R_andxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5662 Instruction Type: M
5663 Execution Slots: SLOT23
5664 ========================================================================== */
5665
5666#define Q6_R_andxacc_RR __builtin_HEXAGON_M4_xor_and
5667
5668/* ==========================================================================
5669 Assembly Syntax: Rx32^=and(Rs32,~Rt32)
5670 C Intrinsic Prototype: Word32 Q6_R_andxacc_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
5671 Instruction Type: M
5672 Execution Slots: SLOT23
5673 ========================================================================== */
5674
5675#define Q6_R_andxacc_RnR __builtin_HEXAGON_M4_xor_andn
5676
5677/* ==========================================================================
5678 Assembly Syntax: Rx32^=or(Rs32,Rt32)
5679 C Intrinsic Prototype: Word32 Q6_R_orxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5680 Instruction Type: M
5681 Execution Slots: SLOT23
5682 ========================================================================== */
5683
5684#define Q6_R_orxacc_RR __builtin_HEXAGON_M4_xor_or
5685
5686/* ==========================================================================
5687 Assembly Syntax: Rxx32^=xor(Rss32,Rtt32)
5688 C Intrinsic Prototype: Word64 Q6_P_xorxacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5689 Instruction Type: S_3op
5690 Execution Slots: SLOT23
5691 ========================================================================== */
5692
5693#define Q6_P_xorxacc_PP __builtin_HEXAGON_M4_xor_xacc
5694
5695/* ==========================================================================
5696 Assembly Syntax: Rxx32+=vdmpybsu(Rss32,Rtt32):sat
5697 C Intrinsic Prototype: Word64 Q6_P_vdmpybsuacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
5698 Instruction Type: M
5699 Execution Slots: SLOT23
5700 ========================================================================== */
5701
5702#define Q6_P_vdmpybsuacc_PP_sat __builtin_HEXAGON_M5_vdmacbsu
5703
5704/* ==========================================================================
5705 Assembly Syntax: Rdd32=vdmpybsu(Rss32,Rtt32):sat
5706 C Intrinsic Prototype: Word64 Q6_P_vdmpybsu_PP_sat(Word64 Rss, Word64 Rtt)
5707 Instruction Type: M
5708 Execution Slots: SLOT23
5709 ========================================================================== */
5710
5711#define Q6_P_vdmpybsu_PP_sat __builtin_HEXAGON_M5_vdmpybsu
5712
5713/* ==========================================================================
5714 Assembly Syntax: Rxx32+=vmpybsu(Rs32,Rt32)
5715 C Intrinsic Prototype: Word64 Q6_P_vmpybsuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
5716 Instruction Type: M
5717 Execution Slots: SLOT23
5718 ========================================================================== */
5719
5720#define Q6_P_vmpybsuacc_RR __builtin_HEXAGON_M5_vmacbsu
5721
5722/* ==========================================================================
5723 Assembly Syntax: Rxx32+=vmpybu(Rs32,Rt32)
5724 C Intrinsic Prototype: Word64 Q6_P_vmpybuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
5725 Instruction Type: M
5726 Execution Slots: SLOT23
5727 ========================================================================== */
5728
5729#define Q6_P_vmpybuacc_RR __builtin_HEXAGON_M5_vmacbuu
5730
5731/* ==========================================================================
5732 Assembly Syntax: Rdd32=vmpybsu(Rs32,Rt32)
5733 C Intrinsic Prototype: Word64 Q6_P_vmpybsu_RR(Word32 Rs, Word32 Rt)
5734 Instruction Type: M
5735 Execution Slots: SLOT23
5736 ========================================================================== */
5737
5738#define Q6_P_vmpybsu_RR __builtin_HEXAGON_M5_vmpybsu
5739
5740/* ==========================================================================
5741 Assembly Syntax: Rdd32=vmpybu(Rs32,Rt32)
5742 C Intrinsic Prototype: Word64 Q6_P_vmpybu_RR(Word32 Rs, Word32 Rt)
5743 Instruction Type: M
5744 Execution Slots: SLOT23
5745 ========================================================================== */
5746
5747#define Q6_P_vmpybu_RR __builtin_HEXAGON_M5_vmpybuu
5748
5749/* ==========================================================================
5750 Assembly Syntax: Rxx32+=vrmpybsu(Rss32,Rtt32)
5751 C Intrinsic Prototype: Word64 Q6_P_vrmpybsuacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5752 Instruction Type: M
5753 Execution Slots: SLOT23
5754 ========================================================================== */
5755
5756#define Q6_P_vrmpybsuacc_PP __builtin_HEXAGON_M5_vrmacbsu
5757
5758/* ==========================================================================
5759 Assembly Syntax: Rxx32+=vrmpybu(Rss32,Rtt32)
5760 C Intrinsic Prototype: Word64 Q6_P_vrmpybuacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
5761 Instruction Type: M
5762 Execution Slots: SLOT23
5763 ========================================================================== */
5764
5765#define Q6_P_vrmpybuacc_PP __builtin_HEXAGON_M5_vrmacbuu
5766
5767/* ==========================================================================
5768 Assembly Syntax: Rdd32=vrmpybsu(Rss32,Rtt32)
5769 C Intrinsic Prototype: Word64 Q6_P_vrmpybsu_PP(Word64 Rss, Word64 Rtt)
5770 Instruction Type: M
5771 Execution Slots: SLOT23
5772 ========================================================================== */
5773
5774#define Q6_P_vrmpybsu_PP __builtin_HEXAGON_M5_vrmpybsu
5775
5776/* ==========================================================================
5777 Assembly Syntax: Rdd32=vrmpybu(Rss32,Rtt32)
5778 C Intrinsic Prototype: Word64 Q6_P_vrmpybu_PP(Word64 Rss, Word64 Rtt)
5779 Instruction Type: M
5780 Execution Slots: SLOT23
5781 ========================================================================== */
5782
5783#define Q6_P_vrmpybu_PP __builtin_HEXAGON_M5_vrmpybuu
5784
5785/* ==========================================================================
5786 Assembly Syntax: Rd32=addasl(Rt32,Rs32,#u3)
5787 C Intrinsic Prototype: Word32 Q6_R_addasl_RRI(Word32 Rt, Word32 Rs, Word32 Iu3)
5788 Instruction Type: S_3op
5789 Execution Slots: SLOT23
5790 ========================================================================== */
5791
5792#define Q6_R_addasl_RRI __builtin_HEXAGON_S2_addasl_rrri
5793
5794/* ==========================================================================
5795 Assembly Syntax: Rdd32=asl(Rss32,#u6)
5796 C Intrinsic Prototype: Word64 Q6_P_asl_PI(Word64 Rss, Word32 Iu6)
5797 Instruction Type: S_2op
5798 Execution Slots: SLOT23
5799 ========================================================================== */
5800
5801#define Q6_P_asl_PI __builtin_HEXAGON_S2_asl_i_p
5802
5803/* ==========================================================================
5804 Assembly Syntax: Rxx32+=asl(Rss32,#u6)
5805 C Intrinsic Prototype: Word64 Q6_P_aslacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
5806 Instruction Type: S_2op
5807 Execution Slots: SLOT23
5808 ========================================================================== */
5809
5810#define Q6_P_aslacc_PI __builtin_HEXAGON_S2_asl_i_p_acc
5811
5812/* ==========================================================================
5813 Assembly Syntax: Rxx32&=asl(Rss32,#u6)
5814 C Intrinsic Prototype: Word64 Q6_P_asland_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
5815 Instruction Type: S_2op
5816 Execution Slots: SLOT23
5817 ========================================================================== */
5818
5819#define Q6_P_asland_PI __builtin_HEXAGON_S2_asl_i_p_and
5820
5821/* ==========================================================================
5822 Assembly Syntax: Rxx32-=asl(Rss32,#u6)
5823 C Intrinsic Prototype: Word64 Q6_P_aslnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
5824 Instruction Type: S_2op
5825 Execution Slots: SLOT23
5826 ========================================================================== */
5827
5828#define Q6_P_aslnac_PI __builtin_HEXAGON_S2_asl_i_p_nac
5829
5830/* ==========================================================================
5831 Assembly Syntax: Rxx32|=asl(Rss32,#u6)
5832 C Intrinsic Prototype: Word64 Q6_P_aslor_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
5833 Instruction Type: S_2op
5834 Execution Slots: SLOT23
5835 ========================================================================== */
5836
5837#define Q6_P_aslor_PI __builtin_HEXAGON_S2_asl_i_p_or
5838
5839/* ==========================================================================
5840 Assembly Syntax: Rxx32^=asl(Rss32,#u6)
5841 C Intrinsic Prototype: Word64 Q6_P_aslxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
5842 Instruction Type: S_2op
5843 Execution Slots: SLOT23
5844 ========================================================================== */
5845
5846#define Q6_P_aslxacc_PI __builtin_HEXAGON_S2_asl_i_p_xacc
5847
5848/* ==========================================================================
5849 Assembly Syntax: Rd32=asl(Rs32,#u5)
5850 C Intrinsic Prototype: Word32 Q6_R_asl_RI(Word32 Rs, Word32 Iu5)
5851 Instruction Type: S_2op
5852 Execution Slots: SLOT23
5853 ========================================================================== */
5854
5855#define Q6_R_asl_RI __builtin_HEXAGON_S2_asl_i_r
5856
5857/* ==========================================================================
5858 Assembly Syntax: Rx32+=asl(Rs32,#u5)
5859 C Intrinsic Prototype: Word32 Q6_R_aslacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
5860 Instruction Type: S_2op
5861 Execution Slots: SLOT23
5862 ========================================================================== */
5863
5864#define Q6_R_aslacc_RI __builtin_HEXAGON_S2_asl_i_r_acc
5865
5866/* ==========================================================================
5867 Assembly Syntax: Rx32&=asl(Rs32,#u5)
5868 C Intrinsic Prototype: Word32 Q6_R_asland_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
5869 Instruction Type: S_2op
5870 Execution Slots: SLOT23
5871 ========================================================================== */
5872
5873#define Q6_R_asland_RI __builtin_HEXAGON_S2_asl_i_r_and
5874
5875/* ==========================================================================
5876 Assembly Syntax: Rx32-=asl(Rs32,#u5)
5877 C Intrinsic Prototype: Word32 Q6_R_aslnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
5878 Instruction Type: S_2op
5879 Execution Slots: SLOT23
5880 ========================================================================== */
5881
5882#define Q6_R_aslnac_RI __builtin_HEXAGON_S2_asl_i_r_nac
5883
5884/* ==========================================================================
5885 Assembly Syntax: Rx32|=asl(Rs32,#u5)
5886 C Intrinsic Prototype: Word32 Q6_R_aslor_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
5887 Instruction Type: S_2op
5888 Execution Slots: SLOT23
5889 ========================================================================== */
5890
5891#define Q6_R_aslor_RI __builtin_HEXAGON_S2_asl_i_r_or
5892
5893/* ==========================================================================
5894 Assembly Syntax: Rd32=asl(Rs32,#u5):sat
5895 C Intrinsic Prototype: Word32 Q6_R_asl_RI_sat(Word32 Rs, Word32 Iu5)
5896 Instruction Type: S_2op
5897 Execution Slots: SLOT23
5898 ========================================================================== */
5899
5900#define Q6_R_asl_RI_sat __builtin_HEXAGON_S2_asl_i_r_sat
5901
5902/* ==========================================================================
5903 Assembly Syntax: Rx32^=asl(Rs32,#u5)
5904 C Intrinsic Prototype: Word32 Q6_R_aslxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
5905 Instruction Type: S_2op
5906 Execution Slots: SLOT23
5907 ========================================================================== */
5908
5909#define Q6_R_aslxacc_RI __builtin_HEXAGON_S2_asl_i_r_xacc
5910
5911/* ==========================================================================
5912 Assembly Syntax: Rdd32=vaslh(Rss32,#u4)
5913 C Intrinsic Prototype: Word64 Q6_P_vaslh_PI(Word64 Rss, Word32 Iu4)
5914 Instruction Type: S_2op
5915 Execution Slots: SLOT23
5916 ========================================================================== */
5917
5918#define Q6_P_vaslh_PI __builtin_HEXAGON_S2_asl_i_vh
5919
5920/* ==========================================================================
5921 Assembly Syntax: Rdd32=vaslw(Rss32,#u5)
5922 C Intrinsic Prototype: Word64 Q6_P_vaslw_PI(Word64 Rss, Word32 Iu5)
5923 Instruction Type: S_2op
5924 Execution Slots: SLOT23
5925 ========================================================================== */
5926
5927#define Q6_P_vaslw_PI __builtin_HEXAGON_S2_asl_i_vw
5928
5929/* ==========================================================================
5930 Assembly Syntax: Rdd32=asl(Rss32,Rt32)
5931 C Intrinsic Prototype: Word64 Q6_P_asl_PR(Word64 Rss, Word32 Rt)
5932 Instruction Type: S_3op
5933 Execution Slots: SLOT23
5934 ========================================================================== */
5935
5936#define Q6_P_asl_PR __builtin_HEXAGON_S2_asl_r_p
5937
5938/* ==========================================================================
5939 Assembly Syntax: Rxx32+=asl(Rss32,Rt32)
5940 C Intrinsic Prototype: Word64 Q6_P_aslacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
5941 Instruction Type: S_3op
5942 Execution Slots: SLOT23
5943 ========================================================================== */
5944
5945#define Q6_P_aslacc_PR __builtin_HEXAGON_S2_asl_r_p_acc
5946
5947/* ==========================================================================
5948 Assembly Syntax: Rxx32&=asl(Rss32,Rt32)
5949 C Intrinsic Prototype: Word64 Q6_P_asland_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
5950 Instruction Type: S_3op
5951 Execution Slots: SLOT23
5952 ========================================================================== */
5953
5954#define Q6_P_asland_PR __builtin_HEXAGON_S2_asl_r_p_and
5955
5956/* ==========================================================================
5957 Assembly Syntax: Rxx32-=asl(Rss32,Rt32)
5958 C Intrinsic Prototype: Word64 Q6_P_aslnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
5959 Instruction Type: S_3op
5960 Execution Slots: SLOT23
5961 ========================================================================== */
5962
5963#define Q6_P_aslnac_PR __builtin_HEXAGON_S2_asl_r_p_nac
5964
5965/* ==========================================================================
5966 Assembly Syntax: Rxx32|=asl(Rss32,Rt32)
5967 C Intrinsic Prototype: Word64 Q6_P_aslor_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
5968 Instruction Type: S_3op
5969 Execution Slots: SLOT23
5970 ========================================================================== */
5971
5972#define Q6_P_aslor_PR __builtin_HEXAGON_S2_asl_r_p_or
5973
5974/* ==========================================================================
5975 Assembly Syntax: Rxx32^=asl(Rss32,Rt32)
5976 C Intrinsic Prototype: Word64 Q6_P_aslxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
5977 Instruction Type: S_3op
5978 Execution Slots: SLOT23
5979 ========================================================================== */
5980
5981#define Q6_P_aslxacc_PR __builtin_HEXAGON_S2_asl_r_p_xor
5982
5983/* ==========================================================================
5984 Assembly Syntax: Rd32=asl(Rs32,Rt32)
5985 C Intrinsic Prototype: Word32 Q6_R_asl_RR(Word32 Rs, Word32 Rt)
5986 Instruction Type: S_3op
5987 Execution Slots: SLOT23
5988 ========================================================================== */
5989
5990#define Q6_R_asl_RR __builtin_HEXAGON_S2_asl_r_r
5991
5992/* ==========================================================================
5993 Assembly Syntax: Rx32+=asl(Rs32,Rt32)
5994 C Intrinsic Prototype: Word32 Q6_R_aslacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
5995 Instruction Type: S_3op
5996 Execution Slots: SLOT23
5997 ========================================================================== */
5998
5999#define Q6_R_aslacc_RR __builtin_HEXAGON_S2_asl_r_r_acc
6000
6001/* ==========================================================================
6002 Assembly Syntax: Rx32&=asl(Rs32,Rt32)
6003 C Intrinsic Prototype: Word32 Q6_R_asland_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6004 Instruction Type: S_3op
6005 Execution Slots: SLOT23
6006 ========================================================================== */
6007
6008#define Q6_R_asland_RR __builtin_HEXAGON_S2_asl_r_r_and
6009
6010/* ==========================================================================
6011 Assembly Syntax: Rx32-=asl(Rs32,Rt32)
6012 C Intrinsic Prototype: Word32 Q6_R_aslnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6013 Instruction Type: S_3op
6014 Execution Slots: SLOT23
6015 ========================================================================== */
6016
6017#define Q6_R_aslnac_RR __builtin_HEXAGON_S2_asl_r_r_nac
6018
6019/* ==========================================================================
6020 Assembly Syntax: Rx32|=asl(Rs32,Rt32)
6021 C Intrinsic Prototype: Word32 Q6_R_aslor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6022 Instruction Type: S_3op
6023 Execution Slots: SLOT23
6024 ========================================================================== */
6025
6026#define Q6_R_aslor_RR __builtin_HEXAGON_S2_asl_r_r_or
6027
6028/* ==========================================================================
6029 Assembly Syntax: Rd32=asl(Rs32,Rt32):sat
6030 C Intrinsic Prototype: Word32 Q6_R_asl_RR_sat(Word32 Rs, Word32 Rt)
6031 Instruction Type: S_3op
6032 Execution Slots: SLOT23
6033 ========================================================================== */
6034
6035#define Q6_R_asl_RR_sat __builtin_HEXAGON_S2_asl_r_r_sat
6036
6037/* ==========================================================================
6038 Assembly Syntax: Rdd32=vaslh(Rss32,Rt32)
6039 C Intrinsic Prototype: Word64 Q6_P_vaslh_PR(Word64 Rss, Word32 Rt)
6040 Instruction Type: S_3op
6041 Execution Slots: SLOT23
6042 ========================================================================== */
6043
6044#define Q6_P_vaslh_PR __builtin_HEXAGON_S2_asl_r_vh
6045
6046/* ==========================================================================
6047 Assembly Syntax: Rdd32=vaslw(Rss32,Rt32)
6048 C Intrinsic Prototype: Word64 Q6_P_vaslw_PR(Word64 Rss, Word32 Rt)
6049 Instruction Type: S_3op
6050 Execution Slots: SLOT23
6051 ========================================================================== */
6052
6053#define Q6_P_vaslw_PR __builtin_HEXAGON_S2_asl_r_vw
6054
6055/* ==========================================================================
6056 Assembly Syntax: Rdd32=asr(Rss32,#u6)
6057 C Intrinsic Prototype: Word64 Q6_P_asr_PI(Word64 Rss, Word32 Iu6)
6058 Instruction Type: S_2op
6059 Execution Slots: SLOT23
6060 ========================================================================== */
6061
6062#define Q6_P_asr_PI __builtin_HEXAGON_S2_asr_i_p
6063
6064/* ==========================================================================
6065 Assembly Syntax: Rxx32+=asr(Rss32,#u6)
6066 C Intrinsic Prototype: Word64 Q6_P_asracc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6067 Instruction Type: S_2op
6068 Execution Slots: SLOT23
6069 ========================================================================== */
6070
6071#define Q6_P_asracc_PI __builtin_HEXAGON_S2_asr_i_p_acc
6072
6073/* ==========================================================================
6074 Assembly Syntax: Rxx32&=asr(Rss32,#u6)
6075 C Intrinsic Prototype: Word64 Q6_P_asrand_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6076 Instruction Type: S_2op
6077 Execution Slots: SLOT23
6078 ========================================================================== */
6079
6080#define Q6_P_asrand_PI __builtin_HEXAGON_S2_asr_i_p_and
6081
6082/* ==========================================================================
6083 Assembly Syntax: Rxx32-=asr(Rss32,#u6)
6084 C Intrinsic Prototype: Word64 Q6_P_asrnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6085 Instruction Type: S_2op
6086 Execution Slots: SLOT23
6087 ========================================================================== */
6088
6089#define Q6_P_asrnac_PI __builtin_HEXAGON_S2_asr_i_p_nac
6090
6091/* ==========================================================================
6092 Assembly Syntax: Rxx32|=asr(Rss32,#u6)
6093 C Intrinsic Prototype: Word64 Q6_P_asror_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6094 Instruction Type: S_2op
6095 Execution Slots: SLOT23
6096 ========================================================================== */
6097
6098#define Q6_P_asror_PI __builtin_HEXAGON_S2_asr_i_p_or
6099
6100/* ==========================================================================
6101 Assembly Syntax: Rdd32=asr(Rss32,#u6):rnd
6102 C Intrinsic Prototype: Word64 Q6_P_asr_PI_rnd(Word64 Rss, Word32 Iu6)
6103 Instruction Type: S_2op
6104 Execution Slots: SLOT23
6105 ========================================================================== */
6106
6107#define Q6_P_asr_PI_rnd __builtin_HEXAGON_S2_asr_i_p_rnd
6108
6109/* ==========================================================================
6110 Assembly Syntax: Rdd32=asrrnd(Rss32,#u6)
6111 C Intrinsic Prototype: Word64 Q6_P_asrrnd_PI(Word64 Rss, Word32 Iu6)
6112 Instruction Type: S_2op
6113 Execution Slots: SLOT0123
6114 ========================================================================== */
6115
6116#define Q6_P_asrrnd_PI __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax
6117
6118/* ==========================================================================
6119 Assembly Syntax: Rd32=asr(Rs32,#u5)
6120 C Intrinsic Prototype: Word32 Q6_R_asr_RI(Word32 Rs, Word32 Iu5)
6121 Instruction Type: S_2op
6122 Execution Slots: SLOT23
6123 ========================================================================== */
6124
6125#define Q6_R_asr_RI __builtin_HEXAGON_S2_asr_i_r
6126
6127/* ==========================================================================
6128 Assembly Syntax: Rx32+=asr(Rs32,#u5)
6129 C Intrinsic Prototype: Word32 Q6_R_asracc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6130 Instruction Type: S_2op
6131 Execution Slots: SLOT23
6132 ========================================================================== */
6133
6134#define Q6_R_asracc_RI __builtin_HEXAGON_S2_asr_i_r_acc
6135
6136/* ==========================================================================
6137 Assembly Syntax: Rx32&=asr(Rs32,#u5)
6138 C Intrinsic Prototype: Word32 Q6_R_asrand_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6139 Instruction Type: S_2op
6140 Execution Slots: SLOT23
6141 ========================================================================== */
6142
6143#define Q6_R_asrand_RI __builtin_HEXAGON_S2_asr_i_r_and
6144
6145/* ==========================================================================
6146 Assembly Syntax: Rx32-=asr(Rs32,#u5)
6147 C Intrinsic Prototype: Word32 Q6_R_asrnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6148 Instruction Type: S_2op
6149 Execution Slots: SLOT23
6150 ========================================================================== */
6151
6152#define Q6_R_asrnac_RI __builtin_HEXAGON_S2_asr_i_r_nac
6153
6154/* ==========================================================================
6155 Assembly Syntax: Rx32|=asr(Rs32,#u5)
6156 C Intrinsic Prototype: Word32 Q6_R_asror_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6157 Instruction Type: S_2op
6158 Execution Slots: SLOT23
6159 ========================================================================== */
6160
6161#define Q6_R_asror_RI __builtin_HEXAGON_S2_asr_i_r_or
6162
6163/* ==========================================================================
6164 Assembly Syntax: Rd32=asr(Rs32,#u5):rnd
6165 C Intrinsic Prototype: Word32 Q6_R_asr_RI_rnd(Word32 Rs, Word32 Iu5)
6166 Instruction Type: S_2op
6167 Execution Slots: SLOT23
6168 ========================================================================== */
6169
6170#define Q6_R_asr_RI_rnd __builtin_HEXAGON_S2_asr_i_r_rnd
6171
6172/* ==========================================================================
6173 Assembly Syntax: Rd32=asrrnd(Rs32,#u5)
6174 C Intrinsic Prototype: Word32 Q6_R_asrrnd_RI(Word32 Rs, Word32 Iu5)
6175 Instruction Type: S_2op
6176 Execution Slots: SLOT0123
6177 ========================================================================== */
6178
6179#define Q6_R_asrrnd_RI __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax
6180
6181/* ==========================================================================
6182 Assembly Syntax: Rd32=vasrw(Rss32,#u5)
6183 C Intrinsic Prototype: Word32 Q6_R_vasrw_PI(Word64 Rss, Word32 Iu5)
6184 Instruction Type: S_2op
6185 Execution Slots: SLOT23
6186 ========================================================================== */
6187
6188#define Q6_R_vasrw_PI __builtin_HEXAGON_S2_asr_i_svw_trun
6189
6190/* ==========================================================================
6191 Assembly Syntax: Rdd32=vasrh(Rss32,#u4)
6192 C Intrinsic Prototype: Word64 Q6_P_vasrh_PI(Word64 Rss, Word32 Iu4)
6193 Instruction Type: S_2op
6194 Execution Slots: SLOT23
6195 ========================================================================== */
6196
6197#define Q6_P_vasrh_PI __builtin_HEXAGON_S2_asr_i_vh
6198
6199/* ==========================================================================
6200 Assembly Syntax: Rdd32=vasrw(Rss32,#u5)
6201 C Intrinsic Prototype: Word64 Q6_P_vasrw_PI(Word64 Rss, Word32 Iu5)
6202 Instruction Type: S_2op
6203 Execution Slots: SLOT23
6204 ========================================================================== */
6205
6206#define Q6_P_vasrw_PI __builtin_HEXAGON_S2_asr_i_vw
6207
6208/* ==========================================================================
6209 Assembly Syntax: Rdd32=asr(Rss32,Rt32)
6210 C Intrinsic Prototype: Word64 Q6_P_asr_PR(Word64 Rss, Word32 Rt)
6211 Instruction Type: S_3op
6212 Execution Slots: SLOT23
6213 ========================================================================== */
6214
6215#define Q6_P_asr_PR __builtin_HEXAGON_S2_asr_r_p
6216
6217/* ==========================================================================
6218 Assembly Syntax: Rxx32+=asr(Rss32,Rt32)
6219 C Intrinsic Prototype: Word64 Q6_P_asracc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6220 Instruction Type: S_3op
6221 Execution Slots: SLOT23
6222 ========================================================================== */
6223
6224#define Q6_P_asracc_PR __builtin_HEXAGON_S2_asr_r_p_acc
6225
6226/* ==========================================================================
6227 Assembly Syntax: Rxx32&=asr(Rss32,Rt32)
6228 C Intrinsic Prototype: Word64 Q6_P_asrand_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6229 Instruction Type: S_3op
6230 Execution Slots: SLOT23
6231 ========================================================================== */
6232
6233#define Q6_P_asrand_PR __builtin_HEXAGON_S2_asr_r_p_and
6234
6235/* ==========================================================================
6236 Assembly Syntax: Rxx32-=asr(Rss32,Rt32)
6237 C Intrinsic Prototype: Word64 Q6_P_asrnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6238 Instruction Type: S_3op
6239 Execution Slots: SLOT23
6240 ========================================================================== */
6241
6242#define Q6_P_asrnac_PR __builtin_HEXAGON_S2_asr_r_p_nac
6243
6244/* ==========================================================================
6245 Assembly Syntax: Rxx32|=asr(Rss32,Rt32)
6246 C Intrinsic Prototype: Word64 Q6_P_asror_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6247 Instruction Type: S_3op
6248 Execution Slots: SLOT23
6249 ========================================================================== */
6250
6251#define Q6_P_asror_PR __builtin_HEXAGON_S2_asr_r_p_or
6252
6253/* ==========================================================================
6254 Assembly Syntax: Rxx32^=asr(Rss32,Rt32)
6255 C Intrinsic Prototype: Word64 Q6_P_asrxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6256 Instruction Type: S_3op
6257 Execution Slots: SLOT23
6258 ========================================================================== */
6259
6260#define Q6_P_asrxacc_PR __builtin_HEXAGON_S2_asr_r_p_xor
6261
6262/* ==========================================================================
6263 Assembly Syntax: Rd32=asr(Rs32,Rt32)
6264 C Intrinsic Prototype: Word32 Q6_R_asr_RR(Word32 Rs, Word32 Rt)
6265 Instruction Type: S_3op
6266 Execution Slots: SLOT23
6267 ========================================================================== */
6268
6269#define Q6_R_asr_RR __builtin_HEXAGON_S2_asr_r_r
6270
6271/* ==========================================================================
6272 Assembly Syntax: Rx32+=asr(Rs32,Rt32)
6273 C Intrinsic Prototype: Word32 Q6_R_asracc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6274 Instruction Type: S_3op
6275 Execution Slots: SLOT23
6276 ========================================================================== */
6277
6278#define Q6_R_asracc_RR __builtin_HEXAGON_S2_asr_r_r_acc
6279
6280/* ==========================================================================
6281 Assembly Syntax: Rx32&=asr(Rs32,Rt32)
6282 C Intrinsic Prototype: Word32 Q6_R_asrand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6283 Instruction Type: S_3op
6284 Execution Slots: SLOT23
6285 ========================================================================== */
6286
6287#define Q6_R_asrand_RR __builtin_HEXAGON_S2_asr_r_r_and
6288
6289/* ==========================================================================
6290 Assembly Syntax: Rx32-=asr(Rs32,Rt32)
6291 C Intrinsic Prototype: Word32 Q6_R_asrnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6292 Instruction Type: S_3op
6293 Execution Slots: SLOT23
6294 ========================================================================== */
6295
6296#define Q6_R_asrnac_RR __builtin_HEXAGON_S2_asr_r_r_nac
6297
6298/* ==========================================================================
6299 Assembly Syntax: Rx32|=asr(Rs32,Rt32)
6300 C Intrinsic Prototype: Word32 Q6_R_asror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6301 Instruction Type: S_3op
6302 Execution Slots: SLOT23
6303 ========================================================================== */
6304
6305#define Q6_R_asror_RR __builtin_HEXAGON_S2_asr_r_r_or
6306
6307/* ==========================================================================
6308 Assembly Syntax: Rd32=asr(Rs32,Rt32):sat
6309 C Intrinsic Prototype: Word32 Q6_R_asr_RR_sat(Word32 Rs, Word32 Rt)
6310 Instruction Type: S_3op
6311 Execution Slots: SLOT23
6312 ========================================================================== */
6313
6314#define Q6_R_asr_RR_sat __builtin_HEXAGON_S2_asr_r_r_sat
6315
6316/* ==========================================================================
6317 Assembly Syntax: Rd32=vasrw(Rss32,Rt32)
6318 C Intrinsic Prototype: Word32 Q6_R_vasrw_PR(Word64 Rss, Word32 Rt)
6319 Instruction Type: S_3op
6320 Execution Slots: SLOT23
6321 ========================================================================== */
6322
6323#define Q6_R_vasrw_PR __builtin_HEXAGON_S2_asr_r_svw_trun
6324
6325/* ==========================================================================
6326 Assembly Syntax: Rdd32=vasrh(Rss32,Rt32)
6327 C Intrinsic Prototype: Word64 Q6_P_vasrh_PR(Word64 Rss, Word32 Rt)
6328 Instruction Type: S_3op
6329 Execution Slots: SLOT23
6330 ========================================================================== */
6331
6332#define Q6_P_vasrh_PR __builtin_HEXAGON_S2_asr_r_vh
6333
6334/* ==========================================================================
6335 Assembly Syntax: Rdd32=vasrw(Rss32,Rt32)
6336 C Intrinsic Prototype: Word64 Q6_P_vasrw_PR(Word64 Rss, Word32 Rt)
6337 Instruction Type: S_3op
6338 Execution Slots: SLOT23
6339 ========================================================================== */
6340
6341#define Q6_P_vasrw_PR __builtin_HEXAGON_S2_asr_r_vw
6342
6343/* ==========================================================================
6344 Assembly Syntax: Rd32=brev(Rs32)
6345 C Intrinsic Prototype: Word32 Q6_R_brev_R(Word32 Rs)
6346 Instruction Type: S_2op
6347 Execution Slots: SLOT23
6348 ========================================================================== */
6349
6350#define Q6_R_brev_R __builtin_HEXAGON_S2_brev
6351
6352/* ==========================================================================
6353 Assembly Syntax: Rdd32=brev(Rss32)
6354 C Intrinsic Prototype: Word64 Q6_P_brev_P(Word64 Rss)
6355 Instruction Type: S_2op
6356 Execution Slots: SLOT23
6357 ========================================================================== */
6358
6359#define Q6_P_brev_P __builtin_HEXAGON_S2_brevp
6360
6361/* ==========================================================================
6362 Assembly Syntax: Rd32=cl0(Rs32)
6363 C Intrinsic Prototype: Word32 Q6_R_cl0_R(Word32 Rs)
6364 Instruction Type: S_2op
6365 Execution Slots: SLOT23
6366 ========================================================================== */
6367
6368#define Q6_R_cl0_R __builtin_HEXAGON_S2_cl0
6369
6370/* ==========================================================================
6371 Assembly Syntax: Rd32=cl0(Rss32)
6372 C Intrinsic Prototype: Word32 Q6_R_cl0_P(Word64 Rss)
6373 Instruction Type: S_2op
6374 Execution Slots: SLOT23
6375 ========================================================================== */
6376
6377#define Q6_R_cl0_P __builtin_HEXAGON_S2_cl0p
6378
6379/* ==========================================================================
6380 Assembly Syntax: Rd32=cl1(Rs32)
6381 C Intrinsic Prototype: Word32 Q6_R_cl1_R(Word32 Rs)
6382 Instruction Type: S_2op
6383 Execution Slots: SLOT23
6384 ========================================================================== */
6385
6386#define Q6_R_cl1_R __builtin_HEXAGON_S2_cl1
6387
6388/* ==========================================================================
6389 Assembly Syntax: Rd32=cl1(Rss32)
6390 C Intrinsic Prototype: Word32 Q6_R_cl1_P(Word64 Rss)
6391 Instruction Type: S_2op
6392 Execution Slots: SLOT23
6393 ========================================================================== */
6394
6395#define Q6_R_cl1_P __builtin_HEXAGON_S2_cl1p
6396
6397/* ==========================================================================
6398 Assembly Syntax: Rd32=clb(Rs32)
6399 C Intrinsic Prototype: Word32 Q6_R_clb_R(Word32 Rs)
6400 Instruction Type: S_2op
6401 Execution Slots: SLOT23
6402 ========================================================================== */
6403
6404#define Q6_R_clb_R __builtin_HEXAGON_S2_clb
6405
6406/* ==========================================================================
6407 Assembly Syntax: Rd32=normamt(Rs32)
6408 C Intrinsic Prototype: Word32 Q6_R_normamt_R(Word32 Rs)
6409 Instruction Type: S_2op
6410 Execution Slots: SLOT23
6411 ========================================================================== */
6412
6413#define Q6_R_normamt_R __builtin_HEXAGON_S2_clbnorm
6414
6415/* ==========================================================================
6416 Assembly Syntax: Rd32=clb(Rss32)
6417 C Intrinsic Prototype: Word32 Q6_R_clb_P(Word64 Rss)
6418 Instruction Type: S_2op
6419 Execution Slots: SLOT23
6420 ========================================================================== */
6421
6422#define Q6_R_clb_P __builtin_HEXAGON_S2_clbp
6423
6424/* ==========================================================================
6425 Assembly Syntax: Rd32=clrbit(Rs32,#u5)
6426 C Intrinsic Prototype: Word32 Q6_R_clrbit_RI(Word32 Rs, Word32 Iu5)
6427 Instruction Type: S_2op
6428 Execution Slots: SLOT23
6429 ========================================================================== */
6430
6431#define Q6_R_clrbit_RI __builtin_HEXAGON_S2_clrbit_i
6432
6433/* ==========================================================================
6434 Assembly Syntax: Rd32=clrbit(Rs32,Rt32)
6435 C Intrinsic Prototype: Word32 Q6_R_clrbit_RR(Word32 Rs, Word32 Rt)
6436 Instruction Type: S_3op
6437 Execution Slots: SLOT23
6438 ========================================================================== */
6439
6440#define Q6_R_clrbit_RR __builtin_HEXAGON_S2_clrbit_r
6441
6442/* ==========================================================================
6443 Assembly Syntax: Rd32=ct0(Rs32)
6444 C Intrinsic Prototype: Word32 Q6_R_ct0_R(Word32 Rs)
6445 Instruction Type: S_2op
6446 Execution Slots: SLOT23
6447 ========================================================================== */
6448
6449#define Q6_R_ct0_R __builtin_HEXAGON_S2_ct0
6450
6451/* ==========================================================================
6452 Assembly Syntax: Rd32=ct0(Rss32)
6453 C Intrinsic Prototype: Word32 Q6_R_ct0_P(Word64 Rss)
6454 Instruction Type: S_2op
6455 Execution Slots: SLOT23
6456 ========================================================================== */
6457
6458#define Q6_R_ct0_P __builtin_HEXAGON_S2_ct0p
6459
6460/* ==========================================================================
6461 Assembly Syntax: Rd32=ct1(Rs32)
6462 C Intrinsic Prototype: Word32 Q6_R_ct1_R(Word32 Rs)
6463 Instruction Type: S_2op
6464 Execution Slots: SLOT23
6465 ========================================================================== */
6466
6467#define Q6_R_ct1_R __builtin_HEXAGON_S2_ct1
6468
6469/* ==========================================================================
6470 Assembly Syntax: Rd32=ct1(Rss32)
6471 C Intrinsic Prototype: Word32 Q6_R_ct1_P(Word64 Rss)
6472 Instruction Type: S_2op
6473 Execution Slots: SLOT23
6474 ========================================================================== */
6475
6476#define Q6_R_ct1_P __builtin_HEXAGON_S2_ct1p
6477
6478/* ==========================================================================
6479 Assembly Syntax: Rdd32=deinterleave(Rss32)
6480 C Intrinsic Prototype: Word64 Q6_P_deinterleave_P(Word64 Rss)
6481 Instruction Type: S_2op
6482 Execution Slots: SLOT23
6483 ========================================================================== */
6484
6485#define Q6_P_deinterleave_P __builtin_HEXAGON_S2_deinterleave
6486
6487/* ==========================================================================
6488 Assembly Syntax: Rd32=extractu(Rs32,#u5,#U5)
6489 C Intrinsic Prototype: Word32 Q6_R_extractu_RII(Word32 Rs, Word32 Iu5, Word32 IU5)
6490 Instruction Type: S_2op
6491 Execution Slots: SLOT23
6492 ========================================================================== */
6493
6494#define Q6_R_extractu_RII __builtin_HEXAGON_S2_extractu
6495
6496/* ==========================================================================
6497 Assembly Syntax: Rd32=extractu(Rs32,Rtt32)
6498 C Intrinsic Prototype: Word32 Q6_R_extractu_RP(Word32 Rs, Word64 Rtt)
6499 Instruction Type: S_3op
6500 Execution Slots: SLOT23
6501 ========================================================================== */
6502
6503#define Q6_R_extractu_RP __builtin_HEXAGON_S2_extractu_rp
6504
6505/* ==========================================================================
6506 Assembly Syntax: Rdd32=extractu(Rss32,#u6,#U6)
6507 C Intrinsic Prototype: Word64 Q6_P_extractu_PII(Word64 Rss, Word32 Iu6, Word32 IU6)
6508 Instruction Type: S_2op
6509 Execution Slots: SLOT23
6510 ========================================================================== */
6511
6512#define Q6_P_extractu_PII __builtin_HEXAGON_S2_extractup
6513
6514/* ==========================================================================
6515 Assembly Syntax: Rdd32=extractu(Rss32,Rtt32)
6516 C Intrinsic Prototype: Word64 Q6_P_extractu_PP(Word64 Rss, Word64 Rtt)
6517 Instruction Type: S_3op
6518 Execution Slots: SLOT23
6519 ========================================================================== */
6520
6521#define Q6_P_extractu_PP __builtin_HEXAGON_S2_extractup_rp
6522
6523/* ==========================================================================
6524 Assembly Syntax: Rx32=insert(Rs32,#u5,#U5)
6525 C Intrinsic Prototype: Word32 Q6_R_insert_RII(Word32 Rx, Word32 Rs, Word32 Iu5, Word32 IU5)
6526 Instruction Type: S_2op
6527 Execution Slots: SLOT23
6528 ========================================================================== */
6529
6530#define Q6_R_insert_RII __builtin_HEXAGON_S2_insert
6531
6532/* ==========================================================================
6533 Assembly Syntax: Rx32=insert(Rs32,Rtt32)
6534 C Intrinsic Prototype: Word32 Q6_R_insert_RP(Word32 Rx, Word32 Rs, Word64 Rtt)
6535 Instruction Type: S_3op
6536 Execution Slots: SLOT23
6537 ========================================================================== */
6538
6539#define Q6_R_insert_RP __builtin_HEXAGON_S2_insert_rp
6540
6541/* ==========================================================================
6542 Assembly Syntax: Rxx32=insert(Rss32,#u6,#U6)
6543 C Intrinsic Prototype: Word64 Q6_P_insert_PII(Word64 Rxx, Word64 Rss, Word32 Iu6, Word32 IU6)
6544 Instruction Type: S_2op
6545 Execution Slots: SLOT23
6546 ========================================================================== */
6547
6548#define Q6_P_insert_PII __builtin_HEXAGON_S2_insertp
6549
6550/* ==========================================================================
6551 Assembly Syntax: Rxx32=insert(Rss32,Rtt32)
6552 C Intrinsic Prototype: Word64 Q6_P_insert_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
6553 Instruction Type: S_3op
6554 Execution Slots: SLOT23
6555 ========================================================================== */
6556
6557#define Q6_P_insert_PP __builtin_HEXAGON_S2_insertp_rp
6558
6559/* ==========================================================================
6560 Assembly Syntax: Rdd32=interleave(Rss32)
6561 C Intrinsic Prototype: Word64 Q6_P_interleave_P(Word64 Rss)
6562 Instruction Type: S_2op
6563 Execution Slots: SLOT23
6564 ========================================================================== */
6565
6566#define Q6_P_interleave_P __builtin_HEXAGON_S2_interleave
6567
6568/* ==========================================================================
6569 Assembly Syntax: Rdd32=lfs(Rss32,Rtt32)
6570 C Intrinsic Prototype: Word64 Q6_P_lfs_PP(Word64 Rss, Word64 Rtt)
6571 Instruction Type: S_3op
6572 Execution Slots: SLOT23
6573 ========================================================================== */
6574
6575#define Q6_P_lfs_PP __builtin_HEXAGON_S2_lfsp
6576
6577/* ==========================================================================
6578 Assembly Syntax: Rdd32=lsl(Rss32,Rt32)
6579 C Intrinsic Prototype: Word64 Q6_P_lsl_PR(Word64 Rss, Word32 Rt)
6580 Instruction Type: S_3op
6581 Execution Slots: SLOT23
6582 ========================================================================== */
6583
6584#define Q6_P_lsl_PR __builtin_HEXAGON_S2_lsl_r_p
6585
6586/* ==========================================================================
6587 Assembly Syntax: Rxx32+=lsl(Rss32,Rt32)
6588 C Intrinsic Prototype: Word64 Q6_P_lslacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6589 Instruction Type: S_3op
6590 Execution Slots: SLOT23
6591 ========================================================================== */
6592
6593#define Q6_P_lslacc_PR __builtin_HEXAGON_S2_lsl_r_p_acc
6594
6595/* ==========================================================================
6596 Assembly Syntax: Rxx32&=lsl(Rss32,Rt32)
6597 C Intrinsic Prototype: Word64 Q6_P_lsland_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6598 Instruction Type: S_3op
6599 Execution Slots: SLOT23
6600 ========================================================================== */
6601
6602#define Q6_P_lsland_PR __builtin_HEXAGON_S2_lsl_r_p_and
6603
6604/* ==========================================================================
6605 Assembly Syntax: Rxx32-=lsl(Rss32,Rt32)
6606 C Intrinsic Prototype: Word64 Q6_P_lslnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6607 Instruction Type: S_3op
6608 Execution Slots: SLOT23
6609 ========================================================================== */
6610
6611#define Q6_P_lslnac_PR __builtin_HEXAGON_S2_lsl_r_p_nac
6612
6613/* ==========================================================================
6614 Assembly Syntax: Rxx32|=lsl(Rss32,Rt32)
6615 C Intrinsic Prototype: Word64 Q6_P_lslor_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6616 Instruction Type: S_3op
6617 Execution Slots: SLOT23
6618 ========================================================================== */
6619
6620#define Q6_P_lslor_PR __builtin_HEXAGON_S2_lsl_r_p_or
6621
6622/* ==========================================================================
6623 Assembly Syntax: Rxx32^=lsl(Rss32,Rt32)
6624 C Intrinsic Prototype: Word64 Q6_P_lslxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6625 Instruction Type: S_3op
6626 Execution Slots: SLOT23
6627 ========================================================================== */
6628
6629#define Q6_P_lslxacc_PR __builtin_HEXAGON_S2_lsl_r_p_xor
6630
6631/* ==========================================================================
6632 Assembly Syntax: Rd32=lsl(Rs32,Rt32)
6633 C Intrinsic Prototype: Word32 Q6_R_lsl_RR(Word32 Rs, Word32 Rt)
6634 Instruction Type: S_3op
6635 Execution Slots: SLOT23
6636 ========================================================================== */
6637
6638#define Q6_R_lsl_RR __builtin_HEXAGON_S2_lsl_r_r
6639
6640/* ==========================================================================
6641 Assembly Syntax: Rx32+=lsl(Rs32,Rt32)
6642 C Intrinsic Prototype: Word32 Q6_R_lslacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6643 Instruction Type: S_3op
6644 Execution Slots: SLOT23
6645 ========================================================================== */
6646
6647#define Q6_R_lslacc_RR __builtin_HEXAGON_S2_lsl_r_r_acc
6648
6649/* ==========================================================================
6650 Assembly Syntax: Rx32&=lsl(Rs32,Rt32)
6651 C Intrinsic Prototype: Word32 Q6_R_lsland_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6652 Instruction Type: S_3op
6653 Execution Slots: SLOT23
6654 ========================================================================== */
6655
6656#define Q6_R_lsland_RR __builtin_HEXAGON_S2_lsl_r_r_and
6657
6658/* ==========================================================================
6659 Assembly Syntax: Rx32-=lsl(Rs32,Rt32)
6660 C Intrinsic Prototype: Word32 Q6_R_lslnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6661 Instruction Type: S_3op
6662 Execution Slots: SLOT23
6663 ========================================================================== */
6664
6665#define Q6_R_lslnac_RR __builtin_HEXAGON_S2_lsl_r_r_nac
6666
6667/* ==========================================================================
6668 Assembly Syntax: Rx32|=lsl(Rs32,Rt32)
6669 C Intrinsic Prototype: Word32 Q6_R_lslor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6670 Instruction Type: S_3op
6671 Execution Slots: SLOT23
6672 ========================================================================== */
6673
6674#define Q6_R_lslor_RR __builtin_HEXAGON_S2_lsl_r_r_or
6675
6676/* ==========================================================================
6677 Assembly Syntax: Rdd32=vlslh(Rss32,Rt32)
6678 C Intrinsic Prototype: Word64 Q6_P_vlslh_PR(Word64 Rss, Word32 Rt)
6679 Instruction Type: S_3op
6680 Execution Slots: SLOT23
6681 ========================================================================== */
6682
6683#define Q6_P_vlslh_PR __builtin_HEXAGON_S2_lsl_r_vh
6684
6685/* ==========================================================================
6686 Assembly Syntax: Rdd32=vlslw(Rss32,Rt32)
6687 C Intrinsic Prototype: Word64 Q6_P_vlslw_PR(Word64 Rss, Word32 Rt)
6688 Instruction Type: S_3op
6689 Execution Slots: SLOT23
6690 ========================================================================== */
6691
6692#define Q6_P_vlslw_PR __builtin_HEXAGON_S2_lsl_r_vw
6693
6694/* ==========================================================================
6695 Assembly Syntax: Rdd32=lsr(Rss32,#u6)
6696 C Intrinsic Prototype: Word64 Q6_P_lsr_PI(Word64 Rss, Word32 Iu6)
6697 Instruction Type: S_2op
6698 Execution Slots: SLOT23
6699 ========================================================================== */
6700
6701#define Q6_P_lsr_PI __builtin_HEXAGON_S2_lsr_i_p
6702
6703/* ==========================================================================
6704 Assembly Syntax: Rxx32+=lsr(Rss32,#u6)
6705 C Intrinsic Prototype: Word64 Q6_P_lsracc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6706 Instruction Type: S_2op
6707 Execution Slots: SLOT23
6708 ========================================================================== */
6709
6710#define Q6_P_lsracc_PI __builtin_HEXAGON_S2_lsr_i_p_acc
6711
6712/* ==========================================================================
6713 Assembly Syntax: Rxx32&=lsr(Rss32,#u6)
6714 C Intrinsic Prototype: Word64 Q6_P_lsrand_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6715 Instruction Type: S_2op
6716 Execution Slots: SLOT23
6717 ========================================================================== */
6718
6719#define Q6_P_lsrand_PI __builtin_HEXAGON_S2_lsr_i_p_and
6720
6721/* ==========================================================================
6722 Assembly Syntax: Rxx32-=lsr(Rss32,#u6)
6723 C Intrinsic Prototype: Word64 Q6_P_lsrnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6724 Instruction Type: S_2op
6725 Execution Slots: SLOT23
6726 ========================================================================== */
6727
6728#define Q6_P_lsrnac_PI __builtin_HEXAGON_S2_lsr_i_p_nac
6729
6730/* ==========================================================================
6731 Assembly Syntax: Rxx32|=lsr(Rss32,#u6)
6732 C Intrinsic Prototype: Word64 Q6_P_lsror_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6733 Instruction Type: S_2op
6734 Execution Slots: SLOT23
6735 ========================================================================== */
6736
6737#define Q6_P_lsror_PI __builtin_HEXAGON_S2_lsr_i_p_or
6738
6739/* ==========================================================================
6740 Assembly Syntax: Rxx32^=lsr(Rss32,#u6)
6741 C Intrinsic Prototype: Word64 Q6_P_lsrxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
6742 Instruction Type: S_2op
6743 Execution Slots: SLOT23
6744 ========================================================================== */
6745
6746#define Q6_P_lsrxacc_PI __builtin_HEXAGON_S2_lsr_i_p_xacc
6747
6748/* ==========================================================================
6749 Assembly Syntax: Rd32=lsr(Rs32,#u5)
6750 C Intrinsic Prototype: Word32 Q6_R_lsr_RI(Word32 Rs, Word32 Iu5)
6751 Instruction Type: S_2op
6752 Execution Slots: SLOT23
6753 ========================================================================== */
6754
6755#define Q6_R_lsr_RI __builtin_HEXAGON_S2_lsr_i_r
6756
6757/* ==========================================================================
6758 Assembly Syntax: Rx32+=lsr(Rs32,#u5)
6759 C Intrinsic Prototype: Word32 Q6_R_lsracc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6760 Instruction Type: S_2op
6761 Execution Slots: SLOT23
6762 ========================================================================== */
6763
6764#define Q6_R_lsracc_RI __builtin_HEXAGON_S2_lsr_i_r_acc
6765
6766/* ==========================================================================
6767 Assembly Syntax: Rx32&=lsr(Rs32,#u5)
6768 C Intrinsic Prototype: Word32 Q6_R_lsrand_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6769 Instruction Type: S_2op
6770 Execution Slots: SLOT23
6771 ========================================================================== */
6772
6773#define Q6_R_lsrand_RI __builtin_HEXAGON_S2_lsr_i_r_and
6774
6775/* ==========================================================================
6776 Assembly Syntax: Rx32-=lsr(Rs32,#u5)
6777 C Intrinsic Prototype: Word32 Q6_R_lsrnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6778 Instruction Type: S_2op
6779 Execution Slots: SLOT23
6780 ========================================================================== */
6781
6782#define Q6_R_lsrnac_RI __builtin_HEXAGON_S2_lsr_i_r_nac
6783
6784/* ==========================================================================
6785 Assembly Syntax: Rx32|=lsr(Rs32,#u5)
6786 C Intrinsic Prototype: Word32 Q6_R_lsror_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6787 Instruction Type: S_2op
6788 Execution Slots: SLOT23
6789 ========================================================================== */
6790
6791#define Q6_R_lsror_RI __builtin_HEXAGON_S2_lsr_i_r_or
6792
6793/* ==========================================================================
6794 Assembly Syntax: Rx32^=lsr(Rs32,#u5)
6795 C Intrinsic Prototype: Word32 Q6_R_lsrxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
6796 Instruction Type: S_2op
6797 Execution Slots: SLOT23
6798 ========================================================================== */
6799
6800#define Q6_R_lsrxacc_RI __builtin_HEXAGON_S2_lsr_i_r_xacc
6801
6802/* ==========================================================================
6803 Assembly Syntax: Rdd32=vlsrh(Rss32,#u4)
6804 C Intrinsic Prototype: Word64 Q6_P_vlsrh_PI(Word64 Rss, Word32 Iu4)
6805 Instruction Type: S_2op
6806 Execution Slots: SLOT23
6807 ========================================================================== */
6808
6809#define Q6_P_vlsrh_PI __builtin_HEXAGON_S2_lsr_i_vh
6810
6811/* ==========================================================================
6812 Assembly Syntax: Rdd32=vlsrw(Rss32,#u5)
6813 C Intrinsic Prototype: Word64 Q6_P_vlsrw_PI(Word64 Rss, Word32 Iu5)
6814 Instruction Type: S_2op
6815 Execution Slots: SLOT23
6816 ========================================================================== */
6817
6818#define Q6_P_vlsrw_PI __builtin_HEXAGON_S2_lsr_i_vw
6819
6820/* ==========================================================================
6821 Assembly Syntax: Rdd32=lsr(Rss32,Rt32)
6822 C Intrinsic Prototype: Word64 Q6_P_lsr_PR(Word64 Rss, Word32 Rt)
6823 Instruction Type: S_3op
6824 Execution Slots: SLOT23
6825 ========================================================================== */
6826
6827#define Q6_P_lsr_PR __builtin_HEXAGON_S2_lsr_r_p
6828
6829/* ==========================================================================
6830 Assembly Syntax: Rxx32+=lsr(Rss32,Rt32)
6831 C Intrinsic Prototype: Word64 Q6_P_lsracc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6832 Instruction Type: S_3op
6833 Execution Slots: SLOT23
6834 ========================================================================== */
6835
6836#define Q6_P_lsracc_PR __builtin_HEXAGON_S2_lsr_r_p_acc
6837
6838/* ==========================================================================
6839 Assembly Syntax: Rxx32&=lsr(Rss32,Rt32)
6840 C Intrinsic Prototype: Word64 Q6_P_lsrand_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6841 Instruction Type: S_3op
6842 Execution Slots: SLOT23
6843 ========================================================================== */
6844
6845#define Q6_P_lsrand_PR __builtin_HEXAGON_S2_lsr_r_p_and
6846
6847/* ==========================================================================
6848 Assembly Syntax: Rxx32-=lsr(Rss32,Rt32)
6849 C Intrinsic Prototype: Word64 Q6_P_lsrnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6850 Instruction Type: S_3op
6851 Execution Slots: SLOT23
6852 ========================================================================== */
6853
6854#define Q6_P_lsrnac_PR __builtin_HEXAGON_S2_lsr_r_p_nac
6855
6856/* ==========================================================================
6857 Assembly Syntax: Rxx32|=lsr(Rss32,Rt32)
6858 C Intrinsic Prototype: Word64 Q6_P_lsror_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6859 Instruction Type: S_3op
6860 Execution Slots: SLOT23
6861 ========================================================================== */
6862
6863#define Q6_P_lsror_PR __builtin_HEXAGON_S2_lsr_r_p_or
6864
6865/* ==========================================================================
6866 Assembly Syntax: Rxx32^=lsr(Rss32,Rt32)
6867 C Intrinsic Prototype: Word64 Q6_P_lsrxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
6868 Instruction Type: S_3op
6869 Execution Slots: SLOT23
6870 ========================================================================== */
6871
6872#define Q6_P_lsrxacc_PR __builtin_HEXAGON_S2_lsr_r_p_xor
6873
6874/* ==========================================================================
6875 Assembly Syntax: Rd32=lsr(Rs32,Rt32)
6876 C Intrinsic Prototype: Word32 Q6_R_lsr_RR(Word32 Rs, Word32 Rt)
6877 Instruction Type: S_3op
6878 Execution Slots: SLOT23
6879 ========================================================================== */
6880
6881#define Q6_R_lsr_RR __builtin_HEXAGON_S2_lsr_r_r
6882
6883/* ==========================================================================
6884 Assembly Syntax: Rx32+=lsr(Rs32,Rt32)
6885 C Intrinsic Prototype: Word32 Q6_R_lsracc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6886 Instruction Type: S_3op
6887 Execution Slots: SLOT23
6888 ========================================================================== */
6889
6890#define Q6_R_lsracc_RR __builtin_HEXAGON_S2_lsr_r_r_acc
6891
6892/* ==========================================================================
6893 Assembly Syntax: Rx32&=lsr(Rs32,Rt32)
6894 C Intrinsic Prototype: Word32 Q6_R_lsrand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6895 Instruction Type: S_3op
6896 Execution Slots: SLOT23
6897 ========================================================================== */
6898
6899#define Q6_R_lsrand_RR __builtin_HEXAGON_S2_lsr_r_r_and
6900
6901/* ==========================================================================
6902 Assembly Syntax: Rx32-=lsr(Rs32,Rt32)
6903 C Intrinsic Prototype: Word32 Q6_R_lsrnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6904 Instruction Type: S_3op
6905 Execution Slots: SLOT23
6906 ========================================================================== */
6907
6908#define Q6_R_lsrnac_RR __builtin_HEXAGON_S2_lsr_r_r_nac
6909
6910/* ==========================================================================
6911 Assembly Syntax: Rx32|=lsr(Rs32,Rt32)
6912 C Intrinsic Prototype: Word32 Q6_R_lsror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
6913 Instruction Type: S_3op
6914 Execution Slots: SLOT23
6915 ========================================================================== */
6916
6917#define Q6_R_lsror_RR __builtin_HEXAGON_S2_lsr_r_r_or
6918
6919/* ==========================================================================
6920 Assembly Syntax: Rdd32=vlsrh(Rss32,Rt32)
6921 C Intrinsic Prototype: Word64 Q6_P_vlsrh_PR(Word64 Rss, Word32 Rt)
6922 Instruction Type: S_3op
6923 Execution Slots: SLOT23
6924 ========================================================================== */
6925
6926#define Q6_P_vlsrh_PR __builtin_HEXAGON_S2_lsr_r_vh
6927
6928/* ==========================================================================
6929 Assembly Syntax: Rdd32=vlsrw(Rss32,Rt32)
6930 C Intrinsic Prototype: Word64 Q6_P_vlsrw_PR(Word64 Rss, Word32 Rt)
6931 Instruction Type: S_3op
6932 Execution Slots: SLOT23
6933 ========================================================================== */
6934
6935#define Q6_P_vlsrw_PR __builtin_HEXAGON_S2_lsr_r_vw
6936
6937/* ==========================================================================
6938 Assembly Syntax: Rdd32=packhl(Rs32,Rt32)
6939 C Intrinsic Prototype: Word64 Q6_P_packhl_RR(Word32 Rs, Word32 Rt)
6940 Instruction Type: ALU32_3op
6941 Execution Slots: SLOT0123
6942 ========================================================================== */
6943
6944#define Q6_P_packhl_RR __builtin_HEXAGON_S2_packhl
6945
6946/* ==========================================================================
6947 Assembly Syntax: Rd32=parity(Rss32,Rtt32)
6948 C Intrinsic Prototype: Word32 Q6_R_parity_PP(Word64 Rss, Word64 Rtt)
6949 Instruction Type: ALU64
6950 Execution Slots: SLOT23
6951 ========================================================================== */
6952
6953#define Q6_R_parity_PP __builtin_HEXAGON_S2_parityp
6954
6955/* ==========================================================================
6956 Assembly Syntax: Rd32=setbit(Rs32,#u5)
6957 C Intrinsic Prototype: Word32 Q6_R_setbit_RI(Word32 Rs, Word32 Iu5)
6958 Instruction Type: S_2op
6959 Execution Slots: SLOT23
6960 ========================================================================== */
6961
6962#define Q6_R_setbit_RI __builtin_HEXAGON_S2_setbit_i
6963
6964/* ==========================================================================
6965 Assembly Syntax: Rd32=setbit(Rs32,Rt32)
6966 C Intrinsic Prototype: Word32 Q6_R_setbit_RR(Word32 Rs, Word32 Rt)
6967 Instruction Type: S_3op
6968 Execution Slots: SLOT23
6969 ========================================================================== */
6970
6971#define Q6_R_setbit_RR __builtin_HEXAGON_S2_setbit_r
6972
6973/* ==========================================================================
6974 Assembly Syntax: Rdd32=shuffeb(Rss32,Rtt32)
6975 C Intrinsic Prototype: Word64 Q6_P_shuffeb_PP(Word64 Rss, Word64 Rtt)
6976 Instruction Type: S_3op
6977 Execution Slots: SLOT23
6978 ========================================================================== */
6979
6980#define Q6_P_shuffeb_PP __builtin_HEXAGON_S2_shuffeb
6981
6982/* ==========================================================================
6983 Assembly Syntax: Rdd32=shuffeh(Rss32,Rtt32)
6984 C Intrinsic Prototype: Word64 Q6_P_shuffeh_PP(Word64 Rss, Word64 Rtt)
6985 Instruction Type: S_3op
6986 Execution Slots: SLOT23
6987 ========================================================================== */
6988
6989#define Q6_P_shuffeh_PP __builtin_HEXAGON_S2_shuffeh
6990
6991/* ==========================================================================
6992 Assembly Syntax: Rdd32=shuffob(Rtt32,Rss32)
6993 C Intrinsic Prototype: Word64 Q6_P_shuffob_PP(Word64 Rtt, Word64 Rss)
6994 Instruction Type: S_3op
6995 Execution Slots: SLOT23
6996 ========================================================================== */
6997
6998#define Q6_P_shuffob_PP __builtin_HEXAGON_S2_shuffob
6999
7000/* ==========================================================================
7001 Assembly Syntax: Rdd32=shuffoh(Rtt32,Rss32)
7002 C Intrinsic Prototype: Word64 Q6_P_shuffoh_PP(Word64 Rtt, Word64 Rss)
7003 Instruction Type: S_3op
7004 Execution Slots: SLOT23
7005 ========================================================================== */
7006
7007#define Q6_P_shuffoh_PP __builtin_HEXAGON_S2_shuffoh
7008
7009/* ==========================================================================
7010 Assembly Syntax: memb(Rx32++#s4:0:circ(Mu2))=Rt32
7011 C Intrinsic Prototype: void Q6_memb_IMR_circ(void** Rx, Word32 Is4_0, Word32 Mu, Word32 Rt, void* BaseAddress)
7012 Instruction Type: ST
7013 Execution Slots: SLOT01
7014 ========================================================================== */
7015
7016#define Q6_memb_IMR_circ __builtin_HEXAGON_S2_storerb_pci
7017
7018/* ==========================================================================
7019 Assembly Syntax: memb(Rx32++I:circ(Mu2))=Rt32
7020 C Intrinsic Prototype: void Q6_memb_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
7021 Instruction Type: ST
7022 Execution Slots: SLOT01
7023 ========================================================================== */
7024
7025#define Q6_memb_MR_circ __builtin_HEXAGON_S2_storerb_pcr
7026
7027/* ==========================================================================
7028 Assembly Syntax: memd(Rx32++#s4:3:circ(Mu2))=Rtt32
7029 C Intrinsic Prototype: void Q6_memd_IMP_circ(void** Rx, Word32 Is4_3, Word32 Mu, Word64 Rtt, void* BaseAddress)
7030 Instruction Type: ST
7031 Execution Slots: SLOT01
7032 ========================================================================== */
7033
7034#define Q6_memd_IMP_circ __builtin_HEXAGON_S2_storerd_pci
7035
7036/* ==========================================================================
7037 Assembly Syntax: memd(Rx32++I:circ(Mu2))=Rtt32
7038 C Intrinsic Prototype: void Q6_memd_MP_circ(void** Rx, Word32 Mu, Word64 Rtt, void* BaseAddress)
7039 Instruction Type: ST
7040 Execution Slots: SLOT01
7041 ========================================================================== */
7042
7043#define Q6_memd_MP_circ __builtin_HEXAGON_S2_storerd_pcr
7044
7045/* ==========================================================================
7046 Assembly Syntax: memh(Rx32++#s4:1:circ(Mu2))=Rt32.h
7047 C Intrinsic Prototype: void Q6_memh_IMRh_circ(void** Rx, Word32 Is4_1, Word32 Mu, Word32 Rt, void* BaseAddress)
7048 Instruction Type: ST
7049 Execution Slots: SLOT01
7050 ========================================================================== */
7051
7052#define Q6_memh_IMRh_circ __builtin_HEXAGON_S2_storerf_pci
7053
7054/* ==========================================================================
7055 Assembly Syntax: memh(Rx32++I:circ(Mu2))=Rt32.h
7056 C Intrinsic Prototype: void Q6_memh_MRh_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
7057 Instruction Type: ST
7058 Execution Slots: SLOT01
7059 ========================================================================== */
7060
7061#define Q6_memh_MRh_circ __builtin_HEXAGON_S2_storerf_pcr
7062
7063/* ==========================================================================
7064 Assembly Syntax: memh(Rx32++#s4:1:circ(Mu2))=Rt32
7065 C Intrinsic Prototype: void Q6_memh_IMR_circ(void** Rx, Word32 Is4_1, Word32 Mu, Word32 Rt, void* BaseAddress)
7066 Instruction Type: ST
7067 Execution Slots: SLOT01
7068 ========================================================================== */
7069
7070#define Q6_memh_IMR_circ __builtin_HEXAGON_S2_storerh_pci
7071
7072/* ==========================================================================
7073 Assembly Syntax: memh(Rx32++I:circ(Mu2))=Rt32
7074 C Intrinsic Prototype: void Q6_memh_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
7075 Instruction Type: ST
7076 Execution Slots: SLOT01
7077 ========================================================================== */
7078
7079#define Q6_memh_MR_circ __builtin_HEXAGON_S2_storerh_pcr
7080
7081/* ==========================================================================
7082 Assembly Syntax: memw(Rx32++#s4:2:circ(Mu2))=Rt32
7083 C Intrinsic Prototype: void Q6_memw_IMR_circ(void** Rx, Word32 Is4_2, Word32 Mu, Word32 Rt, void* BaseAddress)
7084 Instruction Type: ST
7085 Execution Slots: SLOT01
7086 ========================================================================== */
7087
7088#define Q6_memw_IMR_circ __builtin_HEXAGON_S2_storeri_pci
7089
7090/* ==========================================================================
7091 Assembly Syntax: memw(Rx32++I:circ(Mu2))=Rt32
7092 C Intrinsic Prototype: void Q6_memw_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
7093 Instruction Type: ST
7094 Execution Slots: SLOT01
7095 ========================================================================== */
7096
7097#define Q6_memw_MR_circ __builtin_HEXAGON_S2_storeri_pcr
7098
7099/* ==========================================================================
7100 Assembly Syntax: Rd32=vsathb(Rs32)
7101 C Intrinsic Prototype: Word32 Q6_R_vsathb_R(Word32 Rs)
7102 Instruction Type: S_2op
7103 Execution Slots: SLOT23
7104 ========================================================================== */
7105
7106#define Q6_R_vsathb_R __builtin_HEXAGON_S2_svsathb
7107
7108/* ==========================================================================
7109 Assembly Syntax: Rd32=vsathub(Rs32)
7110 C Intrinsic Prototype: Word32 Q6_R_vsathub_R(Word32 Rs)
7111 Instruction Type: S_2op
7112 Execution Slots: SLOT23
7113 ========================================================================== */
7114
7115#define Q6_R_vsathub_R __builtin_HEXAGON_S2_svsathub
7116
7117/* ==========================================================================
7118 Assembly Syntax: Rx32=tableidxb(Rs32,#u4,#U5)
7119 C Intrinsic Prototype: Word32 Q6_R_tableidxb_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
7120 Instruction Type: S_2op
7121 Execution Slots: SLOT0123
7122 ========================================================================== */
7123
7124#define Q6_R_tableidxb_RII __builtin_HEXAGON_S2_tableidxb_goodsyntax
7125
7126/* ==========================================================================
7127 Assembly Syntax: Rx32=tableidxd(Rs32,#u4,#U5)
7128 C Intrinsic Prototype: Word32 Q6_R_tableidxd_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
7129 Instruction Type: S_2op
7130 Execution Slots: SLOT0123
7131 ========================================================================== */
7132
7133#define Q6_R_tableidxd_RII __builtin_HEXAGON_S2_tableidxd_goodsyntax
7134
7135/* ==========================================================================
7136 Assembly Syntax: Rx32=tableidxh(Rs32,#u4,#U5)
7137 C Intrinsic Prototype: Word32 Q6_R_tableidxh_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
7138 Instruction Type: S_2op
7139 Execution Slots: SLOT0123
7140 ========================================================================== */
7141
7142#define Q6_R_tableidxh_RII __builtin_HEXAGON_S2_tableidxh_goodsyntax
7143
7144/* ==========================================================================
7145 Assembly Syntax: Rx32=tableidxw(Rs32,#u4,#U5)
7146 C Intrinsic Prototype: Word32 Q6_R_tableidxw_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
7147 Instruction Type: S_2op
7148 Execution Slots: SLOT0123
7149 ========================================================================== */
7150
7151#define Q6_R_tableidxw_RII __builtin_HEXAGON_S2_tableidxw_goodsyntax
7152
7153/* ==========================================================================
7154 Assembly Syntax: Rd32=togglebit(Rs32,#u5)
7155 C Intrinsic Prototype: Word32 Q6_R_togglebit_RI(Word32 Rs, Word32 Iu5)
7156 Instruction Type: S_2op
7157 Execution Slots: SLOT23
7158 ========================================================================== */
7159
7160#define Q6_R_togglebit_RI __builtin_HEXAGON_S2_togglebit_i
7161
7162/* ==========================================================================
7163 Assembly Syntax: Rd32=togglebit(Rs32,Rt32)
7164 C Intrinsic Prototype: Word32 Q6_R_togglebit_RR(Word32 Rs, Word32 Rt)
7165 Instruction Type: S_3op
7166 Execution Slots: SLOT23
7167 ========================================================================== */
7168
7169#define Q6_R_togglebit_RR __builtin_HEXAGON_S2_togglebit_r
7170
7171/* ==========================================================================
7172 Assembly Syntax: Pd4=tstbit(Rs32,#u5)
7173 C Intrinsic Prototype: Byte Q6_p_tstbit_RI(Word32 Rs, Word32 Iu5)
7174 Instruction Type: S_2op
7175 Execution Slots: SLOT23
7176 ========================================================================== */
7177
7178#define Q6_p_tstbit_RI __builtin_HEXAGON_S2_tstbit_i
7179
7180/* ==========================================================================
7181 Assembly Syntax: Pd4=tstbit(Rs32,Rt32)
7182 C Intrinsic Prototype: Byte Q6_p_tstbit_RR(Word32 Rs, Word32 Rt)
7183 Instruction Type: S_3op
7184 Execution Slots: SLOT23
7185 ========================================================================== */
7186
7187#define Q6_p_tstbit_RR __builtin_HEXAGON_S2_tstbit_r
7188
7189/* ==========================================================================
7190 Assembly Syntax: Rdd32=valignb(Rtt32,Rss32,#u3)
7191 C Intrinsic Prototype: Word64 Q6_P_valignb_PPI(Word64 Rtt, Word64 Rss, Word32 Iu3)
7192 Instruction Type: S_3op
7193 Execution Slots: SLOT23
7194 ========================================================================== */
7195
7196#define Q6_P_valignb_PPI __builtin_HEXAGON_S2_valignib
7197
7198/* ==========================================================================
7199 Assembly Syntax: Rdd32=valignb(Rtt32,Rss32,Pu4)
7200 C Intrinsic Prototype: Word64 Q6_P_valignb_PPp(Word64 Rtt, Word64 Rss, Byte Pu)
7201 Instruction Type: S_3op
7202 Execution Slots: SLOT23
7203 ========================================================================== */
7204
7205#define Q6_P_valignb_PPp __builtin_HEXAGON_S2_valignrb
7206
7207/* ==========================================================================
7208 Assembly Syntax: Rdd32=vcnegh(Rss32,Rt32)
7209 C Intrinsic Prototype: Word64 Q6_P_vcnegh_PR(Word64 Rss, Word32 Rt)
7210 Instruction Type: S_3op
7211 Execution Slots: SLOT23
7212 ========================================================================== */
7213
7214#define Q6_P_vcnegh_PR __builtin_HEXAGON_S2_vcnegh
7215
7216/* ==========================================================================
7217 Assembly Syntax: Rdd32=vcrotate(Rss32,Rt32)
7218 C Intrinsic Prototype: Word64 Q6_P_vcrotate_PR(Word64 Rss, Word32 Rt)
7219 Instruction Type: S_3op
7220 Execution Slots: SLOT23
7221 ========================================================================== */
7222
7223#define Q6_P_vcrotate_PR __builtin_HEXAGON_S2_vcrotate
7224
7225/* ==========================================================================
7226 Assembly Syntax: Rxx32+=vrcnegh(Rss32,Rt32)
7227 C Intrinsic Prototype: Word64 Q6_P_vrcneghacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
7228 Instruction Type: S_3op
7229 Execution Slots: SLOT23
7230 ========================================================================== */
7231
7232#define Q6_P_vrcneghacc_PR __builtin_HEXAGON_S2_vrcnegh
7233
7234/* ==========================================================================
7235 Assembly Syntax: Rd32=vrndwh(Rss32)
7236 C Intrinsic Prototype: Word32 Q6_R_vrndwh_P(Word64 Rss)
7237 Instruction Type: S_2op
7238 Execution Slots: SLOT23
7239 ========================================================================== */
7240
7241#define Q6_R_vrndwh_P __builtin_HEXAGON_S2_vrndpackwh
7242
7243/* ==========================================================================
7244 Assembly Syntax: Rd32=vrndwh(Rss32):sat
7245 C Intrinsic Prototype: Word32 Q6_R_vrndwh_P_sat(Word64 Rss)
7246 Instruction Type: S_2op
7247 Execution Slots: SLOT23
7248 ========================================================================== */
7249
7250#define Q6_R_vrndwh_P_sat __builtin_HEXAGON_S2_vrndpackwhs
7251
7252/* ==========================================================================
7253 Assembly Syntax: Rd32=vsathb(Rss32)
7254 C Intrinsic Prototype: Word32 Q6_R_vsathb_P(Word64 Rss)
7255 Instruction Type: S_2op
7256 Execution Slots: SLOT23
7257 ========================================================================== */
7258
7259#define Q6_R_vsathb_P __builtin_HEXAGON_S2_vsathb
7260
7261/* ==========================================================================
7262 Assembly Syntax: Rdd32=vsathb(Rss32)
7263 C Intrinsic Prototype: Word64 Q6_P_vsathb_P(Word64 Rss)
7264 Instruction Type: S_2op
7265 Execution Slots: SLOT23
7266 ========================================================================== */
7267
7268#define Q6_P_vsathb_P __builtin_HEXAGON_S2_vsathb_nopack
7269
7270/* ==========================================================================
7271 Assembly Syntax: Rd32=vsathub(Rss32)
7272 C Intrinsic Prototype: Word32 Q6_R_vsathub_P(Word64 Rss)
7273 Instruction Type: S_2op
7274 Execution Slots: SLOT23
7275 ========================================================================== */
7276
7277#define Q6_R_vsathub_P __builtin_HEXAGON_S2_vsathub
7278
7279/* ==========================================================================
7280 Assembly Syntax: Rdd32=vsathub(Rss32)
7281 C Intrinsic Prototype: Word64 Q6_P_vsathub_P(Word64 Rss)
7282 Instruction Type: S_2op
7283 Execution Slots: SLOT23
7284 ========================================================================== */
7285
7286#define Q6_P_vsathub_P __builtin_HEXAGON_S2_vsathub_nopack
7287
7288/* ==========================================================================
7289 Assembly Syntax: Rd32=vsatwh(Rss32)
7290 C Intrinsic Prototype: Word32 Q6_R_vsatwh_P(Word64 Rss)
7291 Instruction Type: S_2op
7292 Execution Slots: SLOT23
7293 ========================================================================== */
7294
7295#define Q6_R_vsatwh_P __builtin_HEXAGON_S2_vsatwh
7296
7297/* ==========================================================================
7298 Assembly Syntax: Rdd32=vsatwh(Rss32)
7299 C Intrinsic Prototype: Word64 Q6_P_vsatwh_P(Word64 Rss)
7300 Instruction Type: S_2op
7301 Execution Slots: SLOT23
7302 ========================================================================== */
7303
7304#define Q6_P_vsatwh_P __builtin_HEXAGON_S2_vsatwh_nopack
7305
7306/* ==========================================================================
7307 Assembly Syntax: Rd32=vsatwuh(Rss32)
7308 C Intrinsic Prototype: Word32 Q6_R_vsatwuh_P(Word64 Rss)
7309 Instruction Type: S_2op
7310 Execution Slots: SLOT23
7311 ========================================================================== */
7312
7313#define Q6_R_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh
7314
7315/* ==========================================================================
7316 Assembly Syntax: Rdd32=vsatwuh(Rss32)
7317 C Intrinsic Prototype: Word64 Q6_P_vsatwuh_P(Word64 Rss)
7318 Instruction Type: S_2op
7319 Execution Slots: SLOT23
7320 ========================================================================== */
7321
7322#define Q6_P_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh_nopack
7323
7324/* ==========================================================================
7325 Assembly Syntax: Rd32=vsplatb(Rs32)
7326 C Intrinsic Prototype: Word32 Q6_R_vsplatb_R(Word32 Rs)
7327 Instruction Type: S_2op
7328 Execution Slots: SLOT23
7329 ========================================================================== */
7330
7331#define Q6_R_vsplatb_R __builtin_HEXAGON_S2_vsplatrb
7332
7333/* ==========================================================================
7334 Assembly Syntax: Rdd32=vsplath(Rs32)
7335 C Intrinsic Prototype: Word64 Q6_P_vsplath_R(Word32 Rs)
7336 Instruction Type: S_2op
7337 Execution Slots: SLOT23
7338 ========================================================================== */
7339
7340#define Q6_P_vsplath_R __builtin_HEXAGON_S2_vsplatrh
7341
7342/* ==========================================================================
7343 Assembly Syntax: Rdd32=vspliceb(Rss32,Rtt32,#u3)
7344 C Intrinsic Prototype: Word64 Q6_P_vspliceb_PPI(Word64 Rss, Word64 Rtt, Word32 Iu3)
7345 Instruction Type: S_3op
7346 Execution Slots: SLOT23
7347 ========================================================================== */
7348
7349#define Q6_P_vspliceb_PPI __builtin_HEXAGON_S2_vspliceib
7350
7351/* ==========================================================================
7352 Assembly Syntax: Rdd32=vspliceb(Rss32,Rtt32,Pu4)
7353 C Intrinsic Prototype: Word64 Q6_P_vspliceb_PPp(Word64 Rss, Word64 Rtt, Byte Pu)
7354 Instruction Type: S_3op
7355 Execution Slots: SLOT23
7356 ========================================================================== */
7357
7358#define Q6_P_vspliceb_PPp __builtin_HEXAGON_S2_vsplicerb
7359
7360/* ==========================================================================
7361 Assembly Syntax: Rdd32=vsxtbh(Rs32)
7362 C Intrinsic Prototype: Word64 Q6_P_vsxtbh_R(Word32 Rs)
7363 Instruction Type: S_2op
7364 Execution Slots: SLOT23
7365 ========================================================================== */
7366
7367#define Q6_P_vsxtbh_R __builtin_HEXAGON_S2_vsxtbh
7368
7369/* ==========================================================================
7370 Assembly Syntax: Rdd32=vsxthw(Rs32)
7371 C Intrinsic Prototype: Word64 Q6_P_vsxthw_R(Word32 Rs)
7372 Instruction Type: S_2op
7373 Execution Slots: SLOT23
7374 ========================================================================== */
7375
7376#define Q6_P_vsxthw_R __builtin_HEXAGON_S2_vsxthw
7377
7378/* ==========================================================================
7379 Assembly Syntax: Rd32=vtrunehb(Rss32)
7380 C Intrinsic Prototype: Word32 Q6_R_vtrunehb_P(Word64 Rss)
7381 Instruction Type: S_2op
7382 Execution Slots: SLOT23
7383 ========================================================================== */
7384
7385#define Q6_R_vtrunehb_P __builtin_HEXAGON_S2_vtrunehb
7386
7387/* ==========================================================================
7388 Assembly Syntax: Rdd32=vtrunewh(Rss32,Rtt32)
7389 C Intrinsic Prototype: Word64 Q6_P_vtrunewh_PP(Word64 Rss, Word64 Rtt)
7390 Instruction Type: S_3op
7391 Execution Slots: SLOT23
7392 ========================================================================== */
7393
7394#define Q6_P_vtrunewh_PP __builtin_HEXAGON_S2_vtrunewh
7395
7396/* ==========================================================================
7397 Assembly Syntax: Rd32=vtrunohb(Rss32)
7398 C Intrinsic Prototype: Word32 Q6_R_vtrunohb_P(Word64 Rss)
7399 Instruction Type: S_2op
7400 Execution Slots: SLOT23
7401 ========================================================================== */
7402
7403#define Q6_R_vtrunohb_P __builtin_HEXAGON_S2_vtrunohb
7404
7405/* ==========================================================================
7406 Assembly Syntax: Rdd32=vtrunowh(Rss32,Rtt32)
7407 C Intrinsic Prototype: Word64 Q6_P_vtrunowh_PP(Word64 Rss, Word64 Rtt)
7408 Instruction Type: S_3op
7409 Execution Slots: SLOT23
7410 ========================================================================== */
7411
7412#define Q6_P_vtrunowh_PP __builtin_HEXAGON_S2_vtrunowh
7413
7414/* ==========================================================================
7415 Assembly Syntax: Rdd32=vzxtbh(Rs32)
7416 C Intrinsic Prototype: Word64 Q6_P_vzxtbh_R(Word32 Rs)
7417 Instruction Type: S_2op
7418 Execution Slots: SLOT23
7419 ========================================================================== */
7420
7421#define Q6_P_vzxtbh_R __builtin_HEXAGON_S2_vzxtbh
7422
7423/* ==========================================================================
7424 Assembly Syntax: Rdd32=vzxthw(Rs32)
7425 C Intrinsic Prototype: Word64 Q6_P_vzxthw_R(Word32 Rs)
7426 Instruction Type: S_2op
7427 Execution Slots: SLOT23
7428 ========================================================================== */
7429
7430#define Q6_P_vzxthw_R __builtin_HEXAGON_S2_vzxthw
7431
7432/* ==========================================================================
7433 Assembly Syntax: Rd32=add(Rs32,add(Ru32,#s6))
7434 C Intrinsic Prototype: Word32 Q6_R_add_add_RRI(Word32 Rs, Word32 Ru, Word32 Is6)
7435 Instruction Type: ALU64
7436 Execution Slots: SLOT23
7437 ========================================================================== */
7438
7439#define Q6_R_add_add_RRI __builtin_HEXAGON_S4_addaddi
7440
7441/* ==========================================================================
7442 Assembly Syntax: Rx32=add(#u8,asl(Rx32,#U5))
7443 C Intrinsic Prototype: Word32 Q6_R_add_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7444 Instruction Type: ALU64
7445 Execution Slots: SLOT23
7446 ========================================================================== */
7447
7448#define Q6_R_add_asl_IRI __builtin_HEXAGON_S4_addi_asl_ri
7449
7450/* ==========================================================================
7451 Assembly Syntax: Rx32=add(#u8,lsr(Rx32,#U5))
7452 C Intrinsic Prototype: Word32 Q6_R_add_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7453 Instruction Type: ALU64
7454 Execution Slots: SLOT23
7455 ========================================================================== */
7456
7457#define Q6_R_add_lsr_IRI __builtin_HEXAGON_S4_addi_lsr_ri
7458
7459/* ==========================================================================
7460 Assembly Syntax: Rx32=and(#u8,asl(Rx32,#U5))
7461 C Intrinsic Prototype: Word32 Q6_R_and_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7462 Instruction Type: ALU64
7463 Execution Slots: SLOT23
7464 ========================================================================== */
7465
7466#define Q6_R_and_asl_IRI __builtin_HEXAGON_S4_andi_asl_ri
7467
7468/* ==========================================================================
7469 Assembly Syntax: Rx32=and(#u8,lsr(Rx32,#U5))
7470 C Intrinsic Prototype: Word32 Q6_R_and_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7471 Instruction Type: ALU64
7472 Execution Slots: SLOT23
7473 ========================================================================== */
7474
7475#define Q6_R_and_lsr_IRI __builtin_HEXAGON_S4_andi_lsr_ri
7476
7477/* ==========================================================================
7478 Assembly Syntax: Rd32=add(clb(Rs32),#s6)
7479 C Intrinsic Prototype: Word32 Q6_R_add_clb_RI(Word32 Rs, Word32 Is6)
7480 Instruction Type: S_2op
7481 Execution Slots: SLOT23
7482 ========================================================================== */
7483
7484#define Q6_R_add_clb_RI __builtin_HEXAGON_S4_clbaddi
7485
7486/* ==========================================================================
7487 Assembly Syntax: Rd32=add(clb(Rss32),#s6)
7488 C Intrinsic Prototype: Word32 Q6_R_add_clb_PI(Word64 Rss, Word32 Is6)
7489 Instruction Type: S_2op
7490 Execution Slots: SLOT23
7491 ========================================================================== */
7492
7493#define Q6_R_add_clb_PI __builtin_HEXAGON_S4_clbpaddi
7494
7495/* ==========================================================================
7496 Assembly Syntax: Rd32=normamt(Rss32)
7497 C Intrinsic Prototype: Word32 Q6_R_normamt_P(Word64 Rss)
7498 Instruction Type: S_2op
7499 Execution Slots: SLOT23
7500 ========================================================================== */
7501
7502#define Q6_R_normamt_P __builtin_HEXAGON_S4_clbpnorm
7503
7504/* ==========================================================================
7505 Assembly Syntax: Rd32=extract(Rs32,#u5,#U5)
7506 C Intrinsic Prototype: Word32 Q6_R_extract_RII(Word32 Rs, Word32 Iu5, Word32 IU5)
7507 Instruction Type: S_2op
7508 Execution Slots: SLOT23
7509 ========================================================================== */
7510
7511#define Q6_R_extract_RII __builtin_HEXAGON_S4_extract
7512
7513/* ==========================================================================
7514 Assembly Syntax: Rd32=extract(Rs32,Rtt32)
7515 C Intrinsic Prototype: Word32 Q6_R_extract_RP(Word32 Rs, Word64 Rtt)
7516 Instruction Type: S_3op
7517 Execution Slots: SLOT23
7518 ========================================================================== */
7519
7520#define Q6_R_extract_RP __builtin_HEXAGON_S4_extract_rp
7521
7522/* ==========================================================================
7523 Assembly Syntax: Rdd32=extract(Rss32,#u6,#U6)
7524 C Intrinsic Prototype: Word64 Q6_P_extract_PII(Word64 Rss, Word32 Iu6, Word32 IU6)
7525 Instruction Type: S_2op
7526 Execution Slots: SLOT23
7527 ========================================================================== */
7528
7529#define Q6_P_extract_PII __builtin_HEXAGON_S4_extractp
7530
7531/* ==========================================================================
7532 Assembly Syntax: Rdd32=extract(Rss32,Rtt32)
7533 C Intrinsic Prototype: Word64 Q6_P_extract_PP(Word64 Rss, Word64 Rtt)
7534 Instruction Type: S_3op
7535 Execution Slots: SLOT23
7536 ========================================================================== */
7537
7538#define Q6_P_extract_PP __builtin_HEXAGON_S4_extractp_rp
7539
7540/* ==========================================================================
7541 Assembly Syntax: Rd32=lsl(#s6,Rt32)
7542 C Intrinsic Prototype: Word32 Q6_R_lsl_IR(Word32 Is6, Word32 Rt)
7543 Instruction Type: S_3op
7544 Execution Slots: SLOT23
7545 ========================================================================== */
7546
7547#define Q6_R_lsl_IR __builtin_HEXAGON_S4_lsli
7548
7549/* ==========================================================================
7550 Assembly Syntax: Pd4=!tstbit(Rs32,#u5)
7551 C Intrinsic Prototype: Byte Q6_p_not_tstbit_RI(Word32 Rs, Word32 Iu5)
7552 Instruction Type: S_2op
7553 Execution Slots: SLOT23
7554 ========================================================================== */
7555
7556#define Q6_p_not_tstbit_RI __builtin_HEXAGON_S4_ntstbit_i
7557
7558/* ==========================================================================
7559 Assembly Syntax: Pd4=!tstbit(Rs32,Rt32)
7560 C Intrinsic Prototype: Byte Q6_p_not_tstbit_RR(Word32 Rs, Word32 Rt)
7561 Instruction Type: S_3op
7562 Execution Slots: SLOT23
7563 ========================================================================== */
7564
7565#define Q6_p_not_tstbit_RR __builtin_HEXAGON_S4_ntstbit_r
7566
7567/* ==========================================================================
7568 Assembly Syntax: Rx32|=and(Rs32,#s10)
7569 C Intrinsic Prototype: Word32 Q6_R_andor_RI(Word32 Rx, Word32 Rs, Word32 Is10)
7570 Instruction Type: ALU64
7571 Execution Slots: SLOT23
7572 ========================================================================== */
7573
7574#define Q6_R_andor_RI __builtin_HEXAGON_S4_or_andi
7575
7576/* ==========================================================================
7577 Assembly Syntax: Rx32=or(Ru32,and(Rx32,#s10))
7578 C Intrinsic Prototype: Word32 Q6_R_or_and_RRI(Word32 Ru, Word32 Rx, Word32 Is10)
7579 Instruction Type: ALU64
7580 Execution Slots: SLOT23
7581 ========================================================================== */
7582
7583#define Q6_R_or_and_RRI __builtin_HEXAGON_S4_or_andix
7584
7585/* ==========================================================================
7586 Assembly Syntax: Rx32|=or(Rs32,#s10)
7587 C Intrinsic Prototype: Word32 Q6_R_oror_RI(Word32 Rx, Word32 Rs, Word32 Is10)
7588 Instruction Type: ALU64
7589 Execution Slots: SLOT23
7590 ========================================================================== */
7591
7592#define Q6_R_oror_RI __builtin_HEXAGON_S4_or_ori
7593
7594/* ==========================================================================
7595 Assembly Syntax: Rx32=or(#u8,asl(Rx32,#U5))
7596 C Intrinsic Prototype: Word32 Q6_R_or_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7597 Instruction Type: ALU64
7598 Execution Slots: SLOT23
7599 ========================================================================== */
7600
7601#define Q6_R_or_asl_IRI __builtin_HEXAGON_S4_ori_asl_ri
7602
7603/* ==========================================================================
7604 Assembly Syntax: Rx32=or(#u8,lsr(Rx32,#U5))
7605 C Intrinsic Prototype: Word32 Q6_R_or_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7606 Instruction Type: ALU64
7607 Execution Slots: SLOT23
7608 ========================================================================== */
7609
7610#define Q6_R_or_lsr_IRI __builtin_HEXAGON_S4_ori_lsr_ri
7611
7612/* ==========================================================================
7613 Assembly Syntax: Rd32=parity(Rs32,Rt32)
7614 C Intrinsic Prototype: Word32 Q6_R_parity_RR(Word32 Rs, Word32 Rt)
7615 Instruction Type: ALU64
7616 Execution Slots: SLOT23
7617 ========================================================================== */
7618
7619#define Q6_R_parity_RR __builtin_HEXAGON_S4_parity
7620
7621/* ==========================================================================
7622 Assembly Syntax: Rd32=add(Rs32,sub(#s6,Ru32))
7623 C Intrinsic Prototype: Word32 Q6_R_add_sub_RIR(Word32 Rs, Word32 Is6, Word32 Ru)
7624 Instruction Type: ALU64
7625 Execution Slots: SLOT23
7626 ========================================================================== */
7627
7628#define Q6_R_add_sub_RIR __builtin_HEXAGON_S4_subaddi
7629
7630/* ==========================================================================
7631 Assembly Syntax: Rx32=sub(#u8,asl(Rx32,#U5))
7632 C Intrinsic Prototype: Word32 Q6_R_sub_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7633 Instruction Type: ALU64
7634 Execution Slots: SLOT23
7635 ========================================================================== */
7636
7637#define Q6_R_sub_asl_IRI __builtin_HEXAGON_S4_subi_asl_ri
7638
7639/* ==========================================================================
7640 Assembly Syntax: Rx32=sub(#u8,lsr(Rx32,#U5))
7641 C Intrinsic Prototype: Word32 Q6_R_sub_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
7642 Instruction Type: ALU64
7643 Execution Slots: SLOT23
7644 ========================================================================== */
7645
7646#define Q6_R_sub_lsr_IRI __builtin_HEXAGON_S4_subi_lsr_ri
7647
7648/* ==========================================================================
7649 Assembly Syntax: Rdd32=vrcrotate(Rss32,Rt32,#u2)
7650 C Intrinsic Prototype: Word64 Q6_P_vrcrotate_PRI(Word64 Rss, Word32 Rt, Word32 Iu2)
7651 Instruction Type: S_3op
7652 Execution Slots: SLOT23
7653 ========================================================================== */
7654
7655#define Q6_P_vrcrotate_PRI __builtin_HEXAGON_S4_vrcrotate
7656
7657/* ==========================================================================
7658 Assembly Syntax: Rxx32+=vrcrotate(Rss32,Rt32,#u2)
7659 C Intrinsic Prototype: Word64 Q6_P_vrcrotateacc_PRI(Word64 Rxx, Word64 Rss, Word32 Rt, Word32 Iu2)
7660 Instruction Type: S_3op
7661 Execution Slots: SLOT23
7662 ========================================================================== */
7663
7664#define Q6_P_vrcrotateacc_PRI __builtin_HEXAGON_S4_vrcrotate_acc
7665
7666/* ==========================================================================
7667 Assembly Syntax: Rdd32=vxaddsubh(Rss32,Rtt32):sat
7668 C Intrinsic Prototype: Word64 Q6_P_vxaddsubh_PP_sat(Word64 Rss, Word64 Rtt)
7669 Instruction Type: S_3op
7670 Execution Slots: SLOT23
7671 ========================================================================== */
7672
7673#define Q6_P_vxaddsubh_PP_sat __builtin_HEXAGON_S4_vxaddsubh
7674
7675/* ==========================================================================
7676 Assembly Syntax: Rdd32=vxaddsubh(Rss32,Rtt32):rnd:>>1:sat
7677 C Intrinsic Prototype: Word64 Q6_P_vxaddsubh_PP_rnd_rs1_sat(Word64 Rss, Word64 Rtt)
7678 Instruction Type: S_3op
7679 Execution Slots: SLOT23
7680 ========================================================================== */
7681
7682#define Q6_P_vxaddsubh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxaddsubhr
7683
7684/* ==========================================================================
7685 Assembly Syntax: Rdd32=vxaddsubw(Rss32,Rtt32):sat
7686 C Intrinsic Prototype: Word64 Q6_P_vxaddsubw_PP_sat(Word64 Rss, Word64 Rtt)
7687 Instruction Type: S_3op
7688 Execution Slots: SLOT23
7689 ========================================================================== */
7690
7691#define Q6_P_vxaddsubw_PP_sat __builtin_HEXAGON_S4_vxaddsubw
7692
7693/* ==========================================================================
7694 Assembly Syntax: Rdd32=vxsubaddh(Rss32,Rtt32):sat
7695 C Intrinsic Prototype: Word64 Q6_P_vxsubaddh_PP_sat(Word64 Rss, Word64 Rtt)
7696 Instruction Type: S_3op
7697 Execution Slots: SLOT23
7698 ========================================================================== */
7699
7700#define Q6_P_vxsubaddh_PP_sat __builtin_HEXAGON_S4_vxsubaddh
7701
7702/* ==========================================================================
7703 Assembly Syntax: Rdd32=vxsubaddh(Rss32,Rtt32):rnd:>>1:sat
7704 C Intrinsic Prototype: Word64 Q6_P_vxsubaddh_PP_rnd_rs1_sat(Word64 Rss, Word64 Rtt)
7705 Instruction Type: S_3op
7706 Execution Slots: SLOT23
7707 ========================================================================== */
7708
7709#define Q6_P_vxsubaddh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxsubaddhr
7710
7711/* ==========================================================================
7712 Assembly Syntax: Rdd32=vxsubaddw(Rss32,Rtt32):sat
7713 C Intrinsic Prototype: Word64 Q6_P_vxsubaddw_PP_sat(Word64 Rss, Word64 Rtt)
7714 Instruction Type: S_3op
7715 Execution Slots: SLOT23
7716 ========================================================================== */
7717
7718#define Q6_P_vxsubaddw_PP_sat __builtin_HEXAGON_S4_vxsubaddw
7719
7720/* ==========================================================================
7721 Assembly Syntax: Rd32=vasrhub(Rss32,#u4):rnd:sat
7722 C Intrinsic Prototype: Word32 Q6_R_vasrhub_PI_rnd_sat(Word64 Rss, Word32 Iu4)
7723 Instruction Type: S_2op
7724 Execution Slots: SLOT0123
7725 ========================================================================== */
7726
7727#define Q6_R_vasrhub_PI_rnd_sat __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax
7728
7729/* ==========================================================================
7730 Assembly Syntax: Rd32=vasrhub(Rss32,#u4):sat
7731 C Intrinsic Prototype: Word32 Q6_R_vasrhub_PI_sat(Word64 Rss, Word32 Iu4)
7732 Instruction Type: S_2op
7733 Execution Slots: SLOT23
7734 ========================================================================== */
7735
7736#define Q6_R_vasrhub_PI_sat __builtin_HEXAGON_S5_asrhub_sat
7737
7738/* ==========================================================================
7739 Assembly Syntax: Rd32=popcount(Rss32)
7740 C Intrinsic Prototype: Word32 Q6_R_popcount_P(Word64 Rss)
7741 Instruction Type: S_2op
7742 Execution Slots: SLOT23
7743 ========================================================================== */
7744
7745#define Q6_R_popcount_P __builtin_HEXAGON_S5_popcountp
7746
7747/* ==========================================================================
7748 Assembly Syntax: Rdd32=vasrh(Rss32,#u4):rnd
7749 C Intrinsic Prototype: Word64 Q6_P_vasrh_PI_rnd(Word64 Rss, Word32 Iu4)
7750 Instruction Type: S_2op
7751 Execution Slots: SLOT0123
7752 ========================================================================== */
7753
7754#define Q6_P_vasrh_PI_rnd __builtin_HEXAGON_S5_vasrhrnd_goodsyntax
7755
7756/* ==========================================================================
7757 Assembly Syntax: dccleana(Rs32)
7758 C Intrinsic Prototype: void Q6_dccleana_A(Address Rs)
7759 Instruction Type: ST
7760 Execution Slots: SLOT0
7761 ========================================================================== */
7762
7763#define Q6_dccleana_A __builtin_HEXAGON_Y2_dccleana
7764
7765/* ==========================================================================
7766 Assembly Syntax: dccleaninva(Rs32)
7767 C Intrinsic Prototype: void Q6_dccleaninva_A(Address Rs)
7768 Instruction Type: ST
7769 Execution Slots: SLOT0
7770 ========================================================================== */
7771
7772#define Q6_dccleaninva_A __builtin_HEXAGON_Y2_dccleaninva
7773
7774/* ==========================================================================
7775 Assembly Syntax: dcfetch(Rs32)
7776 C Intrinsic Prototype: void Q6_dcfetch_A(Address Rs)
7777 Instruction Type: MAPPING
7778 Execution Slots: SLOT0123
7779 ========================================================================== */
7780
7781#define Q6_dcfetch_A __builtin_HEXAGON_Y2_dcfetch
7782
7783/* ==========================================================================
7784 Assembly Syntax: dcinva(Rs32)
7785 C Intrinsic Prototype: void Q6_dcinva_A(Address Rs)
7786 Instruction Type: ST
7787 Execution Slots: SLOT0
7788 ========================================================================== */
7789
7790#define Q6_dcinva_A __builtin_HEXAGON_Y2_dcinva
7791
7792/* ==========================================================================
7793 Assembly Syntax: dczeroa(Rs32)
7794 C Intrinsic Prototype: void Q6_dczeroa_A(Address Rs)
7795 Instruction Type: ST
7796 Execution Slots: SLOT0
7797 ========================================================================== */
7798
7799#define Q6_dczeroa_A __builtin_HEXAGON_Y2_dczeroa
7800
7801/* ==========================================================================
7802 Assembly Syntax: l2fetch(Rs32,Rt32)
7803 C Intrinsic Prototype: void Q6_l2fetch_AR(Address Rs, Word32 Rt)
7804 Instruction Type: ST
7805 Execution Slots: SLOT0
7806 ========================================================================== */
7807
7808#define Q6_l2fetch_AR __builtin_HEXAGON_Y4_l2fetch
7809
7810/* ==========================================================================
7811 Assembly Syntax: l2fetch(Rs32,Rtt32)
7812 C Intrinsic Prototype: void Q6_l2fetch_AP(Address Rs, Word64 Rtt)
7813 Instruction Type: ST
7814 Execution Slots: SLOT0
7815 ========================================================================== */
7816
7817#define Q6_l2fetch_AP __builtin_HEXAGON_Y5_l2fetch
7818
7819#if __HEXAGON_ARCH__ >= 60
7820/* ==========================================================================
7821 Assembly Syntax: Rdd32=rol(Rss32,#u6)
7822 C Intrinsic Prototype: Word64 Q6_P_rol_PI(Word64 Rss, Word32 Iu6)
7823 Instruction Type: S_2op
7824 Execution Slots: SLOT23
7825 ========================================================================== */
7826
7827#define Q6_P_rol_PI __builtin_HEXAGON_S6_rol_i_p
7828#endif /* __HEXAGON_ARCH___ >= 60 */
7829
7830#if __HEXAGON_ARCH__ >= 60
7831/* ==========================================================================
7832 Assembly Syntax: Rxx32+=rol(Rss32,#u6)
7833 C Intrinsic Prototype: Word64 Q6_P_rolacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
7834 Instruction Type: S_2op
7835 Execution Slots: SLOT23
7836 ========================================================================== */
7837
7838#define Q6_P_rolacc_PI __builtin_HEXAGON_S6_rol_i_p_acc
7839#endif /* __HEXAGON_ARCH___ >= 60 */
7840
7841#if __HEXAGON_ARCH__ >= 60
7842/* ==========================================================================
7843 Assembly Syntax: Rxx32&=rol(Rss32,#u6)
7844 C Intrinsic Prototype: Word64 Q6_P_roland_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
7845 Instruction Type: S_2op
7846 Execution Slots: SLOT23
7847 ========================================================================== */
7848
7849#define Q6_P_roland_PI __builtin_HEXAGON_S6_rol_i_p_and
7850#endif /* __HEXAGON_ARCH___ >= 60 */
7851
7852#if __HEXAGON_ARCH__ >= 60
7853/* ==========================================================================
7854 Assembly Syntax: Rxx32-=rol(Rss32,#u6)
7855 C Intrinsic Prototype: Word64 Q6_P_rolnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
7856 Instruction Type: S_2op
7857 Execution Slots: SLOT23
7858 ========================================================================== */
7859
7860#define Q6_P_rolnac_PI __builtin_HEXAGON_S6_rol_i_p_nac
7861#endif /* __HEXAGON_ARCH___ >= 60 */
7862
7863#if __HEXAGON_ARCH__ >= 60
7864/* ==========================================================================
7865 Assembly Syntax: Rxx32|=rol(Rss32,#u6)
7866 C Intrinsic Prototype: Word64 Q6_P_rolor_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
7867 Instruction Type: S_2op
7868 Execution Slots: SLOT23
7869 ========================================================================== */
7870
7871#define Q6_P_rolor_PI __builtin_HEXAGON_S6_rol_i_p_or
7872#endif /* __HEXAGON_ARCH___ >= 60 */
7873
7874#if __HEXAGON_ARCH__ >= 60
7875/* ==========================================================================
7876 Assembly Syntax: Rxx32^=rol(Rss32,#u6)
7877 C Intrinsic Prototype: Word64 Q6_P_rolxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
7878 Instruction Type: S_2op
7879 Execution Slots: SLOT23
7880 ========================================================================== */
7881
7882#define Q6_P_rolxacc_PI __builtin_HEXAGON_S6_rol_i_p_xacc
7883#endif /* __HEXAGON_ARCH___ >= 60 */
7884
7885#if __HEXAGON_ARCH__ >= 60
7886/* ==========================================================================
7887 Assembly Syntax: Rd32=rol(Rs32,#u5)
7888 C Intrinsic Prototype: Word32 Q6_R_rol_RI(Word32 Rs, Word32 Iu5)
7889 Instruction Type: S_2op
7890 Execution Slots: SLOT23
7891 ========================================================================== */
7892
7893#define Q6_R_rol_RI __builtin_HEXAGON_S6_rol_i_r
7894#endif /* __HEXAGON_ARCH___ >= 60 */
7895
7896#if __HEXAGON_ARCH__ >= 60
7897/* ==========================================================================
7898 Assembly Syntax: Rx32+=rol(Rs32,#u5)
7899 C Intrinsic Prototype: Word32 Q6_R_rolacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
7900 Instruction Type: S_2op
7901 Execution Slots: SLOT23
7902 ========================================================================== */
7903
7904#define Q6_R_rolacc_RI __builtin_HEXAGON_S6_rol_i_r_acc
7905#endif /* __HEXAGON_ARCH___ >= 60 */
7906
7907#if __HEXAGON_ARCH__ >= 60
7908/* ==========================================================================
7909 Assembly Syntax: Rx32&=rol(Rs32,#u5)
7910 C Intrinsic Prototype: Word32 Q6_R_roland_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
7911 Instruction Type: S_2op
7912 Execution Slots: SLOT23
7913 ========================================================================== */
7914
7915#define Q6_R_roland_RI __builtin_HEXAGON_S6_rol_i_r_and
7916#endif /* __HEXAGON_ARCH___ >= 60 */
7917
7918#if __HEXAGON_ARCH__ >= 60
7919/* ==========================================================================
7920 Assembly Syntax: Rx32-=rol(Rs32,#u5)
7921 C Intrinsic Prototype: Word32 Q6_R_rolnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
7922 Instruction Type: S_2op
7923 Execution Slots: SLOT23
7924 ========================================================================== */
7925
7926#define Q6_R_rolnac_RI __builtin_HEXAGON_S6_rol_i_r_nac
7927#endif /* __HEXAGON_ARCH___ >= 60 */
7928
7929#if __HEXAGON_ARCH__ >= 60
7930/* ==========================================================================
7931 Assembly Syntax: Rx32|=rol(Rs32,#u5)
7932 C Intrinsic Prototype: Word32 Q6_R_rolor_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
7933 Instruction Type: S_2op
7934 Execution Slots: SLOT23
7935 ========================================================================== */
7936
7937#define Q6_R_rolor_RI __builtin_HEXAGON_S6_rol_i_r_or
7938#endif /* __HEXAGON_ARCH___ >= 60 */
7939
7940#if __HEXAGON_ARCH__ >= 60
7941/* ==========================================================================
7942 Assembly Syntax: Rx32^=rol(Rs32,#u5)
7943 C Intrinsic Prototype: Word32 Q6_R_rolxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
7944 Instruction Type: S_2op
7945 Execution Slots: SLOT23
7946 ========================================================================== */
7947
7948#define Q6_R_rolxacc_RI __builtin_HEXAGON_S6_rol_i_r_xacc
7949#endif /* __HEXAGON_ARCH___ >= 60 */
7950
7951#if __HEXAGON_ARCH__ >= 62
7952/* ==========================================================================
7953 Assembly Syntax: Rdd32=vabsdiffb(Rtt32,Rss32)
7954 C Intrinsic Prototype: Word64 Q6_P_vabsdiffb_PP(Word64 Rtt, Word64 Rss)
7955 Instruction Type: M
7956 Execution Slots: SLOT23
7957 ========================================================================== */
7958
7959#define Q6_P_vabsdiffb_PP __builtin_HEXAGON_M6_vabsdiffb
7960#endif /* __HEXAGON_ARCH___ >= 62 */
7961
7962#if __HEXAGON_ARCH__ >= 62
7963/* ==========================================================================
7964 Assembly Syntax: Rdd32=vabsdiffub(Rtt32,Rss32)
7965 C Intrinsic Prototype: Word64 Q6_P_vabsdiffub_PP(Word64 Rtt, Word64 Rss)
7966 Instruction Type: M
7967 Execution Slots: SLOT23
7968 ========================================================================== */
7969
7970#define Q6_P_vabsdiffub_PP __builtin_HEXAGON_M6_vabsdiffub
7971#endif /* __HEXAGON_ARCH___ >= 62 */
7972
7973#if __HEXAGON_ARCH__ >= 62
7974/* ==========================================================================
7975 Assembly Syntax: Rdd32=vsplatb(Rs32)
7976 C Intrinsic Prototype: Word64 Q6_P_vsplatb_R(Word32 Rs)
7977 Instruction Type: S_2op
7978 Execution Slots: SLOT23
7979 ========================================================================== */
7980
7981#define Q6_P_vsplatb_R __builtin_HEXAGON_S6_vsplatrbp
7982#endif /* __HEXAGON_ARCH___ >= 62 */
7983
7984#if __HEXAGON_ARCH__ >= 62
7985/* ==========================================================================
7986 Assembly Syntax: Rdd32=vtrunehb(Rss32,Rtt32)
7987 C Intrinsic Prototype: Word64 Q6_P_vtrunehb_PP(Word64 Rss, Word64 Rtt)
7988 Instruction Type: S_3op
7989 Execution Slots: SLOT23
7990 ========================================================================== */
7991
7992#define Q6_P_vtrunehb_PP __builtin_HEXAGON_S6_vtrunehb_ppp
7993#endif /* __HEXAGON_ARCH___ >= 62 */
7994
7995#if __HEXAGON_ARCH__ >= 62
7996/* ==========================================================================
7997 Assembly Syntax: Rdd32=vtrunohb(Rss32,Rtt32)
7998 C Intrinsic Prototype: Word64 Q6_P_vtrunohb_PP(Word64 Rss, Word64 Rtt)
7999 Instruction Type: S_3op
8000 Execution Slots: SLOT23
8001 ========================================================================== */
8002
8003#define Q6_P_vtrunohb_PP __builtin_HEXAGON_S6_vtrunohb_ppp
8004#endif /* __HEXAGON_ARCH___ >= 62 */
8005
8006#if __HEXAGON_ARCH__ >= 65
8007/* ==========================================================================
8008 Assembly Syntax: Pd4=!any8(vcmpb.eq(Rss32,Rtt32))
8009 C Intrinsic Prototype: Byte Q6_p_not_any8_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
8010 Instruction Type: ALU64
8011 Execution Slots: SLOT23
8012 ========================================================================== */
8013
8014#define Q6_p_not_any8_vcmpb_eq_PP __builtin_HEXAGON_A6_vcmpbeq_notany
8015#endif /* __HEXAGON_ARCH___ >= 65 */
8016
8017#if __HEXAGON_ARCH__ >= 66
8018/* ==========================================================================
8019 Assembly Syntax: Rdd32=dfadd(Rss32,Rtt32)
8020 C Intrinsic Prototype: Float64 Q6_P_dfadd_PP(Float64 Rss, Float64 Rtt)
8021 Instruction Type: M
8022 Execution Slots: SLOT23
8023 ========================================================================== */
8024
8025#define Q6_P_dfadd_PP __builtin_HEXAGON_F2_dfadd
8026#endif /* __HEXAGON_ARCH___ >= 66 */
8027
8028#if __HEXAGON_ARCH__ >= 66
8029/* ==========================================================================
8030 Assembly Syntax: Rdd32=dfsub(Rss32,Rtt32)
8031 C Intrinsic Prototype: Float64 Q6_P_dfsub_PP(Float64 Rss, Float64 Rtt)
8032 Instruction Type: M
8033 Execution Slots: SLOT23
8034 ========================================================================== */
8035
8036#define Q6_P_dfsub_PP __builtin_HEXAGON_F2_dfsub
8037#endif /* __HEXAGON_ARCH___ >= 66 */
8038
8039#if __HEXAGON_ARCH__ >= 66
8040/* ==========================================================================
8041 Assembly Syntax: Rx32-=mpyi(Rs32,Rt32)
8042 C Intrinsic Prototype: Word32 Q6_R_mpyinac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
8043 Instruction Type: M
8044 Execution Slots: SLOT23
8045 ========================================================================== */
8046
8047#define Q6_R_mpyinac_RR __builtin_HEXAGON_M2_mnaci
8048#endif /* __HEXAGON_ARCH___ >= 66 */
8049
8050#if __HEXAGON_ARCH__ >= 66
8051/* ==========================================================================
8052 Assembly Syntax: Rd32=mask(#u5,#U5)
8053 C Intrinsic Prototype: Word32 Q6_R_mask_II(Word32 Iu5, Word32 IU5)
8054 Instruction Type: S_2op
8055 Execution Slots: SLOT23
8056 ========================================================================== */
8057
8058#define Q6_R_mask_II __builtin_HEXAGON_S2_mask
8059#endif /* __HEXAGON_ARCH___ >= 66 */
8060
8061#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8062/* ==========================================================================
8063 Assembly Syntax: Rd32=clip(Rs32,#u5)
8064 C Intrinsic Prototype: Word32 Q6_R_clip_RI(Word32 Rs, Word32 Iu5)
8065 Instruction Type: S_2op
8066 Execution Slots: SLOT23
8067 ========================================================================== */
8068
8069#define Q6_R_clip_RI __builtin_HEXAGON_A7_clip
8070#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8071
8072#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8073/* ==========================================================================
8074 Assembly Syntax: Rdd32=cround(Rss32,#u6)
8075 C Intrinsic Prototype: Word64 Q6_P_cround_PI(Word64 Rss, Word32 Iu6)
8076 Instruction Type: S_2op
8077 Execution Slots: SLOT23
8078 ========================================================================== */
8079
8080#define Q6_P_cround_PI __builtin_HEXAGON_A7_croundd_ri
8081#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8082
8083#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8084/* ==========================================================================
8085 Assembly Syntax: Rdd32=cround(Rss32,Rt32)
8086 C Intrinsic Prototype: Word64 Q6_P_cround_PR(Word64 Rss, Word32 Rt)
8087 Instruction Type: S_3op
8088 Execution Slots: SLOT23
8089 ========================================================================== */
8090
8091#define Q6_P_cround_PR __builtin_HEXAGON_A7_croundd_rr
8092#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8093
8094#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8095/* ==========================================================================
8096 Assembly Syntax: Rdd32=vclip(Rss32,#u5)
8097 C Intrinsic Prototype: Word64 Q6_P_vclip_PI(Word64 Rss, Word32 Iu5)
8098 Instruction Type: S_2op
8099 Execution Slots: SLOT23
8100 ========================================================================== */
8101
8102#define Q6_P_vclip_PI __builtin_HEXAGON_A7_vclip
8103#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8104
8105#if __HEXAGON_ARCH__ >= 67
8106/* ==========================================================================
8107 Assembly Syntax: Rdd32=dfmax(Rss32,Rtt32)
8108 C Intrinsic Prototype: Float64 Q6_P_dfmax_PP(Float64 Rss, Float64 Rtt)
8109 Instruction Type: M
8110 Execution Slots: SLOT23
8111 ========================================================================== */
8112
8113#define Q6_P_dfmax_PP __builtin_HEXAGON_F2_dfmax
8114#endif /* __HEXAGON_ARCH___ >= 67 */
8115
8116#if __HEXAGON_ARCH__ >= 67
8117/* ==========================================================================
8118 Assembly Syntax: Rdd32=dfmin(Rss32,Rtt32)
8119 C Intrinsic Prototype: Float64 Q6_P_dfmin_PP(Float64 Rss, Float64 Rtt)
8120 Instruction Type: M
8121 Execution Slots: SLOT23
8122 ========================================================================== */
8123
8124#define Q6_P_dfmin_PP __builtin_HEXAGON_F2_dfmin
8125#endif /* __HEXAGON_ARCH___ >= 67 */
8126
8127#if __HEXAGON_ARCH__ >= 67
8128/* ==========================================================================
8129 Assembly Syntax: Rdd32=dfmpyfix(Rss32,Rtt32)
8130 C Intrinsic Prototype: Float64 Q6_P_dfmpyfix_PP(Float64 Rss, Float64 Rtt)
8131 Instruction Type: M
8132 Execution Slots: SLOT23
8133 ========================================================================== */
8134
8135#define Q6_P_dfmpyfix_PP __builtin_HEXAGON_F2_dfmpyfix
8136#endif /* __HEXAGON_ARCH___ >= 67 */
8137
8138#if __HEXAGON_ARCH__ >= 67
8139/* ==========================================================================
8140 Assembly Syntax: Rxx32+=dfmpyhh(Rss32,Rtt32)
8141 C Intrinsic Prototype: Float64 Q6_P_dfmpyhhacc_PP(Float64 Rxx, Float64 Rss, Float64 Rtt)
8142 Instruction Type: M
8143 Execution Slots: SLOT23
8144 ========================================================================== */
8145
8146#define Q6_P_dfmpyhhacc_PP __builtin_HEXAGON_F2_dfmpyhh
8147#endif /* __HEXAGON_ARCH___ >= 67 */
8148
8149#if __HEXAGON_ARCH__ >= 67
8150/* ==========================================================================
8151 Assembly Syntax: Rxx32+=dfmpylh(Rss32,Rtt32)
8152 C Intrinsic Prototype: Float64 Q6_P_dfmpylhacc_PP(Float64 Rxx, Float64 Rss, Float64 Rtt)
8153 Instruction Type: M
8154 Execution Slots: SLOT23
8155 ========================================================================== */
8156
8157#define Q6_P_dfmpylhacc_PP __builtin_HEXAGON_F2_dfmpylh
8158#endif /* __HEXAGON_ARCH___ >= 67 */
8159
8160#if __HEXAGON_ARCH__ >= 67
8161/* ==========================================================================
8162 Assembly Syntax: Rdd32=dfmpyll(Rss32,Rtt32)
8163 C Intrinsic Prototype: Float64 Q6_P_dfmpyll_PP(Float64 Rss, Float64 Rtt)
8164 Instruction Type: M
8165 Execution Slots: SLOT23
8166 ========================================================================== */
8167
8168#define Q6_P_dfmpyll_PP __builtin_HEXAGON_F2_dfmpyll
8169#endif /* __HEXAGON_ARCH___ >= 67 */
8170
8171#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8172/* ==========================================================================
8173 Assembly Syntax: Rdd32=cmpyiw(Rss32,Rtt32)
8174 C Intrinsic Prototype: Word64 Q6_P_cmpyiw_PP(Word64 Rss, Word64 Rtt)
8175 Instruction Type: M
8176 Execution Slots: SLOT3
8177 ========================================================================== */
8178
8179#define Q6_P_cmpyiw_PP __builtin_HEXAGON_M7_dcmpyiw
8180#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8181
8182#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8183/* ==========================================================================
8184 Assembly Syntax: Rxx32+=cmpyiw(Rss32,Rtt32)
8185 C Intrinsic Prototype: Word64 Q6_P_cmpyiwacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
8186 Instruction Type: M
8187 Execution Slots: SLOT3
8188 ========================================================================== */
8189
8190#define Q6_P_cmpyiwacc_PP __builtin_HEXAGON_M7_dcmpyiw_acc
8191#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8192
8193#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8194/* ==========================================================================
8195 Assembly Syntax: Rdd32=cmpyiw(Rss32,Rtt32*)
8196 C Intrinsic Prototype: Word64 Q6_P_cmpyiw_PP_conj(Word64 Rss, Word64 Rtt)
8197 Instruction Type: M
8198 Execution Slots: SLOT3
8199 ========================================================================== */
8200
8201#define Q6_P_cmpyiw_PP_conj __builtin_HEXAGON_M7_dcmpyiwc
8202#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8203
8204#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8205/* ==========================================================================
8206 Assembly Syntax: Rxx32+=cmpyiw(Rss32,Rtt32*)
8207 C Intrinsic Prototype: Word64 Q6_P_cmpyiwacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
8208 Instruction Type: M
8209 Execution Slots: SLOT3
8210 ========================================================================== */
8211
8212#define Q6_P_cmpyiwacc_PP_conj __builtin_HEXAGON_M7_dcmpyiwc_acc
8213#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8214
8215#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8216/* ==========================================================================
8217 Assembly Syntax: Rdd32=cmpyrw(Rss32,Rtt32)
8218 C Intrinsic Prototype: Word64 Q6_P_cmpyrw_PP(Word64 Rss, Word64 Rtt)
8219 Instruction Type: M
8220 Execution Slots: SLOT3
8221 ========================================================================== */
8222
8223#define Q6_P_cmpyrw_PP __builtin_HEXAGON_M7_dcmpyrw
8224#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8225
8226#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8227/* ==========================================================================
8228 Assembly Syntax: Rxx32+=cmpyrw(Rss32,Rtt32)
8229 C Intrinsic Prototype: Word64 Q6_P_cmpyrwacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
8230 Instruction Type: M
8231 Execution Slots: SLOT3
8232 ========================================================================== */
8233
8234#define Q6_P_cmpyrwacc_PP __builtin_HEXAGON_M7_dcmpyrw_acc
8235#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8236
8237#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8238/* ==========================================================================
8239 Assembly Syntax: Rdd32=cmpyrw(Rss32,Rtt32*)
8240 C Intrinsic Prototype: Word64 Q6_P_cmpyrw_PP_conj(Word64 Rss, Word64 Rtt)
8241 Instruction Type: M
8242 Execution Slots: SLOT3
8243 ========================================================================== */
8244
8245#define Q6_P_cmpyrw_PP_conj __builtin_HEXAGON_M7_dcmpyrwc
8246#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8247
8248#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8249/* ==========================================================================
8250 Assembly Syntax: Rxx32+=cmpyrw(Rss32,Rtt32*)
8251 C Intrinsic Prototype: Word64 Q6_P_cmpyrwacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
8252 Instruction Type: M
8253 Execution Slots: SLOT3
8254 ========================================================================== */
8255
8256#define Q6_P_cmpyrwacc_PP_conj __builtin_HEXAGON_M7_dcmpyrwc_acc
8257#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8258
8259#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8260/* ==========================================================================
8261 Assembly Syntax: Rdd32=vdmpyw(Rss32,Rtt32)
8262 C Intrinsic Prototype: Word64 Q6_P_vdmpyw_PP(Word64 Rss, Word64 Rtt)
8263 Instruction Type: M
8264 Execution Slots: SLOT3
8265 ========================================================================== */
8266
8267#define Q6_P_vdmpyw_PP __builtin_HEXAGON_M7_vdmpy
8268#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8269
8270#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8271/* ==========================================================================
8272 Assembly Syntax: Rxx32+=vdmpyw(Rss32,Rtt32)
8273 C Intrinsic Prototype: Word64 Q6_P_vdmpywacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
8274 Instruction Type: M
8275 Execution Slots: SLOT3
8276 ========================================================================== */
8277
8278#define Q6_P_vdmpywacc_PP __builtin_HEXAGON_M7_vdmpy_acc
8279#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8280
8281#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8282/* ==========================================================================
8283 Assembly Syntax: Rd32=cmpyiw(Rss32,Rtt32):<<1:sat
8284 C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_s1_sat(Word64 Rss, Word64 Rtt)
8285 Instruction Type: M
8286 Execution Slots: SLOT3
8287 ========================================================================== */
8288
8289#define Q6_R_cmpyiw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyiw
8290#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8291
8292#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8293/* ==========================================================================
8294 Assembly Syntax: Rd32=cmpyiw(Rss32,Rtt32):<<1:rnd:sat
8295 C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
8296 Instruction Type: M
8297 Execution Slots: SLOT3
8298 ========================================================================== */
8299
8300#define Q6_R_cmpyiw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiw_rnd
8301#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8302
8303#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8304/* ==========================================================================
8305 Assembly Syntax: Rd32=cmpyiw(Rss32,Rtt32*):<<1:sat
8306 C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_conj_s1_sat(Word64 Rss, Word64 Rtt)
8307 Instruction Type: M
8308 Execution Slots: SLOT3
8309 ========================================================================== */
8310
8311#define Q6_R_cmpyiw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyiwc
8312#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8313
8314#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8315/* ==========================================================================
8316 Assembly Syntax: Rd32=cmpyiw(Rss32,Rtt32*):<<1:rnd:sat
8317 C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_conj_s1_rnd_sat(Word64 Rss, Word64 Rtt)
8318 Instruction Type: M
8319 Execution Slots: SLOT3
8320 ========================================================================== */
8321
8322#define Q6_R_cmpyiw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiwc_rnd
8323#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8324
8325#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8326/* ==========================================================================
8327 Assembly Syntax: Rd32=cmpyrw(Rss32,Rtt32):<<1:sat
8328 C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_s1_sat(Word64 Rss, Word64 Rtt)
8329 Instruction Type: M
8330 Execution Slots: SLOT3
8331 ========================================================================== */
8332
8333#define Q6_R_cmpyrw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyrw
8334#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8335
8336#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8337/* ==========================================================================
8338 Assembly Syntax: Rd32=cmpyrw(Rss32,Rtt32):<<1:rnd:sat
8339 C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
8340 Instruction Type: M
8341 Execution Slots: SLOT3
8342 ========================================================================== */
8343
8344#define Q6_R_cmpyrw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrw_rnd
8345#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8346
8347#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8348/* ==========================================================================
8349 Assembly Syntax: Rd32=cmpyrw(Rss32,Rtt32*):<<1:sat
8350 C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_conj_s1_sat(Word64 Rss, Word64 Rtt)
8351 Instruction Type: M
8352 Execution Slots: SLOT3
8353 ========================================================================== */
8354
8355#define Q6_R_cmpyrw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyrwc
8356#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8357
8358#if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
8359/* ==========================================================================
8360 Assembly Syntax: Rd32=cmpyrw(Rss32,Rtt32*):<<1:rnd:sat
8361 C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_conj_s1_rnd_sat(Word64 Rss, Word64 Rtt)
8362 Instruction Type: M
8363 Execution Slots: SLOT3
8364 ========================================================================== */
8365
8366#define Q6_R_cmpyrw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrwc_rnd
8367#endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
8368
8369#if __HEXAGON_ARCH__ >= 68
8370/* ==========================================================================
8371 Assembly Syntax: dmlink(Rs32,Rt32)
8372 C Intrinsic Prototype: void Q6_dmlink_AA(Address Rs, Address Rt)
8373 Instruction Type: ST
8374 Execution Slots: SLOT0
8375 ========================================================================== */
8376
8377#define Q6_dmlink_AA __builtin_HEXAGON_Y6_dmlink
8378#endif /* __HEXAGON_ARCH___ >= 68 */
8379
8380#if __HEXAGON_ARCH__ >= 68
8381/* ==========================================================================
8382 Assembly Syntax: Rd32=dmpause
8383 C Intrinsic Prototype: Word32 Q6_R_dmpause()
8384 Instruction Type: ST
8385 Execution Slots: SLOT0
8386 ========================================================================== */
8387
8388#define Q6_R_dmpause __builtin_HEXAGON_Y6_dmpause
8389#endif /* __HEXAGON_ARCH___ >= 68 */
8390
8391#if __HEXAGON_ARCH__ >= 68
8392/* ==========================================================================
8393 Assembly Syntax: Rd32=dmpoll
8394 C Intrinsic Prototype: Word32 Q6_R_dmpoll()
8395 Instruction Type: ST
8396 Execution Slots: SLOT0
8397 ========================================================================== */
8398
8399#define Q6_R_dmpoll __builtin_HEXAGON_Y6_dmpoll
8400#endif /* __HEXAGON_ARCH___ >= 68 */
8401
8402#if __HEXAGON_ARCH__ >= 68
8403/* ==========================================================================
8404 Assembly Syntax: dmresume(Rs32)
8405 C Intrinsic Prototype: void Q6_dmresume_A(Address Rs)
8406 Instruction Type: ST
8407 Execution Slots: SLOT0
8408 ========================================================================== */
8409
8410#define Q6_dmresume_A __builtin_HEXAGON_Y6_dmresume
8411#endif /* __HEXAGON_ARCH___ >= 68 */
8412
8413#if __HEXAGON_ARCH__ >= 68
8414/* ==========================================================================
8415 Assembly Syntax: dmstart(Rs32)
8416 C Intrinsic Prototype: void Q6_dmstart_A(Address Rs)
8417 Instruction Type: ST
8418 Execution Slots: SLOT0
8419 ========================================================================== */
8420
8421#define Q6_dmstart_A __builtin_HEXAGON_Y6_dmstart
8422#endif /* __HEXAGON_ARCH___ >= 68 */
8423
8424#if __HEXAGON_ARCH__ >= 68
8425/* ==========================================================================
8426 Assembly Syntax: Rd32=dmwait
8427 C Intrinsic Prototype: Word32 Q6_R_dmwait()
8428 Instruction Type: ST
8429 Execution Slots: SLOT0
8430 ========================================================================== */
8431
8432#define Q6_R_dmwait __builtin_HEXAGON_Y6_dmwait
8433#endif /* __HEXAGON_ARCH___ >= 68 */
8434
8436#ifdef __HVX__
8437#include <hvx_hexagon_protos.h>
8438#endif /* __HVX__ */
8439#endif