[docs] Fix build-docs.sh
[llvm-project.git] / clang / lib / Headers / hexagon_protos.h
blob2642f3c8428d836d45a38977675dfa8cac106e1d
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 //===----------------------------------------------------------------------===//
13 #ifndef __HEXAGON_PROTOS_H_
14 #define __HEXAGON_PROTOS_H_ 1
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 ========================================================================== */
23 #define Q6_R_abs_R __builtin_HEXAGON_A2_abs
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 ========================================================================== */
32 #define Q6_P_abs_P __builtin_HEXAGON_A2_absp
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 ========================================================================== */
41 #define Q6_R_abs_R_sat __builtin_HEXAGON_A2_abssat
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 ========================================================================== */
50 #define Q6_R_add_RR __builtin_HEXAGON_A2_add
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 ========================================================================== */
59 #define Q6_R_add_RhRh_s16 __builtin_HEXAGON_A2_addh_h16_hh
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 ========================================================================== */
68 #define Q6_R_add_RhRl_s16 __builtin_HEXAGON_A2_addh_h16_hl
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 ========================================================================== */
77 #define Q6_R_add_RlRh_s16 __builtin_HEXAGON_A2_addh_h16_lh
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 ========================================================================== */
86 #define Q6_R_add_RlRl_s16 __builtin_HEXAGON_A2_addh_h16_ll
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 ========================================================================== */
95 #define Q6_R_add_RhRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hh
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 ========================================================================== */
104 #define Q6_R_add_RhRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hl
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 ========================================================================== */
113 #define Q6_R_add_RlRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_lh
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 ========================================================================== */
122 #define Q6_R_add_RlRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_ll
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 ========================================================================== */
131 #define Q6_R_add_RlRh __builtin_HEXAGON_A2_addh_l16_hl
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 ========================================================================== */
140 #define Q6_R_add_RlRl __builtin_HEXAGON_A2_addh_l16_ll
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 ========================================================================== */
149 #define Q6_R_add_RlRh_sat __builtin_HEXAGON_A2_addh_l16_sat_hl
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 ========================================================================== */
158 #define Q6_R_add_RlRl_sat __builtin_HEXAGON_A2_addh_l16_sat_ll
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 ========================================================================== */
167 #define Q6_R_add_RI __builtin_HEXAGON_A2_addi
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 ========================================================================== */
176 #define Q6_P_add_PP __builtin_HEXAGON_A2_addp
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 ========================================================================== */
185 #define Q6_P_add_PP_sat __builtin_HEXAGON_A2_addpsat
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 ========================================================================== */
194 #define Q6_R_add_RR_sat __builtin_HEXAGON_A2_addsat
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 ========================================================================== */
203 #define Q6_P_add_RP __builtin_HEXAGON_A2_addsp
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 ========================================================================== */
212 #define Q6_R_and_RR __builtin_HEXAGON_A2_and
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 ========================================================================== */
221 #define Q6_R_and_RI __builtin_HEXAGON_A2_andir
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 ========================================================================== */
230 #define Q6_P_and_PP __builtin_HEXAGON_A2_andp
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 ========================================================================== */
239 #define Q6_R_aslh_R __builtin_HEXAGON_A2_aslh
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 ========================================================================== */
248 #define Q6_R_asrh_R __builtin_HEXAGON_A2_asrh
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 ========================================================================== */
257 #define Q6_R_combine_RhRh __builtin_HEXAGON_A2_combine_hh
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 ========================================================================== */
266 #define Q6_R_combine_RhRl __builtin_HEXAGON_A2_combine_hl
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 ========================================================================== */
275 #define Q6_R_combine_RlRh __builtin_HEXAGON_A2_combine_lh
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 ========================================================================== */
284 #define Q6_R_combine_RlRl __builtin_HEXAGON_A2_combine_ll
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 ========================================================================== */
293 #define Q6_P_combine_II __builtin_HEXAGON_A2_combineii
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 ========================================================================== */
302 #define Q6_P_combine_RR __builtin_HEXAGON_A2_combinew
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 ========================================================================== */
311 #define Q6_R_max_RR __builtin_HEXAGON_A2_max
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 ========================================================================== */
320 #define Q6_P_max_PP __builtin_HEXAGON_A2_maxp
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 ========================================================================== */
329 #define Q6_R_maxu_RR __builtin_HEXAGON_A2_maxu
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 ========================================================================== */
338 #define Q6_P_maxu_PP __builtin_HEXAGON_A2_maxup
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 ========================================================================== */
347 #define Q6_R_min_RR __builtin_HEXAGON_A2_min
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 ========================================================================== */
356 #define Q6_P_min_PP __builtin_HEXAGON_A2_minp
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 ========================================================================== */
365 #define Q6_R_minu_RR __builtin_HEXAGON_A2_minu
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 ========================================================================== */
374 #define Q6_P_minu_PP __builtin_HEXAGON_A2_minup
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 ========================================================================== */
383 #define Q6_R_neg_R __builtin_HEXAGON_A2_neg
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 ========================================================================== */
392 #define Q6_P_neg_P __builtin_HEXAGON_A2_negp
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 ========================================================================== */
401 #define Q6_R_neg_R_sat __builtin_HEXAGON_A2_negsat
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 ========================================================================== */
410 #define Q6_R_not_R __builtin_HEXAGON_A2_not
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 ========================================================================== */
419 #define Q6_P_not_P __builtin_HEXAGON_A2_notp
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 ========================================================================== */
428 #define Q6_R_or_RR __builtin_HEXAGON_A2_or
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 ========================================================================== */
437 #define Q6_R_or_RI __builtin_HEXAGON_A2_orir
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 ========================================================================== */
446 #define Q6_P_or_PP __builtin_HEXAGON_A2_orp
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 ========================================================================== */
455 #define Q6_R_round_P_sat __builtin_HEXAGON_A2_roundsat
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 ========================================================================== */
464 #define Q6_R_sat_P __builtin_HEXAGON_A2_sat
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 ========================================================================== */
473 #define Q6_R_satb_R __builtin_HEXAGON_A2_satb
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 ========================================================================== */
482 #define Q6_R_sath_R __builtin_HEXAGON_A2_sath
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 ========================================================================== */
491 #define Q6_R_satub_R __builtin_HEXAGON_A2_satub
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 ========================================================================== */
500 #define Q6_R_satuh_R __builtin_HEXAGON_A2_satuh
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 ========================================================================== */
509 #define Q6_R_sub_RR __builtin_HEXAGON_A2_sub
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 ========================================================================== */
518 #define Q6_R_sub_RhRh_s16 __builtin_HEXAGON_A2_subh_h16_hh
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 ========================================================================== */
527 #define Q6_R_sub_RhRl_s16 __builtin_HEXAGON_A2_subh_h16_hl
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 ========================================================================== */
536 #define Q6_R_sub_RlRh_s16 __builtin_HEXAGON_A2_subh_h16_lh
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 ========================================================================== */
545 #define Q6_R_sub_RlRl_s16 __builtin_HEXAGON_A2_subh_h16_ll
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 ========================================================================== */
554 #define Q6_R_sub_RhRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hh
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 ========================================================================== */
563 #define Q6_R_sub_RhRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hl
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 ========================================================================== */
572 #define Q6_R_sub_RlRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_lh
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 ========================================================================== */
581 #define Q6_R_sub_RlRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_ll
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 ========================================================================== */
590 #define Q6_R_sub_RlRh __builtin_HEXAGON_A2_subh_l16_hl
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 ========================================================================== */
599 #define Q6_R_sub_RlRl __builtin_HEXAGON_A2_subh_l16_ll
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 ========================================================================== */
608 #define Q6_R_sub_RlRh_sat __builtin_HEXAGON_A2_subh_l16_sat_hl
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 ========================================================================== */
617 #define Q6_R_sub_RlRl_sat __builtin_HEXAGON_A2_subh_l16_sat_ll
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 ========================================================================== */
626 #define Q6_P_sub_PP __builtin_HEXAGON_A2_subp
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 ========================================================================== */
635 #define Q6_R_sub_IR __builtin_HEXAGON_A2_subri
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 ========================================================================== */
644 #define Q6_R_sub_RR_sat __builtin_HEXAGON_A2_subsat
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 ========================================================================== */
653 #define Q6_R_vaddh_RR __builtin_HEXAGON_A2_svaddh
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 ========================================================================== */
662 #define Q6_R_vaddh_RR_sat __builtin_HEXAGON_A2_svaddhs
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 ========================================================================== */
671 #define Q6_R_vadduh_RR_sat __builtin_HEXAGON_A2_svadduhs
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 ========================================================================== */
680 #define Q6_R_vavgh_RR __builtin_HEXAGON_A2_svavgh
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 ========================================================================== */
689 #define Q6_R_vavgh_RR_rnd __builtin_HEXAGON_A2_svavghs
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 ========================================================================== */
698 #define Q6_R_vnavgh_RR __builtin_HEXAGON_A2_svnavgh
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 ========================================================================== */
707 #define Q6_R_vsubh_RR __builtin_HEXAGON_A2_svsubh
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 ========================================================================== */
716 #define Q6_R_vsubh_RR_sat __builtin_HEXAGON_A2_svsubhs
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 ========================================================================== */
725 #define Q6_R_vsubuh_RR_sat __builtin_HEXAGON_A2_svsubuhs
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 ========================================================================== */
734 #define Q6_R_swiz_R __builtin_HEXAGON_A2_swiz
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 ========================================================================== */
743 #define Q6_R_sxtb_R __builtin_HEXAGON_A2_sxtb
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 ========================================================================== */
752 #define Q6_R_sxth_R __builtin_HEXAGON_A2_sxth
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 ========================================================================== */
761 #define Q6_P_sxtw_R __builtin_HEXAGON_A2_sxtw
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 ========================================================================== */
770 #define Q6_R_equals_R __builtin_HEXAGON_A2_tfr
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 ========================================================================== */
779 #define Q6_Rh_equals_I __builtin_HEXAGON_A2_tfrih
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 ========================================================================== */
788 #define Q6_Rl_equals_I __builtin_HEXAGON_A2_tfril
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 ========================================================================== */
797 #define Q6_P_equals_P __builtin_HEXAGON_A2_tfrp
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 ========================================================================== */
806 #define Q6_P_equals_I __builtin_HEXAGON_A2_tfrpi
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 ========================================================================== */
815 #define Q6_R_equals_I __builtin_HEXAGON_A2_tfrsi
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 ========================================================================== */
824 #define Q6_P_vabsh_P __builtin_HEXAGON_A2_vabsh
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 ========================================================================== */
833 #define Q6_P_vabsh_P_sat __builtin_HEXAGON_A2_vabshsat
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 ========================================================================== */
842 #define Q6_P_vabsw_P __builtin_HEXAGON_A2_vabsw
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 ========================================================================== */
851 #define Q6_P_vabsw_P_sat __builtin_HEXAGON_A2_vabswsat
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 ========================================================================== */
860 #define Q6_P_vaddb_PP __builtin_HEXAGON_A2_vaddb_map
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 ========================================================================== */
869 #define Q6_P_vaddh_PP __builtin_HEXAGON_A2_vaddh
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 ========================================================================== */
878 #define Q6_P_vaddh_PP_sat __builtin_HEXAGON_A2_vaddhs
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 ========================================================================== */
887 #define Q6_P_vaddub_PP __builtin_HEXAGON_A2_vaddub
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 ========================================================================== */
896 #define Q6_P_vaddub_PP_sat __builtin_HEXAGON_A2_vaddubs
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 ========================================================================== */
905 #define Q6_P_vadduh_PP_sat __builtin_HEXAGON_A2_vadduhs
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 ========================================================================== */
914 #define Q6_P_vaddw_PP __builtin_HEXAGON_A2_vaddw
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 ========================================================================== */
923 #define Q6_P_vaddw_PP_sat __builtin_HEXAGON_A2_vaddws
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 ========================================================================== */
932 #define Q6_P_vavgh_PP __builtin_HEXAGON_A2_vavgh
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 ========================================================================== */
941 #define Q6_P_vavgh_PP_crnd __builtin_HEXAGON_A2_vavghcr
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 ========================================================================== */
950 #define Q6_P_vavgh_PP_rnd __builtin_HEXAGON_A2_vavghr
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 ========================================================================== */
959 #define Q6_P_vavgub_PP __builtin_HEXAGON_A2_vavgub
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 ========================================================================== */
968 #define Q6_P_vavgub_PP_rnd __builtin_HEXAGON_A2_vavgubr
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 ========================================================================== */
977 #define Q6_P_vavguh_PP __builtin_HEXAGON_A2_vavguh
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 ========================================================================== */
986 #define Q6_P_vavguh_PP_rnd __builtin_HEXAGON_A2_vavguhr
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 ========================================================================== */
995 #define Q6_P_vavguw_PP __builtin_HEXAGON_A2_vavguw
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 ========================================================================== */
1004 #define Q6_P_vavguw_PP_rnd __builtin_HEXAGON_A2_vavguwr
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 ========================================================================== */
1013 #define Q6_P_vavgw_PP __builtin_HEXAGON_A2_vavgw
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 ========================================================================== */
1022 #define Q6_P_vavgw_PP_crnd __builtin_HEXAGON_A2_vavgwcr
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 ========================================================================== */
1031 #define Q6_P_vavgw_PP_rnd __builtin_HEXAGON_A2_vavgwr
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 ========================================================================== */
1040 #define Q6_p_vcmpb_eq_PP __builtin_HEXAGON_A2_vcmpbeq
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 ========================================================================== */
1049 #define Q6_p_vcmpb_gtu_PP __builtin_HEXAGON_A2_vcmpbgtu
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 ========================================================================== */
1058 #define Q6_p_vcmph_eq_PP __builtin_HEXAGON_A2_vcmpheq
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 ========================================================================== */
1067 #define Q6_p_vcmph_gt_PP __builtin_HEXAGON_A2_vcmphgt
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 ========================================================================== */
1076 #define Q6_p_vcmph_gtu_PP __builtin_HEXAGON_A2_vcmphgtu
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 ========================================================================== */
1085 #define Q6_p_vcmpw_eq_PP __builtin_HEXAGON_A2_vcmpweq
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 ========================================================================== */
1094 #define Q6_p_vcmpw_gt_PP __builtin_HEXAGON_A2_vcmpwgt
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 ========================================================================== */
1103 #define Q6_p_vcmpw_gtu_PP __builtin_HEXAGON_A2_vcmpwgtu
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 ========================================================================== */
1112 #define Q6_P_vconj_P_sat __builtin_HEXAGON_A2_vconj
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 ========================================================================== */
1121 #define Q6_P_vmaxb_PP __builtin_HEXAGON_A2_vmaxb
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 ========================================================================== */
1130 #define Q6_P_vmaxh_PP __builtin_HEXAGON_A2_vmaxh
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 ========================================================================== */
1139 #define Q6_P_vmaxub_PP __builtin_HEXAGON_A2_vmaxub
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 ========================================================================== */
1148 #define Q6_P_vmaxuh_PP __builtin_HEXAGON_A2_vmaxuh
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 ========================================================================== */
1157 #define Q6_P_vmaxuw_PP __builtin_HEXAGON_A2_vmaxuw
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 ========================================================================== */
1166 #define Q6_P_vmaxw_PP __builtin_HEXAGON_A2_vmaxw
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 ========================================================================== */
1175 #define Q6_P_vminb_PP __builtin_HEXAGON_A2_vminb
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 ========================================================================== */
1184 #define Q6_P_vminh_PP __builtin_HEXAGON_A2_vminh
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 ========================================================================== */
1193 #define Q6_P_vminub_PP __builtin_HEXAGON_A2_vminub
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 ========================================================================== */
1202 #define Q6_P_vminuh_PP __builtin_HEXAGON_A2_vminuh
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 ========================================================================== */
1211 #define Q6_P_vminuw_PP __builtin_HEXAGON_A2_vminuw
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 ========================================================================== */
1220 #define Q6_P_vminw_PP __builtin_HEXAGON_A2_vminw
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 ========================================================================== */
1229 #define Q6_P_vnavgh_PP __builtin_HEXAGON_A2_vnavgh
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 ========================================================================== */
1238 #define Q6_P_vnavgh_PP_crnd_sat __builtin_HEXAGON_A2_vnavghcr
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 ========================================================================== */
1247 #define Q6_P_vnavgh_PP_rnd_sat __builtin_HEXAGON_A2_vnavghr
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 ========================================================================== */
1256 #define Q6_P_vnavgw_PP __builtin_HEXAGON_A2_vnavgw
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 ========================================================================== */
1265 #define Q6_P_vnavgw_PP_crnd_sat __builtin_HEXAGON_A2_vnavgwcr
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 ========================================================================== */
1274 #define Q6_P_vnavgw_PP_rnd_sat __builtin_HEXAGON_A2_vnavgwr
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 ========================================================================== */
1283 #define Q6_P_vraddub_PP __builtin_HEXAGON_A2_vraddub
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 ========================================================================== */
1292 #define Q6_P_vraddubacc_PP __builtin_HEXAGON_A2_vraddub_acc
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 ========================================================================== */
1301 #define Q6_P_vrsadub_PP __builtin_HEXAGON_A2_vrsadub
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 ========================================================================== */
1310 #define Q6_P_vrsadubacc_PP __builtin_HEXAGON_A2_vrsadub_acc
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 ========================================================================== */
1319 #define Q6_P_vsubb_PP __builtin_HEXAGON_A2_vsubb_map
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 ========================================================================== */
1328 #define Q6_P_vsubh_PP __builtin_HEXAGON_A2_vsubh
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 ========================================================================== */
1337 #define Q6_P_vsubh_PP_sat __builtin_HEXAGON_A2_vsubhs
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 ========================================================================== */
1346 #define Q6_P_vsubub_PP __builtin_HEXAGON_A2_vsubub
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 ========================================================================== */
1355 #define Q6_P_vsubub_PP_sat __builtin_HEXAGON_A2_vsububs
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 ========================================================================== */
1364 #define Q6_P_vsubuh_PP_sat __builtin_HEXAGON_A2_vsubuhs
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 ========================================================================== */
1373 #define Q6_P_vsubw_PP __builtin_HEXAGON_A2_vsubw
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 ========================================================================== */
1382 #define Q6_P_vsubw_PP_sat __builtin_HEXAGON_A2_vsubws
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 ========================================================================== */
1391 #define Q6_R_xor_RR __builtin_HEXAGON_A2_xor
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 ========================================================================== */
1400 #define Q6_P_xor_PP __builtin_HEXAGON_A2_xorp
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 ========================================================================== */
1409 #define Q6_R_zxtb_R __builtin_HEXAGON_A2_zxtb
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 ========================================================================== */
1418 #define Q6_R_zxth_R __builtin_HEXAGON_A2_zxth
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 ========================================================================== */
1427 #define Q6_R_and_RnR __builtin_HEXAGON_A4_andn
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 ========================================================================== */
1436 #define Q6_P_and_PnP __builtin_HEXAGON_A4_andnp
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 ========================================================================== */
1445 #define Q6_P_bitsplit_RR __builtin_HEXAGON_A4_bitsplit
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 ========================================================================== */
1454 #define Q6_P_bitsplit_RI __builtin_HEXAGON_A4_bitspliti
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 ========================================================================== */
1463 #define Q6_p_boundscheck_RP __builtin_HEXAGON_A4_boundscheck
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 ========================================================================== */
1472 #define Q6_p_cmpb_eq_RR __builtin_HEXAGON_A4_cmpbeq
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 ========================================================================== */
1481 #define Q6_p_cmpb_eq_RI __builtin_HEXAGON_A4_cmpbeqi
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 ========================================================================== */
1490 #define Q6_p_cmpb_gt_RR __builtin_HEXAGON_A4_cmpbgt
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 ========================================================================== */
1499 #define Q6_p_cmpb_gt_RI __builtin_HEXAGON_A4_cmpbgti
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 ========================================================================== */
1508 #define Q6_p_cmpb_gtu_RR __builtin_HEXAGON_A4_cmpbgtu
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 ========================================================================== */
1517 #define Q6_p_cmpb_gtu_RI __builtin_HEXAGON_A4_cmpbgtui
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 ========================================================================== */
1526 #define Q6_p_cmph_eq_RR __builtin_HEXAGON_A4_cmpheq
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 ========================================================================== */
1535 #define Q6_p_cmph_eq_RI __builtin_HEXAGON_A4_cmpheqi
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 ========================================================================== */
1544 #define Q6_p_cmph_gt_RR __builtin_HEXAGON_A4_cmphgt
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 ========================================================================== */
1553 #define Q6_p_cmph_gt_RI __builtin_HEXAGON_A4_cmphgti
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 ========================================================================== */
1562 #define Q6_p_cmph_gtu_RR __builtin_HEXAGON_A4_cmphgtu
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 ========================================================================== */
1571 #define Q6_p_cmph_gtu_RI __builtin_HEXAGON_A4_cmphgtui
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 ========================================================================== */
1580 #define Q6_P_combine_IR __builtin_HEXAGON_A4_combineir
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 ========================================================================== */
1589 #define Q6_P_combine_RI __builtin_HEXAGON_A4_combineri
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 ========================================================================== */
1598 #define Q6_R_cround_RI __builtin_HEXAGON_A4_cround_ri
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 ========================================================================== */
1607 #define Q6_R_cround_RR __builtin_HEXAGON_A4_cround_rr
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 ========================================================================== */
1616 #define Q6_R_modwrap_RR __builtin_HEXAGON_A4_modwrapu
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 ========================================================================== */
1625 #define Q6_R_or_RnR __builtin_HEXAGON_A4_orn
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 ========================================================================== */
1634 #define Q6_P_or_PnP __builtin_HEXAGON_A4_ornp
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 ========================================================================== */
1643 #define Q6_R_cmp_eq_RR __builtin_HEXAGON_A4_rcmpeq
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 ========================================================================== */
1652 #define Q6_R_cmp_eq_RI __builtin_HEXAGON_A4_rcmpeqi
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 ========================================================================== */
1661 #define Q6_R_not_cmp_eq_RR __builtin_HEXAGON_A4_rcmpneq
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 ========================================================================== */
1670 #define Q6_R_not_cmp_eq_RI __builtin_HEXAGON_A4_rcmpneqi
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 ========================================================================== */
1679 #define Q6_R_round_RI __builtin_HEXAGON_A4_round_ri
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 ========================================================================== */
1688 #define Q6_R_round_RI_sat __builtin_HEXAGON_A4_round_ri_sat
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 ========================================================================== */
1697 #define Q6_R_round_RR __builtin_HEXAGON_A4_round_rr
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 ========================================================================== */
1706 #define Q6_R_round_RR_sat __builtin_HEXAGON_A4_round_rr_sat
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 ========================================================================== */
1715 #define Q6_p_tlbmatch_PR __builtin_HEXAGON_A4_tlbmatch
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 ========================================================================== */
1724 #define Q6_p_any8_vcmpb_eq_PP __builtin_HEXAGON_A4_vcmpbeq_any
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 ========================================================================== */
1733 #define Q6_p_vcmpb_eq_PI __builtin_HEXAGON_A4_vcmpbeqi
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 ========================================================================== */
1742 #define Q6_p_vcmpb_gt_PP __builtin_HEXAGON_A4_vcmpbgt
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 ========================================================================== */
1751 #define Q6_p_vcmpb_gt_PI __builtin_HEXAGON_A4_vcmpbgti
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 ========================================================================== */
1760 #define Q6_p_vcmpb_gtu_PI __builtin_HEXAGON_A4_vcmpbgtui
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 ========================================================================== */
1769 #define Q6_p_vcmph_eq_PI __builtin_HEXAGON_A4_vcmpheqi
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 ========================================================================== */
1778 #define Q6_p_vcmph_gt_PI __builtin_HEXAGON_A4_vcmphgti
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 ========================================================================== */
1787 #define Q6_p_vcmph_gtu_PI __builtin_HEXAGON_A4_vcmphgtui
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 ========================================================================== */
1796 #define Q6_p_vcmpw_eq_PI __builtin_HEXAGON_A4_vcmpweqi
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 ========================================================================== */
1805 #define Q6_p_vcmpw_gt_PI __builtin_HEXAGON_A4_vcmpwgti
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 ========================================================================== */
1814 #define Q6_p_vcmpw_gtu_PI __builtin_HEXAGON_A4_vcmpwgtui
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 ========================================================================== */
1823 #define Q6_P_vrmaxh_PR __builtin_HEXAGON_A4_vrmaxh
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 ========================================================================== */
1832 #define Q6_P_vrmaxuh_PR __builtin_HEXAGON_A4_vrmaxuh
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 ========================================================================== */
1841 #define Q6_P_vrmaxuw_PR __builtin_HEXAGON_A4_vrmaxuw
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 ========================================================================== */
1850 #define Q6_P_vrmaxw_PR __builtin_HEXAGON_A4_vrmaxw
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 ========================================================================== */
1859 #define Q6_P_vrminh_PR __builtin_HEXAGON_A4_vrminh
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 ========================================================================== */
1868 #define Q6_P_vrminuh_PR __builtin_HEXAGON_A4_vrminuh
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 ========================================================================== */
1877 #define Q6_P_vrminuw_PR __builtin_HEXAGON_A4_vrminuw
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 ========================================================================== */
1886 #define Q6_P_vrminw_PR __builtin_HEXAGON_A4_vrminw
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 ========================================================================== */
1895 #define Q6_R_vaddhub_PP_sat __builtin_HEXAGON_A5_vaddhubs
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 ========================================================================== */
1904 #define Q6_p_all8_p __builtin_HEXAGON_C2_all8
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 ========================================================================== */
1913 #define Q6_p_and_pp __builtin_HEXAGON_C2_and
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 ========================================================================== */
1922 #define Q6_p_and_pnp __builtin_HEXAGON_C2_andn
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 ========================================================================== */
1931 #define Q6_p_any8_p __builtin_HEXAGON_C2_any8
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 ========================================================================== */
1940 #define Q6_p_bitsclr_RR __builtin_HEXAGON_C2_bitsclr
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 ========================================================================== */
1949 #define Q6_p_bitsclr_RI __builtin_HEXAGON_C2_bitsclri
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 ========================================================================== */
1958 #define Q6_p_bitsset_RR __builtin_HEXAGON_C2_bitsset
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 ========================================================================== */
1967 #define Q6_p_cmp_eq_RR __builtin_HEXAGON_C2_cmpeq
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 ========================================================================== */
1976 #define Q6_p_cmp_eq_RI __builtin_HEXAGON_C2_cmpeqi
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 ========================================================================== */
1985 #define Q6_p_cmp_eq_PP __builtin_HEXAGON_C2_cmpeqp
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 ========================================================================== */
1994 #define Q6_p_cmp_ge_RI __builtin_HEXAGON_C2_cmpgei
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 ========================================================================== */
2003 #define Q6_p_cmp_geu_RI __builtin_HEXAGON_C2_cmpgeui
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 ========================================================================== */
2012 #define Q6_p_cmp_gt_RR __builtin_HEXAGON_C2_cmpgt
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 ========================================================================== */
2021 #define Q6_p_cmp_gt_RI __builtin_HEXAGON_C2_cmpgti
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 ========================================================================== */
2030 #define Q6_p_cmp_gt_PP __builtin_HEXAGON_C2_cmpgtp
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 ========================================================================== */
2039 #define Q6_p_cmp_gtu_RR __builtin_HEXAGON_C2_cmpgtu
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 ========================================================================== */
2048 #define Q6_p_cmp_gtu_RI __builtin_HEXAGON_C2_cmpgtui
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 ========================================================================== */
2057 #define Q6_p_cmp_gtu_PP __builtin_HEXAGON_C2_cmpgtup
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 ========================================================================== */
2066 #define Q6_p_cmp_lt_RR __builtin_HEXAGON_C2_cmplt
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 ========================================================================== */
2075 #define Q6_p_cmp_ltu_RR __builtin_HEXAGON_C2_cmpltu
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 ========================================================================== */
2084 #define Q6_P_mask_p __builtin_HEXAGON_C2_mask
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 ========================================================================== */
2093 #define Q6_R_mux_pRR __builtin_HEXAGON_C2_mux
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 ========================================================================== */
2102 #define Q6_R_mux_pII __builtin_HEXAGON_C2_muxii
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 ========================================================================== */
2111 #define Q6_R_mux_pRI __builtin_HEXAGON_C2_muxir
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 ========================================================================== */
2120 #define Q6_R_mux_pIR __builtin_HEXAGON_C2_muxri
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 ========================================================================== */
2129 #define Q6_p_not_p __builtin_HEXAGON_C2_not
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 ========================================================================== */
2138 #define Q6_p_or_pp __builtin_HEXAGON_C2_or
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 ========================================================================== */
2147 #define Q6_p_or_pnp __builtin_HEXAGON_C2_orn
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 ========================================================================== */
2156 #define Q6_p_equals_p __builtin_HEXAGON_C2_pxfer_map
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 ========================================================================== */
2165 #define Q6_R_equals_p __builtin_HEXAGON_C2_tfrpr
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 ========================================================================== */
2174 #define Q6_p_equals_R __builtin_HEXAGON_C2_tfrrp
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 ========================================================================== */
2183 #define Q6_R_vitpack_pp __builtin_HEXAGON_C2_vitpack
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 ========================================================================== */
2192 #define Q6_P_vmux_pPP __builtin_HEXAGON_C2_vmux
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 ========================================================================== */
2201 #define Q6_p_xor_pp __builtin_HEXAGON_C2_xor
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 ========================================================================== */
2210 #define Q6_p_and_and_ppp __builtin_HEXAGON_C4_and_and
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 ========================================================================== */
2219 #define Q6_p_and_and_ppnp __builtin_HEXAGON_C4_and_andn
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 ========================================================================== */
2228 #define Q6_p_and_or_ppp __builtin_HEXAGON_C4_and_or
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 ========================================================================== */
2237 #define Q6_p_and_or_ppnp __builtin_HEXAGON_C4_and_orn
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 ========================================================================== */
2246 #define Q6_p_not_cmp_gt_RR __builtin_HEXAGON_C4_cmplte
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 ========================================================================== */
2255 #define Q6_p_not_cmp_gt_RI __builtin_HEXAGON_C4_cmpltei
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 ========================================================================== */
2264 #define Q6_p_not_cmp_gtu_RR __builtin_HEXAGON_C4_cmplteu
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 ========================================================================== */
2273 #define Q6_p_not_cmp_gtu_RI __builtin_HEXAGON_C4_cmplteui
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 ========================================================================== */
2282 #define Q6_p_not_cmp_eq_RR __builtin_HEXAGON_C4_cmpneq
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 ========================================================================== */
2291 #define Q6_p_not_cmp_eq_RI __builtin_HEXAGON_C4_cmpneqi
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 ========================================================================== */
2300 #define Q6_p_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9
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 ========================================================================== */
2309 #define Q6_p_not_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9_not
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 ========================================================================== */
2318 #define Q6_p_not_bitsclr_RR __builtin_HEXAGON_C4_nbitsclr
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 ========================================================================== */
2327 #define Q6_p_not_bitsclr_RI __builtin_HEXAGON_C4_nbitsclri
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 ========================================================================== */
2336 #define Q6_p_not_bitsset_RR __builtin_HEXAGON_C4_nbitsset
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 ========================================================================== */
2345 #define Q6_p_or_and_ppp __builtin_HEXAGON_C4_or_and
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 ========================================================================== */
2354 #define Q6_p_or_and_ppnp __builtin_HEXAGON_C4_or_andn
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 ========================================================================== */
2363 #define Q6_p_or_or_ppp __builtin_HEXAGON_C4_or_or
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 ========================================================================== */
2372 #define Q6_p_or_or_ppnp __builtin_HEXAGON_C4_or_orn
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 ========================================================================== */
2381 #define Q6_P_convert_d2df_P __builtin_HEXAGON_F2_conv_d2df
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 ========================================================================== */
2390 #define Q6_R_convert_d2sf_P __builtin_HEXAGON_F2_conv_d2sf
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 ========================================================================== */
2399 #define Q6_P_convert_df2d_P __builtin_HEXAGON_F2_conv_df2d
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 ========================================================================== */
2408 #define Q6_P_convert_df2d_P_chop __builtin_HEXAGON_F2_conv_df2d_chop
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 ========================================================================== */
2417 #define Q6_R_convert_df2sf_P __builtin_HEXAGON_F2_conv_df2sf
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 ========================================================================== */
2426 #define Q6_P_convert_df2ud_P __builtin_HEXAGON_F2_conv_df2ud
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 ========================================================================== */
2435 #define Q6_P_convert_df2ud_P_chop __builtin_HEXAGON_F2_conv_df2ud_chop
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 ========================================================================== */
2444 #define Q6_R_convert_df2uw_P __builtin_HEXAGON_F2_conv_df2uw
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 ========================================================================== */
2453 #define Q6_R_convert_df2uw_P_chop __builtin_HEXAGON_F2_conv_df2uw_chop
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 ========================================================================== */
2462 #define Q6_R_convert_df2w_P __builtin_HEXAGON_F2_conv_df2w
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 ========================================================================== */
2471 #define Q6_R_convert_df2w_P_chop __builtin_HEXAGON_F2_conv_df2w_chop
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 ========================================================================== */
2480 #define Q6_P_convert_sf2d_R __builtin_HEXAGON_F2_conv_sf2d
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 ========================================================================== */
2489 #define Q6_P_convert_sf2d_R_chop __builtin_HEXAGON_F2_conv_sf2d_chop
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 ========================================================================== */
2498 #define Q6_P_convert_sf2df_R __builtin_HEXAGON_F2_conv_sf2df
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 ========================================================================== */
2507 #define Q6_P_convert_sf2ud_R __builtin_HEXAGON_F2_conv_sf2ud
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 ========================================================================== */
2516 #define Q6_P_convert_sf2ud_R_chop __builtin_HEXAGON_F2_conv_sf2ud_chop
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 ========================================================================== */
2525 #define Q6_R_convert_sf2uw_R __builtin_HEXAGON_F2_conv_sf2uw
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 ========================================================================== */
2534 #define Q6_R_convert_sf2uw_R_chop __builtin_HEXAGON_F2_conv_sf2uw_chop
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 ========================================================================== */
2543 #define Q6_R_convert_sf2w_R __builtin_HEXAGON_F2_conv_sf2w
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 ========================================================================== */
2552 #define Q6_R_convert_sf2w_R_chop __builtin_HEXAGON_F2_conv_sf2w_chop
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 ========================================================================== */
2561 #define Q6_P_convert_ud2df_P __builtin_HEXAGON_F2_conv_ud2df
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 ========================================================================== */
2570 #define Q6_R_convert_ud2sf_P __builtin_HEXAGON_F2_conv_ud2sf
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 ========================================================================== */
2579 #define Q6_P_convert_uw2df_R __builtin_HEXAGON_F2_conv_uw2df
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 ========================================================================== */
2588 #define Q6_R_convert_uw2sf_R __builtin_HEXAGON_F2_conv_uw2sf
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 ========================================================================== */
2597 #define Q6_P_convert_w2df_R __builtin_HEXAGON_F2_conv_w2df
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 ========================================================================== */
2606 #define Q6_R_convert_w2sf_R __builtin_HEXAGON_F2_conv_w2sf
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 ========================================================================== */
2615 #define Q6_p_dfclass_PI __builtin_HEXAGON_F2_dfclass
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 ========================================================================== */
2624 #define Q6_p_dfcmp_eq_PP __builtin_HEXAGON_F2_dfcmpeq
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 ========================================================================== */
2633 #define Q6_p_dfcmp_ge_PP __builtin_HEXAGON_F2_dfcmpge
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 ========================================================================== */
2642 #define Q6_p_dfcmp_gt_PP __builtin_HEXAGON_F2_dfcmpgt
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 ========================================================================== */
2651 #define Q6_p_dfcmp_uo_PP __builtin_HEXAGON_F2_dfcmpuo
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 ========================================================================== */
2660 #define Q6_P_dfmake_I_neg __builtin_HEXAGON_F2_dfimm_n
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 ========================================================================== */
2669 #define Q6_P_dfmake_I_pos __builtin_HEXAGON_F2_dfimm_p
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 ========================================================================== */
2678 #define Q6_R_sfadd_RR __builtin_HEXAGON_F2_sfadd
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 ========================================================================== */
2687 #define Q6_p_sfclass_RI __builtin_HEXAGON_F2_sfclass
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 ========================================================================== */
2696 #define Q6_p_sfcmp_eq_RR __builtin_HEXAGON_F2_sfcmpeq
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 ========================================================================== */
2705 #define Q6_p_sfcmp_ge_RR __builtin_HEXAGON_F2_sfcmpge
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 ========================================================================== */
2714 #define Q6_p_sfcmp_gt_RR __builtin_HEXAGON_F2_sfcmpgt
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 ========================================================================== */
2723 #define Q6_p_sfcmp_uo_RR __builtin_HEXAGON_F2_sfcmpuo
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 ========================================================================== */
2732 #define Q6_R_sffixupd_RR __builtin_HEXAGON_F2_sffixupd
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 ========================================================================== */
2741 #define Q6_R_sffixupn_RR __builtin_HEXAGON_F2_sffixupn
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 ========================================================================== */
2750 #define Q6_R_sffixupr_R __builtin_HEXAGON_F2_sffixupr
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 ========================================================================== */
2759 #define Q6_R_sfmpyacc_RR __builtin_HEXAGON_F2_sffma
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 ========================================================================== */
2768 #define Q6_R_sfmpyacc_RR_lib __builtin_HEXAGON_F2_sffma_lib
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 ========================================================================== */
2777 #define Q6_R_sfmpyacc_RRp_scale __builtin_HEXAGON_F2_sffma_sc
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 ========================================================================== */
2786 #define Q6_R_sfmpynac_RR __builtin_HEXAGON_F2_sffms
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 ========================================================================== */
2795 #define Q6_R_sfmpynac_RR_lib __builtin_HEXAGON_F2_sffms_lib
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 ========================================================================== */
2804 #define Q6_R_sfmake_I_neg __builtin_HEXAGON_F2_sfimm_n
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 ========================================================================== */
2813 #define Q6_R_sfmake_I_pos __builtin_HEXAGON_F2_sfimm_p
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 ========================================================================== */
2822 #define Q6_R_sfmax_RR __builtin_HEXAGON_F2_sfmax
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 ========================================================================== */
2831 #define Q6_R_sfmin_RR __builtin_HEXAGON_F2_sfmin
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 ========================================================================== */
2840 #define Q6_R_sfmpy_RR __builtin_HEXAGON_F2_sfmpy
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 ========================================================================== */
2849 #define Q6_R_sfsub_RR __builtin_HEXAGON_F2_sfsub
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 ========================================================================== */
2858 #define Q6_R_memb_IM_circ __builtin_HEXAGON_L2_loadrb_pci
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 ========================================================================== */
2867 #define Q6_R_memb_M_circ __builtin_HEXAGON_L2_loadrb_pcr
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 ========================================================================== */
2876 #define Q6_P_memd_IM_circ __builtin_HEXAGON_L2_loadrd_pci
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 ========================================================================== */
2885 #define Q6_P_memd_M_circ __builtin_HEXAGON_L2_loadrd_pcr
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 ========================================================================== */
2894 #define Q6_R_memh_IM_circ __builtin_HEXAGON_L2_loadrh_pci
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 ========================================================================== */
2903 #define Q6_R_memh_M_circ __builtin_HEXAGON_L2_loadrh_pcr
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 ========================================================================== */
2912 #define Q6_R_memw_IM_circ __builtin_HEXAGON_L2_loadri_pci
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 ========================================================================== */
2921 #define Q6_R_memw_M_circ __builtin_HEXAGON_L2_loadri_pcr
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 ========================================================================== */
2930 #define Q6_R_memub_IM_circ __builtin_HEXAGON_L2_loadrub_pci
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 ========================================================================== */
2939 #define Q6_R_memub_M_circ __builtin_HEXAGON_L2_loadrub_pcr
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 ========================================================================== */
2948 #define Q6_R_memuh_IM_circ __builtin_HEXAGON_L2_loadruh_pci
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 ========================================================================== */
2957 #define Q6_R_memuh_M_circ __builtin_HEXAGON_L2_loadruh_pcr
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 ========================================================================== */
2966 #define Q6_R_addacc_RR __builtin_HEXAGON_M2_acci
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 ========================================================================== */
2975 #define Q6_R_addacc_RI __builtin_HEXAGON_M2_accii
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 ========================================================================== */
2984 #define Q6_P_cmpyiacc_RR __builtin_HEXAGON_M2_cmaci_s0
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 ========================================================================== */
2993 #define Q6_P_cmpyracc_RR __builtin_HEXAGON_M2_cmacr_s0
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 ========================================================================== */
3002 #define Q6_P_cmpyacc_RR_sat __builtin_HEXAGON_M2_cmacs_s0
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 ========================================================================== */
3011 #define Q6_P_cmpyacc_RR_s1_sat __builtin_HEXAGON_M2_cmacs_s1
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 ========================================================================== */
3020 #define Q6_P_cmpyacc_RR_conj_sat __builtin_HEXAGON_M2_cmacsc_s0
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 ========================================================================== */
3029 #define Q6_P_cmpyacc_RR_conj_s1_sat __builtin_HEXAGON_M2_cmacsc_s1
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 ========================================================================== */
3038 #define Q6_P_cmpyi_RR __builtin_HEXAGON_M2_cmpyi_s0
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 ========================================================================== */
3047 #define Q6_P_cmpyr_RR __builtin_HEXAGON_M2_cmpyr_s0
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 ========================================================================== */
3056 #define Q6_R_cmpy_RR_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s0
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 ========================================================================== */
3065 #define Q6_R_cmpy_RR_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s1
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 ========================================================================== */
3074 #define Q6_R_cmpy_RR_conj_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s0
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 ========================================================================== */
3083 #define Q6_R_cmpy_RR_conj_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s1
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 ========================================================================== */
3092 #define Q6_P_cmpy_RR_sat __builtin_HEXAGON_M2_cmpys_s0
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 ========================================================================== */
3101 #define Q6_P_cmpy_RR_s1_sat __builtin_HEXAGON_M2_cmpys_s1
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 ========================================================================== */
3110 #define Q6_P_cmpy_RR_conj_sat __builtin_HEXAGON_M2_cmpysc_s0
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 ========================================================================== */
3119 #define Q6_P_cmpy_RR_conj_s1_sat __builtin_HEXAGON_M2_cmpysc_s1
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 ========================================================================== */
3128 #define Q6_P_cmpynac_RR_sat __builtin_HEXAGON_M2_cnacs_s0
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 ========================================================================== */
3137 #define Q6_P_cmpynac_RR_s1_sat __builtin_HEXAGON_M2_cnacs_s1
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 ========================================================================== */
3146 #define Q6_P_cmpynac_RR_conj_sat __builtin_HEXAGON_M2_cnacsc_s0
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 ========================================================================== */
3155 #define Q6_P_cmpynac_RR_conj_s1_sat __builtin_HEXAGON_M2_cnacsc_s1
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 ========================================================================== */
3164 #define Q6_P_mpyacc_RR __builtin_HEXAGON_M2_dpmpyss_acc_s0
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 ========================================================================== */
3173 #define Q6_P_mpynac_RR __builtin_HEXAGON_M2_dpmpyss_nac_s0
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 ========================================================================== */
3182 #define Q6_R_mpy_RR_rnd __builtin_HEXAGON_M2_dpmpyss_rnd_s0
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 ========================================================================== */
3191 #define Q6_P_mpy_RR __builtin_HEXAGON_M2_dpmpyss_s0
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 ========================================================================== */
3200 #define Q6_P_mpyuacc_RR __builtin_HEXAGON_M2_dpmpyuu_acc_s0
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 ========================================================================== */
3209 #define Q6_P_mpyunac_RR __builtin_HEXAGON_M2_dpmpyuu_nac_s0
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 ========================================================================== */
3218 #define Q6_P_mpyu_RR __builtin_HEXAGON_M2_dpmpyuu_s0
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 ========================================================================== */
3227 #define Q6_R_mpy_RRh_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyh_rs1
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 ========================================================================== */
3236 #define Q6_R_mpy_RRh_s1_sat __builtin_HEXAGON_M2_hmmpyh_s1
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 ========================================================================== */
3245 #define Q6_R_mpy_RRl_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyl_rs1
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 ========================================================================== */
3254 #define Q6_R_mpy_RRl_s1_sat __builtin_HEXAGON_M2_hmmpyl_s1
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 ========================================================================== */
3263 #define Q6_R_mpyiacc_RR __builtin_HEXAGON_M2_maci
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 ========================================================================== */
3272 #define Q6_R_mpyinac_RI __builtin_HEXAGON_M2_macsin
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 ========================================================================== */
3281 #define Q6_R_mpyiacc_RI __builtin_HEXAGON_M2_macsip
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 ========================================================================== */
3290 #define Q6_P_vmpywohacc_PP_rnd_sat __builtin_HEXAGON_M2_mmachs_rs0
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 ========================================================================== */
3299 #define Q6_P_vmpywohacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmachs_rs1
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 ========================================================================== */
3308 #define Q6_P_vmpywohacc_PP_sat __builtin_HEXAGON_M2_mmachs_s0
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 ========================================================================== */
3317 #define Q6_P_vmpywohacc_PP_s1_sat __builtin_HEXAGON_M2_mmachs_s1
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 ========================================================================== */
3326 #define Q6_P_vmpywehacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacls_rs0
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 ========================================================================== */
3335 #define Q6_P_vmpywehacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacls_rs1
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 ========================================================================== */
3344 #define Q6_P_vmpywehacc_PP_sat __builtin_HEXAGON_M2_mmacls_s0
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 ========================================================================== */
3353 #define Q6_P_vmpywehacc_PP_s1_sat __builtin_HEXAGON_M2_mmacls_s1
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 ========================================================================== */
3362 #define Q6_P_vmpywouhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs0
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 ========================================================================== */
3371 #define Q6_P_vmpywouhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs1
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 ========================================================================== */
3380 #define Q6_P_vmpywouhacc_PP_sat __builtin_HEXAGON_M2_mmacuhs_s0
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 ========================================================================== */
3389 #define Q6_P_vmpywouhacc_PP_s1_sat __builtin_HEXAGON_M2_mmacuhs_s1
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 ========================================================================== */
3398 #define Q6_P_vmpyweuhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs0
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 ========================================================================== */
3407 #define Q6_P_vmpyweuhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs1
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 ========================================================================== */
3416 #define Q6_P_vmpyweuhacc_PP_sat __builtin_HEXAGON_M2_mmaculs_s0
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 ========================================================================== */
3425 #define Q6_P_vmpyweuhacc_PP_s1_sat __builtin_HEXAGON_M2_mmaculs_s1
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 ========================================================================== */
3434 #define Q6_P_vmpywoh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs0
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 ========================================================================== */
3443 #define Q6_P_vmpywoh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs1
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 ========================================================================== */
3452 #define Q6_P_vmpywoh_PP_sat __builtin_HEXAGON_M2_mmpyh_s0
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 ========================================================================== */
3461 #define Q6_P_vmpywoh_PP_s1_sat __builtin_HEXAGON_M2_mmpyh_s1
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 ========================================================================== */
3470 #define Q6_P_vmpyweh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs0
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 ========================================================================== */
3479 #define Q6_P_vmpyweh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs1
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 ========================================================================== */
3488 #define Q6_P_vmpyweh_PP_sat __builtin_HEXAGON_M2_mmpyl_s0
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 ========================================================================== */
3497 #define Q6_P_vmpyweh_PP_s1_sat __builtin_HEXAGON_M2_mmpyl_s1
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 ========================================================================== */
3506 #define Q6_P_vmpywouh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs0
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 ========================================================================== */
3515 #define Q6_P_vmpywouh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs1
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 ========================================================================== */
3524 #define Q6_P_vmpywouh_PP_sat __builtin_HEXAGON_M2_mmpyuh_s0
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 ========================================================================== */
3533 #define Q6_P_vmpywouh_PP_s1_sat __builtin_HEXAGON_M2_mmpyuh_s1
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 ========================================================================== */
3542 #define Q6_P_vmpyweuh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs0
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 ========================================================================== */
3551 #define Q6_P_vmpyweuh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs1
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 ========================================================================== */
3560 #define Q6_P_vmpyweuh_PP_sat __builtin_HEXAGON_M2_mmpyul_s0
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 ========================================================================== */
3569 #define Q6_P_vmpyweuh_PP_s1_sat __builtin_HEXAGON_M2_mmpyul_s1
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 ========================================================================== */
3578 #define Q6_R_mpyacc_RhRh __builtin_HEXAGON_M2_mpy_acc_hh_s0
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 ========================================================================== */
3587 #define Q6_R_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpy_acc_hh_s1
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 ========================================================================== */
3596 #define Q6_R_mpyacc_RhRl __builtin_HEXAGON_M2_mpy_acc_hl_s0
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 ========================================================================== */
3605 #define Q6_R_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpy_acc_hl_s1
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 ========================================================================== */
3614 #define Q6_R_mpyacc_RlRh __builtin_HEXAGON_M2_mpy_acc_lh_s0
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 ========================================================================== */
3623 #define Q6_R_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpy_acc_lh_s1
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 ========================================================================== */
3632 #define Q6_R_mpyacc_RlRl __builtin_HEXAGON_M2_mpy_acc_ll_s0
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 ========================================================================== */
3641 #define Q6_R_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpy_acc_ll_s1
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 ========================================================================== */
3650 #define Q6_R_mpyacc_RhRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0
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 ========================================================================== */
3659 #define Q6_R_mpyacc_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1
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 ========================================================================== */
3668 #define Q6_R_mpyacc_RhRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0
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 ========================================================================== */
3677 #define Q6_R_mpyacc_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1
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 ========================================================================== */
3686 #define Q6_R_mpyacc_RlRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0
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 ========================================================================== */
3695 #define Q6_R_mpyacc_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1
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 ========================================================================== */
3704 #define Q6_R_mpyacc_RlRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0
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 ========================================================================== */
3713 #define Q6_R_mpyacc_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1
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 ========================================================================== */
3722 #define Q6_R_mpy_RhRh __builtin_HEXAGON_M2_mpy_hh_s0
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 ========================================================================== */
3731 #define Q6_R_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpy_hh_s1
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 ========================================================================== */
3740 #define Q6_R_mpy_RhRl __builtin_HEXAGON_M2_mpy_hl_s0
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 ========================================================================== */
3749 #define Q6_R_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpy_hl_s1
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 ========================================================================== */
3758 #define Q6_R_mpy_RlRh __builtin_HEXAGON_M2_mpy_lh_s0
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 ========================================================================== */
3767 #define Q6_R_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpy_lh_s1
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 ========================================================================== */
3776 #define Q6_R_mpy_RlRl __builtin_HEXAGON_M2_mpy_ll_s0
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 ========================================================================== */
3785 #define Q6_R_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpy_ll_s1
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 ========================================================================== */
3794 #define Q6_R_mpynac_RhRh __builtin_HEXAGON_M2_mpy_nac_hh_s0
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 ========================================================================== */
3803 #define Q6_R_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpy_nac_hh_s1
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 ========================================================================== */
3812 #define Q6_R_mpynac_RhRl __builtin_HEXAGON_M2_mpy_nac_hl_s0
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 ========================================================================== */
3821 #define Q6_R_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpy_nac_hl_s1
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 ========================================================================== */
3830 #define Q6_R_mpynac_RlRh __builtin_HEXAGON_M2_mpy_nac_lh_s0
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 ========================================================================== */
3839 #define Q6_R_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpy_nac_lh_s1
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 ========================================================================== */
3848 #define Q6_R_mpynac_RlRl __builtin_HEXAGON_M2_mpy_nac_ll_s0
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 ========================================================================== */
3857 #define Q6_R_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpy_nac_ll_s1
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 ========================================================================== */
3866 #define Q6_R_mpynac_RhRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0
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 ========================================================================== */
3875 #define Q6_R_mpynac_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1
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 ========================================================================== */
3884 #define Q6_R_mpynac_RhRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0
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 ========================================================================== */
3893 #define Q6_R_mpynac_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1
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 ========================================================================== */
3902 #define Q6_R_mpynac_RlRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0
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 ========================================================================== */
3911 #define Q6_R_mpynac_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1
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 ========================================================================== */
3920 #define Q6_R_mpynac_RlRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0
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 ========================================================================== */
3929 #define Q6_R_mpynac_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1
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 ========================================================================== */
3938 #define Q6_R_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s0
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 ========================================================================== */
3947 #define Q6_R_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s1
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 ========================================================================== */
3956 #define Q6_R_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s0
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 ========================================================================== */
3965 #define Q6_R_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s1
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 ========================================================================== */
3974 #define Q6_R_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s0
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 ========================================================================== */
3983 #define Q6_R_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s1
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 ========================================================================== */
3992 #define Q6_R_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s0
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 ========================================================================== */
4001 #define Q6_R_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s1
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 ========================================================================== */
4010 #define Q6_R_mpy_RhRh_sat __builtin_HEXAGON_M2_mpy_sat_hh_s0
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 ========================================================================== */
4019 #define Q6_R_mpy_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_hh_s1
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 ========================================================================== */
4028 #define Q6_R_mpy_RhRl_sat __builtin_HEXAGON_M2_mpy_sat_hl_s0
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 ========================================================================== */
4037 #define Q6_R_mpy_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_hl_s1
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 ========================================================================== */
4046 #define Q6_R_mpy_RlRh_sat __builtin_HEXAGON_M2_mpy_sat_lh_s0
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 ========================================================================== */
4055 #define Q6_R_mpy_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_lh_s1
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 ========================================================================== */
4064 #define Q6_R_mpy_RlRl_sat __builtin_HEXAGON_M2_mpy_sat_ll_s0
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 ========================================================================== */
4073 #define Q6_R_mpy_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_ll_s1
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 ========================================================================== */
4082 #define Q6_R_mpy_RhRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0
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 ========================================================================== */
4091 #define Q6_R_mpy_RhRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1
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 ========================================================================== */
4100 #define Q6_R_mpy_RhRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0
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 ========================================================================== */
4109 #define Q6_R_mpy_RhRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1
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 ========================================================================== */
4118 #define Q6_R_mpy_RlRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0
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 ========================================================================== */
4127 #define Q6_R_mpy_RlRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1
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 ========================================================================== */
4136 #define Q6_R_mpy_RlRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0
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 ========================================================================== */
4145 #define Q6_R_mpy_RlRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1
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 ========================================================================== */
4154 #define Q6_R_mpy_RR __builtin_HEXAGON_M2_mpy_up
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 ========================================================================== */
4163 #define Q6_R_mpy_RR_s1 __builtin_HEXAGON_M2_mpy_up_s1
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 ========================================================================== */
4172 #define Q6_R_mpy_RR_s1_sat __builtin_HEXAGON_M2_mpy_up_s1_sat
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 ========================================================================== */
4181 #define Q6_P_mpyacc_RhRh __builtin_HEXAGON_M2_mpyd_acc_hh_s0
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 ========================================================================== */
4190 #define Q6_P_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpyd_acc_hh_s1
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 ========================================================================== */
4199 #define Q6_P_mpyacc_RhRl __builtin_HEXAGON_M2_mpyd_acc_hl_s0
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 ========================================================================== */
4208 #define Q6_P_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpyd_acc_hl_s1
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 ========================================================================== */
4217 #define Q6_P_mpyacc_RlRh __builtin_HEXAGON_M2_mpyd_acc_lh_s0
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 ========================================================================== */
4226 #define Q6_P_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpyd_acc_lh_s1
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 ========================================================================== */
4235 #define Q6_P_mpyacc_RlRl __builtin_HEXAGON_M2_mpyd_acc_ll_s0
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 ========================================================================== */
4244 #define Q6_P_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpyd_acc_ll_s1
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 ========================================================================== */
4253 #define Q6_P_mpy_RhRh __builtin_HEXAGON_M2_mpyd_hh_s0
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 ========================================================================== */
4262 #define Q6_P_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpyd_hh_s1
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 ========================================================================== */
4271 #define Q6_P_mpy_RhRl __builtin_HEXAGON_M2_mpyd_hl_s0
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 ========================================================================== */
4280 #define Q6_P_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpyd_hl_s1
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 ========================================================================== */
4289 #define Q6_P_mpy_RlRh __builtin_HEXAGON_M2_mpyd_lh_s0
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 ========================================================================== */
4298 #define Q6_P_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpyd_lh_s1
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 ========================================================================== */
4307 #define Q6_P_mpy_RlRl __builtin_HEXAGON_M2_mpyd_ll_s0
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 ========================================================================== */
4316 #define Q6_P_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpyd_ll_s1
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 ========================================================================== */
4325 #define Q6_P_mpynac_RhRh __builtin_HEXAGON_M2_mpyd_nac_hh_s0
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 ========================================================================== */
4334 #define Q6_P_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpyd_nac_hh_s1
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 ========================================================================== */
4343 #define Q6_P_mpynac_RhRl __builtin_HEXAGON_M2_mpyd_nac_hl_s0
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 ========================================================================== */
4352 #define Q6_P_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpyd_nac_hl_s1
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 ========================================================================== */
4361 #define Q6_P_mpynac_RlRh __builtin_HEXAGON_M2_mpyd_nac_lh_s0
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 ========================================================================== */
4370 #define Q6_P_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpyd_nac_lh_s1
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 ========================================================================== */
4379 #define Q6_P_mpynac_RlRl __builtin_HEXAGON_M2_mpyd_nac_ll_s0
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 ========================================================================== */
4388 #define Q6_P_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpyd_nac_ll_s1
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 ========================================================================== */
4397 #define Q6_P_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s0
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 ========================================================================== */
4406 #define Q6_P_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s1
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 ========================================================================== */
4415 #define Q6_P_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s0
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 ========================================================================== */
4424 #define Q6_P_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s1
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 ========================================================================== */
4433 #define Q6_P_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s0
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 ========================================================================== */
4442 #define Q6_P_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s1
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 ========================================================================== */
4451 #define Q6_P_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s0
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 ========================================================================== */
4460 #define Q6_P_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s1
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 ========================================================================== */
4469 #define Q6_R_mpyi_RR __builtin_HEXAGON_M2_mpyi
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 ========================================================================== */
4478 #define Q6_R_mpyi_RI __builtin_HEXAGON_M2_mpysmi
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 ========================================================================== */
4487 #define Q6_R_mpysu_RR __builtin_HEXAGON_M2_mpysu_up
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 ========================================================================== */
4496 #define Q6_R_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyu_acc_hh_s0
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 ========================================================================== */
4505 #define Q6_R_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyu_acc_hh_s1
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 ========================================================================== */
4514 #define Q6_R_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyu_acc_hl_s0
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 ========================================================================== */
4523 #define Q6_R_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyu_acc_hl_s1
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 ========================================================================== */
4532 #define Q6_R_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyu_acc_lh_s0
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 ========================================================================== */
4541 #define Q6_R_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyu_acc_lh_s1
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 ========================================================================== */
4550 #define Q6_R_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyu_acc_ll_s0
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 ========================================================================== */
4559 #define Q6_R_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyu_acc_ll_s1
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 ========================================================================== */
4568 #define Q6_R_mpyu_RhRh __builtin_HEXAGON_M2_mpyu_hh_s0
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 ========================================================================== */
4577 #define Q6_R_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyu_hh_s1
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 ========================================================================== */
4586 #define Q6_R_mpyu_RhRl __builtin_HEXAGON_M2_mpyu_hl_s0
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 ========================================================================== */
4595 #define Q6_R_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyu_hl_s1
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 ========================================================================== */
4604 #define Q6_R_mpyu_RlRh __builtin_HEXAGON_M2_mpyu_lh_s0
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 ========================================================================== */
4613 #define Q6_R_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyu_lh_s1
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 ========================================================================== */
4622 #define Q6_R_mpyu_RlRl __builtin_HEXAGON_M2_mpyu_ll_s0
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 ========================================================================== */
4631 #define Q6_R_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyu_ll_s1
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 ========================================================================== */
4640 #define Q6_R_mpyunac_RhRh __builtin_HEXAGON_M2_mpyu_nac_hh_s0
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 ========================================================================== */
4649 #define Q6_R_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyu_nac_hh_s1
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 ========================================================================== */
4658 #define Q6_R_mpyunac_RhRl __builtin_HEXAGON_M2_mpyu_nac_hl_s0
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 ========================================================================== */
4667 #define Q6_R_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyu_nac_hl_s1
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 ========================================================================== */
4676 #define Q6_R_mpyunac_RlRh __builtin_HEXAGON_M2_mpyu_nac_lh_s0
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 ========================================================================== */
4685 #define Q6_R_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyu_nac_lh_s1
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 ========================================================================== */
4694 #define Q6_R_mpyunac_RlRl __builtin_HEXAGON_M2_mpyu_nac_ll_s0
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 ========================================================================== */
4703 #define Q6_R_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyu_nac_ll_s1
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 ========================================================================== */
4712 #define Q6_R_mpyu_RR __builtin_HEXAGON_M2_mpyu_up
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 ========================================================================== */
4721 #define Q6_P_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyud_acc_hh_s0
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 ========================================================================== */
4730 #define Q6_P_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyud_acc_hh_s1
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 ========================================================================== */
4739 #define Q6_P_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyud_acc_hl_s0
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 ========================================================================== */
4748 #define Q6_P_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyud_acc_hl_s1
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 ========================================================================== */
4757 #define Q6_P_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyud_acc_lh_s0
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 ========================================================================== */
4766 #define Q6_P_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyud_acc_lh_s1
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 ========================================================================== */
4775 #define Q6_P_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyud_acc_ll_s0
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 ========================================================================== */
4784 #define Q6_P_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyud_acc_ll_s1
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 ========================================================================== */
4793 #define Q6_P_mpyu_RhRh __builtin_HEXAGON_M2_mpyud_hh_s0
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 ========================================================================== */
4802 #define Q6_P_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyud_hh_s1
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 ========================================================================== */
4811 #define Q6_P_mpyu_RhRl __builtin_HEXAGON_M2_mpyud_hl_s0
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 ========================================================================== */
4820 #define Q6_P_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyud_hl_s1
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 ========================================================================== */
4829 #define Q6_P_mpyu_RlRh __builtin_HEXAGON_M2_mpyud_lh_s0
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 ========================================================================== */
4838 #define Q6_P_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyud_lh_s1
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 ========================================================================== */
4847 #define Q6_P_mpyu_RlRl __builtin_HEXAGON_M2_mpyud_ll_s0
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 ========================================================================== */
4856 #define Q6_P_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyud_ll_s1
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 ========================================================================== */
4865 #define Q6_P_mpyunac_RhRh __builtin_HEXAGON_M2_mpyud_nac_hh_s0
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 ========================================================================== */
4874 #define Q6_P_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyud_nac_hh_s1
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 ========================================================================== */
4883 #define Q6_P_mpyunac_RhRl __builtin_HEXAGON_M2_mpyud_nac_hl_s0
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 ========================================================================== */
4892 #define Q6_P_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyud_nac_hl_s1
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 ========================================================================== */
4901 #define Q6_P_mpyunac_RlRh __builtin_HEXAGON_M2_mpyud_nac_lh_s0
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 ========================================================================== */
4910 #define Q6_P_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyud_nac_lh_s1
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 ========================================================================== */
4919 #define Q6_P_mpyunac_RlRl __builtin_HEXAGON_M2_mpyud_nac_ll_s0
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 ========================================================================== */
4928 #define Q6_P_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyud_nac_ll_s1
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 ========================================================================== */
4937 #define Q6_R_mpyui_RR __builtin_HEXAGON_M2_mpyui
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 ========================================================================== */
4946 #define Q6_R_addnac_RR __builtin_HEXAGON_M2_nacci
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 ========================================================================== */
4955 #define Q6_R_addnac_RI __builtin_HEXAGON_M2_naccii
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 ========================================================================== */
4964 #define Q6_R_subacc_RR __builtin_HEXAGON_M2_subacc
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 ========================================================================== */
4973 #define Q6_P_vabsdiffh_PP __builtin_HEXAGON_M2_vabsdiffh
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 ========================================================================== */
4982 #define Q6_P_vabsdiffw_PP __builtin_HEXAGON_M2_vabsdiffw
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 ========================================================================== */
4991 #define Q6_P_vcmpyiacc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_i
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 ========================================================================== */
5000 #define Q6_P_vcmpyracc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_r
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 ========================================================================== */
5009 #define Q6_P_vcmpyi_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_i
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 ========================================================================== */
5018 #define Q6_P_vcmpyr_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_r
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 ========================================================================== */
5027 #define Q6_P_vcmpyi_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_i
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 ========================================================================== */
5036 #define Q6_P_vcmpyr_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_r
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 ========================================================================== */
5045 #define Q6_P_vdmpyacc_PP_sat __builtin_HEXAGON_M2_vdmacs_s0
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 ========================================================================== */
5054 #define Q6_P_vdmpyacc_PP_s1_sat __builtin_HEXAGON_M2_vdmacs_s1
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 ========================================================================== */
5063 #define Q6_R_vdmpy_PP_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s0
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 ========================================================================== */
5072 #define Q6_R_vdmpy_PP_s1_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s1
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 ========================================================================== */
5081 #define Q6_P_vdmpy_PP_sat __builtin_HEXAGON_M2_vdmpys_s0
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 ========================================================================== */
5090 #define Q6_P_vdmpy_PP_s1_sat __builtin_HEXAGON_M2_vdmpys_s1
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 ========================================================================== */
5099 #define Q6_P_vmpyhacc_RR __builtin_HEXAGON_M2_vmac2
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 ========================================================================== */
5108 #define Q6_P_vmpyehacc_PP __builtin_HEXAGON_M2_vmac2es
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 ========================================================================== */
5117 #define Q6_P_vmpyehacc_PP_sat __builtin_HEXAGON_M2_vmac2es_s0
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 ========================================================================== */
5126 #define Q6_P_vmpyehacc_PP_s1_sat __builtin_HEXAGON_M2_vmac2es_s1
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 ========================================================================== */
5135 #define Q6_P_vmpyhacc_RR_sat __builtin_HEXAGON_M2_vmac2s_s0
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 ========================================================================== */
5144 #define Q6_P_vmpyhacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2s_s1
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 ========================================================================== */
5153 #define Q6_P_vmpyhsuacc_RR_sat __builtin_HEXAGON_M2_vmac2su_s0
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 ========================================================================== */
5162 #define Q6_P_vmpyhsuacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2su_s1
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 ========================================================================== */
5171 #define Q6_P_vmpyeh_PP_sat __builtin_HEXAGON_M2_vmpy2es_s0
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 ========================================================================== */
5180 #define Q6_P_vmpyeh_PP_s1_sat __builtin_HEXAGON_M2_vmpy2es_s1
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 ========================================================================== */
5189 #define Q6_P_vmpyh_RR_sat __builtin_HEXAGON_M2_vmpy2s_s0
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 ========================================================================== */
5198 #define Q6_R_vmpyh_RR_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s0pack
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 ========================================================================== */
5207 #define Q6_P_vmpyh_RR_s1_sat __builtin_HEXAGON_M2_vmpy2s_s1
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 ========================================================================== */
5216 #define Q6_R_vmpyh_RR_s1_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s1pack
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 ========================================================================== */
5225 #define Q6_P_vmpyhsu_RR_sat __builtin_HEXAGON_M2_vmpy2su_s0
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 ========================================================================== */
5234 #define Q6_P_vmpyhsu_RR_s1_sat __builtin_HEXAGON_M2_vmpy2su_s1
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 ========================================================================== */
5243 #define Q6_R_vraddh_PP __builtin_HEXAGON_M2_vraddh
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 ========================================================================== */
5252 #define Q6_R_vradduh_PP __builtin_HEXAGON_M2_vradduh
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 ========================================================================== */
5261 #define Q6_P_vrcmpyiacc_PP __builtin_HEXAGON_M2_vrcmaci_s0
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 ========================================================================== */
5270 #define Q6_P_vrcmpyiacc_PP_conj __builtin_HEXAGON_M2_vrcmaci_s0c
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 ========================================================================== */
5279 #define Q6_P_vrcmpyracc_PP __builtin_HEXAGON_M2_vrcmacr_s0
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 ========================================================================== */
5288 #define Q6_P_vrcmpyracc_PP_conj __builtin_HEXAGON_M2_vrcmacr_s0c
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 ========================================================================== */
5297 #define Q6_P_vrcmpyi_PP __builtin_HEXAGON_M2_vrcmpyi_s0
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 ========================================================================== */
5306 #define Q6_P_vrcmpyi_PP_conj __builtin_HEXAGON_M2_vrcmpyi_s0c
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 ========================================================================== */
5315 #define Q6_P_vrcmpyr_PP __builtin_HEXAGON_M2_vrcmpyr_s0
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 ========================================================================== */
5324 #define Q6_P_vrcmpyr_PP_conj __builtin_HEXAGON_M2_vrcmpyr_s0c
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 ========================================================================== */
5333 #define Q6_P_vrcmpysacc_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_acc_s1
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 ========================================================================== */
5342 #define Q6_P_vrcmpys_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_s1
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 ========================================================================== */
5351 #define Q6_R_vrcmpys_PR_s1_rnd_sat __builtin_HEXAGON_M2_vrcmpys_s1rp
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 ========================================================================== */
5360 #define Q6_P_vrmpyhacc_PP __builtin_HEXAGON_M2_vrmac_s0
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 ========================================================================== */
5369 #define Q6_P_vrmpyh_PP __builtin_HEXAGON_M2_vrmpy_s0
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 ========================================================================== */
5378 #define Q6_R_xorxacc_RR __builtin_HEXAGON_M2_xor_xacc
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 ========================================================================== */
5387 #define Q6_R_andand_RR __builtin_HEXAGON_M4_and_and
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 ========================================================================== */
5396 #define Q6_R_andand_RnR __builtin_HEXAGON_M4_and_andn
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 ========================================================================== */
5405 #define Q6_R_orand_RR __builtin_HEXAGON_M4_and_or
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 ========================================================================== */
5414 #define Q6_R_xorand_RR __builtin_HEXAGON_M4_and_xor
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 ========================================================================== */
5423 #define Q6_R_cmpyiwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_wh
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 ========================================================================== */
5432 #define Q6_R_cmpyiwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_whc
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 ========================================================================== */
5441 #define Q6_R_cmpyrwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_wh
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 ========================================================================== */
5450 #define Q6_R_cmpyrwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_whc
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 ========================================================================== */
5459 #define Q6_R_mpyacc_RR_s1_sat __builtin_HEXAGON_M4_mac_up_s1_sat
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 ========================================================================== */
5468 #define Q6_R_add_mpyi_IRI __builtin_HEXAGON_M4_mpyri_addi
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 ========================================================================== */
5477 #define Q6_R_add_mpyi_RRI __builtin_HEXAGON_M4_mpyri_addr
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 ========================================================================== */
5486 #define Q6_R_add_mpyi_RIR __builtin_HEXAGON_M4_mpyri_addr_u2
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 ========================================================================== */
5495 #define Q6_R_add_mpyi_IRR __builtin_HEXAGON_M4_mpyrr_addi
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 ========================================================================== */
5504 #define Q6_R_add_mpyi_RRR __builtin_HEXAGON_M4_mpyrr_addr
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 ========================================================================== */
5513 #define Q6_R_mpynac_RR_s1_sat __builtin_HEXAGON_M4_nac_up_s1_sat
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 ========================================================================== */
5522 #define Q6_R_andor_RR __builtin_HEXAGON_M4_or_and
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 ========================================================================== */
5531 #define Q6_R_andor_RnR __builtin_HEXAGON_M4_or_andn
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 ========================================================================== */
5540 #define Q6_R_oror_RR __builtin_HEXAGON_M4_or_or
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 ========================================================================== */
5549 #define Q6_R_xoror_RR __builtin_HEXAGON_M4_or_xor
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 ========================================================================== */
5558 #define Q6_P_pmpyw_RR __builtin_HEXAGON_M4_pmpyw
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 ========================================================================== */
5567 #define Q6_P_pmpywxacc_RR __builtin_HEXAGON_M4_pmpyw_acc
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 ========================================================================== */
5576 #define Q6_P_vpmpyh_RR __builtin_HEXAGON_M4_vpmpyh
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 ========================================================================== */
5585 #define Q6_P_vpmpyhxacc_RR __builtin_HEXAGON_M4_vpmpyh_acc
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 ========================================================================== */
5594 #define Q6_P_vrmpywehacc_PP __builtin_HEXAGON_M4_vrmpyeh_acc_s0
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 ========================================================================== */
5603 #define Q6_P_vrmpywehacc_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_acc_s1
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 ========================================================================== */
5612 #define Q6_P_vrmpyweh_PP __builtin_HEXAGON_M4_vrmpyeh_s0
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 ========================================================================== */
5621 #define Q6_P_vrmpyweh_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_s1
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 ========================================================================== */
5630 #define Q6_P_vrmpywohacc_PP __builtin_HEXAGON_M4_vrmpyoh_acc_s0
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 ========================================================================== */
5639 #define Q6_P_vrmpywohacc_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_acc_s1
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 ========================================================================== */
5648 #define Q6_P_vrmpywoh_PP __builtin_HEXAGON_M4_vrmpyoh_s0
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 ========================================================================== */
5657 #define Q6_P_vrmpywoh_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_s1
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 ========================================================================== */
5666 #define Q6_R_andxacc_RR __builtin_HEXAGON_M4_xor_and
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 ========================================================================== */
5675 #define Q6_R_andxacc_RnR __builtin_HEXAGON_M4_xor_andn
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 ========================================================================== */
5684 #define Q6_R_orxacc_RR __builtin_HEXAGON_M4_xor_or
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 ========================================================================== */
5693 #define Q6_P_xorxacc_PP __builtin_HEXAGON_M4_xor_xacc
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 ========================================================================== */
5702 #define Q6_P_vdmpybsuacc_PP_sat __builtin_HEXAGON_M5_vdmacbsu
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 ========================================================================== */
5711 #define Q6_P_vdmpybsu_PP_sat __builtin_HEXAGON_M5_vdmpybsu
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 ========================================================================== */
5720 #define Q6_P_vmpybsuacc_RR __builtin_HEXAGON_M5_vmacbsu
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 ========================================================================== */
5729 #define Q6_P_vmpybuacc_RR __builtin_HEXAGON_M5_vmacbuu
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 ========================================================================== */
5738 #define Q6_P_vmpybsu_RR __builtin_HEXAGON_M5_vmpybsu
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 ========================================================================== */
5747 #define Q6_P_vmpybu_RR __builtin_HEXAGON_M5_vmpybuu
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 ========================================================================== */
5756 #define Q6_P_vrmpybsuacc_PP __builtin_HEXAGON_M5_vrmacbsu
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 ========================================================================== */
5765 #define Q6_P_vrmpybuacc_PP __builtin_HEXAGON_M5_vrmacbuu
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 ========================================================================== */
5774 #define Q6_P_vrmpybsu_PP __builtin_HEXAGON_M5_vrmpybsu
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 ========================================================================== */
5783 #define Q6_P_vrmpybu_PP __builtin_HEXAGON_M5_vrmpybuu
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 ========================================================================== */
5792 #define Q6_R_addasl_RRI __builtin_HEXAGON_S2_addasl_rrri
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 ========================================================================== */
5801 #define Q6_P_asl_PI __builtin_HEXAGON_S2_asl_i_p
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 ========================================================================== */
5810 #define Q6_P_aslacc_PI __builtin_HEXAGON_S2_asl_i_p_acc
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 ========================================================================== */
5819 #define Q6_P_asland_PI __builtin_HEXAGON_S2_asl_i_p_and
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 ========================================================================== */
5828 #define Q6_P_aslnac_PI __builtin_HEXAGON_S2_asl_i_p_nac
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 ========================================================================== */
5837 #define Q6_P_aslor_PI __builtin_HEXAGON_S2_asl_i_p_or
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 ========================================================================== */
5846 #define Q6_P_aslxacc_PI __builtin_HEXAGON_S2_asl_i_p_xacc
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 ========================================================================== */
5855 #define Q6_R_asl_RI __builtin_HEXAGON_S2_asl_i_r
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 ========================================================================== */
5864 #define Q6_R_aslacc_RI __builtin_HEXAGON_S2_asl_i_r_acc
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 ========================================================================== */
5873 #define Q6_R_asland_RI __builtin_HEXAGON_S2_asl_i_r_and
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 ========================================================================== */
5882 #define Q6_R_aslnac_RI __builtin_HEXAGON_S2_asl_i_r_nac
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 ========================================================================== */
5891 #define Q6_R_aslor_RI __builtin_HEXAGON_S2_asl_i_r_or
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 ========================================================================== */
5900 #define Q6_R_asl_RI_sat __builtin_HEXAGON_S2_asl_i_r_sat
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 ========================================================================== */
5909 #define Q6_R_aslxacc_RI __builtin_HEXAGON_S2_asl_i_r_xacc
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 ========================================================================== */
5918 #define Q6_P_vaslh_PI __builtin_HEXAGON_S2_asl_i_vh
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 ========================================================================== */
5927 #define Q6_P_vaslw_PI __builtin_HEXAGON_S2_asl_i_vw
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 ========================================================================== */
5936 #define Q6_P_asl_PR __builtin_HEXAGON_S2_asl_r_p
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 ========================================================================== */
5945 #define Q6_P_aslacc_PR __builtin_HEXAGON_S2_asl_r_p_acc
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 ========================================================================== */
5954 #define Q6_P_asland_PR __builtin_HEXAGON_S2_asl_r_p_and
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 ========================================================================== */
5963 #define Q6_P_aslnac_PR __builtin_HEXAGON_S2_asl_r_p_nac
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 ========================================================================== */
5972 #define Q6_P_aslor_PR __builtin_HEXAGON_S2_asl_r_p_or
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 ========================================================================== */
5981 #define Q6_P_aslxacc_PR __builtin_HEXAGON_S2_asl_r_p_xor
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 ========================================================================== */
5990 #define Q6_R_asl_RR __builtin_HEXAGON_S2_asl_r_r
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 ========================================================================== */
5999 #define Q6_R_aslacc_RR __builtin_HEXAGON_S2_asl_r_r_acc
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 ========================================================================== */
6008 #define Q6_R_asland_RR __builtin_HEXAGON_S2_asl_r_r_and
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 ========================================================================== */
6017 #define Q6_R_aslnac_RR __builtin_HEXAGON_S2_asl_r_r_nac
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 ========================================================================== */
6026 #define Q6_R_aslor_RR __builtin_HEXAGON_S2_asl_r_r_or
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 ========================================================================== */
6035 #define Q6_R_asl_RR_sat __builtin_HEXAGON_S2_asl_r_r_sat
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 ========================================================================== */
6044 #define Q6_P_vaslh_PR __builtin_HEXAGON_S2_asl_r_vh
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 ========================================================================== */
6053 #define Q6_P_vaslw_PR __builtin_HEXAGON_S2_asl_r_vw
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 ========================================================================== */
6062 #define Q6_P_asr_PI __builtin_HEXAGON_S2_asr_i_p
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 ========================================================================== */
6071 #define Q6_P_asracc_PI __builtin_HEXAGON_S2_asr_i_p_acc
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 ========================================================================== */
6080 #define Q6_P_asrand_PI __builtin_HEXAGON_S2_asr_i_p_and
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 ========================================================================== */
6089 #define Q6_P_asrnac_PI __builtin_HEXAGON_S2_asr_i_p_nac
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 ========================================================================== */
6098 #define Q6_P_asror_PI __builtin_HEXAGON_S2_asr_i_p_or
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 ========================================================================== */
6107 #define Q6_P_asr_PI_rnd __builtin_HEXAGON_S2_asr_i_p_rnd
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 ========================================================================== */
6116 #define Q6_P_asrrnd_PI __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax
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 ========================================================================== */
6125 #define Q6_R_asr_RI __builtin_HEXAGON_S2_asr_i_r
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 ========================================================================== */
6134 #define Q6_R_asracc_RI __builtin_HEXAGON_S2_asr_i_r_acc
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 ========================================================================== */
6143 #define Q6_R_asrand_RI __builtin_HEXAGON_S2_asr_i_r_and
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 ========================================================================== */
6152 #define Q6_R_asrnac_RI __builtin_HEXAGON_S2_asr_i_r_nac
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 ========================================================================== */
6161 #define Q6_R_asror_RI __builtin_HEXAGON_S2_asr_i_r_or
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 ========================================================================== */
6170 #define Q6_R_asr_RI_rnd __builtin_HEXAGON_S2_asr_i_r_rnd
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 ========================================================================== */
6179 #define Q6_R_asrrnd_RI __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax
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 ========================================================================== */
6188 #define Q6_R_vasrw_PI __builtin_HEXAGON_S2_asr_i_svw_trun
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 ========================================================================== */
6197 #define Q6_P_vasrh_PI __builtin_HEXAGON_S2_asr_i_vh
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 ========================================================================== */
6206 #define Q6_P_vasrw_PI __builtin_HEXAGON_S2_asr_i_vw
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 ========================================================================== */
6215 #define Q6_P_asr_PR __builtin_HEXAGON_S2_asr_r_p
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 ========================================================================== */
6224 #define Q6_P_asracc_PR __builtin_HEXAGON_S2_asr_r_p_acc
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 ========================================================================== */
6233 #define Q6_P_asrand_PR __builtin_HEXAGON_S2_asr_r_p_and
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 ========================================================================== */
6242 #define Q6_P_asrnac_PR __builtin_HEXAGON_S2_asr_r_p_nac
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 ========================================================================== */
6251 #define Q6_P_asror_PR __builtin_HEXAGON_S2_asr_r_p_or
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 ========================================================================== */
6260 #define Q6_P_asrxacc_PR __builtin_HEXAGON_S2_asr_r_p_xor
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 ========================================================================== */
6269 #define Q6_R_asr_RR __builtin_HEXAGON_S2_asr_r_r
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 ========================================================================== */
6278 #define Q6_R_asracc_RR __builtin_HEXAGON_S2_asr_r_r_acc
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 ========================================================================== */
6287 #define Q6_R_asrand_RR __builtin_HEXAGON_S2_asr_r_r_and
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 ========================================================================== */
6296 #define Q6_R_asrnac_RR __builtin_HEXAGON_S2_asr_r_r_nac
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 ========================================================================== */
6305 #define Q6_R_asror_RR __builtin_HEXAGON_S2_asr_r_r_or
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 ========================================================================== */
6314 #define Q6_R_asr_RR_sat __builtin_HEXAGON_S2_asr_r_r_sat
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 ========================================================================== */
6323 #define Q6_R_vasrw_PR __builtin_HEXAGON_S2_asr_r_svw_trun
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 ========================================================================== */
6332 #define Q6_P_vasrh_PR __builtin_HEXAGON_S2_asr_r_vh
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 ========================================================================== */
6341 #define Q6_P_vasrw_PR __builtin_HEXAGON_S2_asr_r_vw
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 ========================================================================== */
6350 #define Q6_R_brev_R __builtin_HEXAGON_S2_brev
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 ========================================================================== */
6359 #define Q6_P_brev_P __builtin_HEXAGON_S2_brevp
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 ========================================================================== */
6368 #define Q6_R_cl0_R __builtin_HEXAGON_S2_cl0
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 ========================================================================== */
6377 #define Q6_R_cl0_P __builtin_HEXAGON_S2_cl0p
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 ========================================================================== */
6386 #define Q6_R_cl1_R __builtin_HEXAGON_S2_cl1
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 ========================================================================== */
6395 #define Q6_R_cl1_P __builtin_HEXAGON_S2_cl1p
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 ========================================================================== */
6404 #define Q6_R_clb_R __builtin_HEXAGON_S2_clb
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 ========================================================================== */
6413 #define Q6_R_normamt_R __builtin_HEXAGON_S2_clbnorm
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 ========================================================================== */
6422 #define Q6_R_clb_P __builtin_HEXAGON_S2_clbp
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 ========================================================================== */
6431 #define Q6_R_clrbit_RI __builtin_HEXAGON_S2_clrbit_i
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 ========================================================================== */
6440 #define Q6_R_clrbit_RR __builtin_HEXAGON_S2_clrbit_r
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 ========================================================================== */
6449 #define Q6_R_ct0_R __builtin_HEXAGON_S2_ct0
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 ========================================================================== */
6458 #define Q6_R_ct0_P __builtin_HEXAGON_S2_ct0p
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 ========================================================================== */
6467 #define Q6_R_ct1_R __builtin_HEXAGON_S2_ct1
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 ========================================================================== */
6476 #define Q6_R_ct1_P __builtin_HEXAGON_S2_ct1p
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 ========================================================================== */
6485 #define Q6_P_deinterleave_P __builtin_HEXAGON_S2_deinterleave
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 ========================================================================== */
6494 #define Q6_R_extractu_RII __builtin_HEXAGON_S2_extractu
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 ========================================================================== */
6503 #define Q6_R_extractu_RP __builtin_HEXAGON_S2_extractu_rp
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 ========================================================================== */
6512 #define Q6_P_extractu_PII __builtin_HEXAGON_S2_extractup
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 ========================================================================== */
6521 #define Q6_P_extractu_PP __builtin_HEXAGON_S2_extractup_rp
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 ========================================================================== */
6530 #define Q6_R_insert_RII __builtin_HEXAGON_S2_insert
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 ========================================================================== */
6539 #define Q6_R_insert_RP __builtin_HEXAGON_S2_insert_rp
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 ========================================================================== */
6548 #define Q6_P_insert_PII __builtin_HEXAGON_S2_insertp
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 ========================================================================== */
6557 #define Q6_P_insert_PP __builtin_HEXAGON_S2_insertp_rp
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 ========================================================================== */
6566 #define Q6_P_interleave_P __builtin_HEXAGON_S2_interleave
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 ========================================================================== */
6575 #define Q6_P_lfs_PP __builtin_HEXAGON_S2_lfsp
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 ========================================================================== */
6584 #define Q6_P_lsl_PR __builtin_HEXAGON_S2_lsl_r_p
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 ========================================================================== */
6593 #define Q6_P_lslacc_PR __builtin_HEXAGON_S2_lsl_r_p_acc
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 ========================================================================== */
6602 #define Q6_P_lsland_PR __builtin_HEXAGON_S2_lsl_r_p_and
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 ========================================================================== */
6611 #define Q6_P_lslnac_PR __builtin_HEXAGON_S2_lsl_r_p_nac
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 ========================================================================== */
6620 #define Q6_P_lslor_PR __builtin_HEXAGON_S2_lsl_r_p_or
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 ========================================================================== */
6629 #define Q6_P_lslxacc_PR __builtin_HEXAGON_S2_lsl_r_p_xor
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 ========================================================================== */
6638 #define Q6_R_lsl_RR __builtin_HEXAGON_S2_lsl_r_r
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 ========================================================================== */
6647 #define Q6_R_lslacc_RR __builtin_HEXAGON_S2_lsl_r_r_acc
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 ========================================================================== */
6656 #define Q6_R_lsland_RR __builtin_HEXAGON_S2_lsl_r_r_and
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 ========================================================================== */
6665 #define Q6_R_lslnac_RR __builtin_HEXAGON_S2_lsl_r_r_nac
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 ========================================================================== */
6674 #define Q6_R_lslor_RR __builtin_HEXAGON_S2_lsl_r_r_or
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 ========================================================================== */
6683 #define Q6_P_vlslh_PR __builtin_HEXAGON_S2_lsl_r_vh
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 ========================================================================== */
6692 #define Q6_P_vlslw_PR __builtin_HEXAGON_S2_lsl_r_vw
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 ========================================================================== */
6701 #define Q6_P_lsr_PI __builtin_HEXAGON_S2_lsr_i_p
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 ========================================================================== */
6710 #define Q6_P_lsracc_PI __builtin_HEXAGON_S2_lsr_i_p_acc
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 ========================================================================== */
6719 #define Q6_P_lsrand_PI __builtin_HEXAGON_S2_lsr_i_p_and
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 ========================================================================== */
6728 #define Q6_P_lsrnac_PI __builtin_HEXAGON_S2_lsr_i_p_nac
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 ========================================================================== */
6737 #define Q6_P_lsror_PI __builtin_HEXAGON_S2_lsr_i_p_or
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 ========================================================================== */
6746 #define Q6_P_lsrxacc_PI __builtin_HEXAGON_S2_lsr_i_p_xacc
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 ========================================================================== */
6755 #define Q6_R_lsr_RI __builtin_HEXAGON_S2_lsr_i_r
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 ========================================================================== */
6764 #define Q6_R_lsracc_RI __builtin_HEXAGON_S2_lsr_i_r_acc
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 ========================================================================== */
6773 #define Q6_R_lsrand_RI __builtin_HEXAGON_S2_lsr_i_r_and
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 ========================================================================== */
6782 #define Q6_R_lsrnac_RI __builtin_HEXAGON_S2_lsr_i_r_nac
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 ========================================================================== */
6791 #define Q6_R_lsror_RI __builtin_HEXAGON_S2_lsr_i_r_or
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 ========================================================================== */
6800 #define Q6_R_lsrxacc_RI __builtin_HEXAGON_S2_lsr_i_r_xacc
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 ========================================================================== */
6809 #define Q6_P_vlsrh_PI __builtin_HEXAGON_S2_lsr_i_vh
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 ========================================================================== */
6818 #define Q6_P_vlsrw_PI __builtin_HEXAGON_S2_lsr_i_vw
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 ========================================================================== */
6827 #define Q6_P_lsr_PR __builtin_HEXAGON_S2_lsr_r_p
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 ========================================================================== */
6836 #define Q6_P_lsracc_PR __builtin_HEXAGON_S2_lsr_r_p_acc
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 ========================================================================== */
6845 #define Q6_P_lsrand_PR __builtin_HEXAGON_S2_lsr_r_p_and
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 ========================================================================== */
6854 #define Q6_P_lsrnac_PR __builtin_HEXAGON_S2_lsr_r_p_nac
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 ========================================================================== */
6863 #define Q6_P_lsror_PR __builtin_HEXAGON_S2_lsr_r_p_or
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 ========================================================================== */
6872 #define Q6_P_lsrxacc_PR __builtin_HEXAGON_S2_lsr_r_p_xor
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 ========================================================================== */
6881 #define Q6_R_lsr_RR __builtin_HEXAGON_S2_lsr_r_r
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 ========================================================================== */
6890 #define Q6_R_lsracc_RR __builtin_HEXAGON_S2_lsr_r_r_acc
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 ========================================================================== */
6899 #define Q6_R_lsrand_RR __builtin_HEXAGON_S2_lsr_r_r_and
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 ========================================================================== */
6908 #define Q6_R_lsrnac_RR __builtin_HEXAGON_S2_lsr_r_r_nac
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 ========================================================================== */
6917 #define Q6_R_lsror_RR __builtin_HEXAGON_S2_lsr_r_r_or
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 ========================================================================== */
6926 #define Q6_P_vlsrh_PR __builtin_HEXAGON_S2_lsr_r_vh
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 ========================================================================== */
6935 #define Q6_P_vlsrw_PR __builtin_HEXAGON_S2_lsr_r_vw
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 ========================================================================== */
6944 #define Q6_P_packhl_RR __builtin_HEXAGON_S2_packhl
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 ========================================================================== */
6953 #define Q6_R_parity_PP __builtin_HEXAGON_S2_parityp
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 ========================================================================== */
6962 #define Q6_R_setbit_RI __builtin_HEXAGON_S2_setbit_i
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 ========================================================================== */
6971 #define Q6_R_setbit_RR __builtin_HEXAGON_S2_setbit_r
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 ========================================================================== */
6980 #define Q6_P_shuffeb_PP __builtin_HEXAGON_S2_shuffeb
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 ========================================================================== */
6989 #define Q6_P_shuffeh_PP __builtin_HEXAGON_S2_shuffeh
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 ========================================================================== */
6998 #define Q6_P_shuffob_PP __builtin_HEXAGON_S2_shuffob
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 ========================================================================== */
7007 #define Q6_P_shuffoh_PP __builtin_HEXAGON_S2_shuffoh
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 ========================================================================== */
7016 #define Q6_memb_IMR_circ __builtin_HEXAGON_S2_storerb_pci
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 ========================================================================== */
7025 #define Q6_memb_MR_circ __builtin_HEXAGON_S2_storerb_pcr
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 ========================================================================== */
7034 #define Q6_memd_IMP_circ __builtin_HEXAGON_S2_storerd_pci
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 ========================================================================== */
7043 #define Q6_memd_MP_circ __builtin_HEXAGON_S2_storerd_pcr
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 ========================================================================== */
7052 #define Q6_memh_IMRh_circ __builtin_HEXAGON_S2_storerf_pci
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 ========================================================================== */
7061 #define Q6_memh_MRh_circ __builtin_HEXAGON_S2_storerf_pcr
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 ========================================================================== */
7070 #define Q6_memh_IMR_circ __builtin_HEXAGON_S2_storerh_pci
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 ========================================================================== */
7079 #define Q6_memh_MR_circ __builtin_HEXAGON_S2_storerh_pcr
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 ========================================================================== */
7088 #define Q6_memw_IMR_circ __builtin_HEXAGON_S2_storeri_pci
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 ========================================================================== */
7097 #define Q6_memw_MR_circ __builtin_HEXAGON_S2_storeri_pcr
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 ========================================================================== */
7106 #define Q6_R_vsathb_R __builtin_HEXAGON_S2_svsathb
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 ========================================================================== */
7115 #define Q6_R_vsathub_R __builtin_HEXAGON_S2_svsathub
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 ========================================================================== */
7124 #define Q6_R_tableidxb_RII __builtin_HEXAGON_S2_tableidxb_goodsyntax
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 ========================================================================== */
7133 #define Q6_R_tableidxd_RII __builtin_HEXAGON_S2_tableidxd_goodsyntax
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 ========================================================================== */
7142 #define Q6_R_tableidxh_RII __builtin_HEXAGON_S2_tableidxh_goodsyntax
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 ========================================================================== */
7151 #define Q6_R_tableidxw_RII __builtin_HEXAGON_S2_tableidxw_goodsyntax
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 ========================================================================== */
7160 #define Q6_R_togglebit_RI __builtin_HEXAGON_S2_togglebit_i
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 ========================================================================== */
7169 #define Q6_R_togglebit_RR __builtin_HEXAGON_S2_togglebit_r
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 ========================================================================== */
7178 #define Q6_p_tstbit_RI __builtin_HEXAGON_S2_tstbit_i
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 ========================================================================== */
7187 #define Q6_p_tstbit_RR __builtin_HEXAGON_S2_tstbit_r
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 ========================================================================== */
7196 #define Q6_P_valignb_PPI __builtin_HEXAGON_S2_valignib
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 ========================================================================== */
7205 #define Q6_P_valignb_PPp __builtin_HEXAGON_S2_valignrb
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 ========================================================================== */
7214 #define Q6_P_vcnegh_PR __builtin_HEXAGON_S2_vcnegh
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 ========================================================================== */
7223 #define Q6_P_vcrotate_PR __builtin_HEXAGON_S2_vcrotate
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 ========================================================================== */
7232 #define Q6_P_vrcneghacc_PR __builtin_HEXAGON_S2_vrcnegh
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 ========================================================================== */
7241 #define Q6_R_vrndwh_P __builtin_HEXAGON_S2_vrndpackwh
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 ========================================================================== */
7250 #define Q6_R_vrndwh_P_sat __builtin_HEXAGON_S2_vrndpackwhs
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 ========================================================================== */
7259 #define Q6_R_vsathb_P __builtin_HEXAGON_S2_vsathb
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 ========================================================================== */
7268 #define Q6_P_vsathb_P __builtin_HEXAGON_S2_vsathb_nopack
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 ========================================================================== */
7277 #define Q6_R_vsathub_P __builtin_HEXAGON_S2_vsathub
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 ========================================================================== */
7286 #define Q6_P_vsathub_P __builtin_HEXAGON_S2_vsathub_nopack
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 ========================================================================== */
7295 #define Q6_R_vsatwh_P __builtin_HEXAGON_S2_vsatwh
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 ========================================================================== */
7304 #define Q6_P_vsatwh_P __builtin_HEXAGON_S2_vsatwh_nopack
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 ========================================================================== */
7313 #define Q6_R_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh
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 ========================================================================== */
7322 #define Q6_P_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh_nopack
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 ========================================================================== */
7331 #define Q6_R_vsplatb_R __builtin_HEXAGON_S2_vsplatrb
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 ========================================================================== */
7340 #define Q6_P_vsplath_R __builtin_HEXAGON_S2_vsplatrh
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 ========================================================================== */
7349 #define Q6_P_vspliceb_PPI __builtin_HEXAGON_S2_vspliceib
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 ========================================================================== */
7358 #define Q6_P_vspliceb_PPp __builtin_HEXAGON_S2_vsplicerb
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 ========================================================================== */
7367 #define Q6_P_vsxtbh_R __builtin_HEXAGON_S2_vsxtbh
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 ========================================================================== */
7376 #define Q6_P_vsxthw_R __builtin_HEXAGON_S2_vsxthw
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 ========================================================================== */
7385 #define Q6_R_vtrunehb_P __builtin_HEXAGON_S2_vtrunehb
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 ========================================================================== */
7394 #define Q6_P_vtrunewh_PP __builtin_HEXAGON_S2_vtrunewh
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 ========================================================================== */
7403 #define Q6_R_vtrunohb_P __builtin_HEXAGON_S2_vtrunohb
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 ========================================================================== */
7412 #define Q6_P_vtrunowh_PP __builtin_HEXAGON_S2_vtrunowh
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 ========================================================================== */
7421 #define Q6_P_vzxtbh_R __builtin_HEXAGON_S2_vzxtbh
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 ========================================================================== */
7430 #define Q6_P_vzxthw_R __builtin_HEXAGON_S2_vzxthw
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 ========================================================================== */
7439 #define Q6_R_add_add_RRI __builtin_HEXAGON_S4_addaddi
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 ========================================================================== */
7448 #define Q6_R_add_asl_IRI __builtin_HEXAGON_S4_addi_asl_ri
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 ========================================================================== */
7457 #define Q6_R_add_lsr_IRI __builtin_HEXAGON_S4_addi_lsr_ri
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 ========================================================================== */
7466 #define Q6_R_and_asl_IRI __builtin_HEXAGON_S4_andi_asl_ri
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 ========================================================================== */
7475 #define Q6_R_and_lsr_IRI __builtin_HEXAGON_S4_andi_lsr_ri
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 ========================================================================== */
7484 #define Q6_R_add_clb_RI __builtin_HEXAGON_S4_clbaddi
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 ========================================================================== */
7493 #define Q6_R_add_clb_PI __builtin_HEXAGON_S4_clbpaddi
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 ========================================================================== */
7502 #define Q6_R_normamt_P __builtin_HEXAGON_S4_clbpnorm
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 ========================================================================== */
7511 #define Q6_R_extract_RII __builtin_HEXAGON_S4_extract
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 ========================================================================== */
7520 #define Q6_R_extract_RP __builtin_HEXAGON_S4_extract_rp
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 ========================================================================== */
7529 #define Q6_P_extract_PII __builtin_HEXAGON_S4_extractp
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 ========================================================================== */
7538 #define Q6_P_extract_PP __builtin_HEXAGON_S4_extractp_rp
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 ========================================================================== */
7547 #define Q6_R_lsl_IR __builtin_HEXAGON_S4_lsli
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 ========================================================================== */
7556 #define Q6_p_not_tstbit_RI __builtin_HEXAGON_S4_ntstbit_i
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 ========================================================================== */
7565 #define Q6_p_not_tstbit_RR __builtin_HEXAGON_S4_ntstbit_r
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 ========================================================================== */
7574 #define Q6_R_andor_RI __builtin_HEXAGON_S4_or_andi
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 ========================================================================== */
7583 #define Q6_R_or_and_RRI __builtin_HEXAGON_S4_or_andix
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 ========================================================================== */
7592 #define Q6_R_oror_RI __builtin_HEXAGON_S4_or_ori
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 ========================================================================== */
7601 #define Q6_R_or_asl_IRI __builtin_HEXAGON_S4_ori_asl_ri
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 ========================================================================== */
7610 #define Q6_R_or_lsr_IRI __builtin_HEXAGON_S4_ori_lsr_ri
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 ========================================================================== */
7619 #define Q6_R_parity_RR __builtin_HEXAGON_S4_parity
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 ========================================================================== */
7628 #define Q6_R_add_sub_RIR __builtin_HEXAGON_S4_subaddi
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 ========================================================================== */
7637 #define Q6_R_sub_asl_IRI __builtin_HEXAGON_S4_subi_asl_ri
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 ========================================================================== */
7646 #define Q6_R_sub_lsr_IRI __builtin_HEXAGON_S4_subi_lsr_ri
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 ========================================================================== */
7655 #define Q6_P_vrcrotate_PRI __builtin_HEXAGON_S4_vrcrotate
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 ========================================================================== */
7664 #define Q6_P_vrcrotateacc_PRI __builtin_HEXAGON_S4_vrcrotate_acc
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 ========================================================================== */
7673 #define Q6_P_vxaddsubh_PP_sat __builtin_HEXAGON_S4_vxaddsubh
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 ========================================================================== */
7682 #define Q6_P_vxaddsubh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxaddsubhr
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 ========================================================================== */
7691 #define Q6_P_vxaddsubw_PP_sat __builtin_HEXAGON_S4_vxaddsubw
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 ========================================================================== */
7700 #define Q6_P_vxsubaddh_PP_sat __builtin_HEXAGON_S4_vxsubaddh
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 ========================================================================== */
7709 #define Q6_P_vxsubaddh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxsubaddhr
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 ========================================================================== */
7718 #define Q6_P_vxsubaddw_PP_sat __builtin_HEXAGON_S4_vxsubaddw
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 ========================================================================== */
7727 #define Q6_R_vasrhub_PI_rnd_sat __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax
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 ========================================================================== */
7736 #define Q6_R_vasrhub_PI_sat __builtin_HEXAGON_S5_asrhub_sat
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 ========================================================================== */
7745 #define Q6_R_popcount_P __builtin_HEXAGON_S5_popcountp
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 ========================================================================== */
7754 #define Q6_P_vasrh_PI_rnd __builtin_HEXAGON_S5_vasrhrnd_goodsyntax
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 ========================================================================== */
7763 #define Q6_dccleana_A __builtin_HEXAGON_Y2_dccleana
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 ========================================================================== */
7772 #define Q6_dccleaninva_A __builtin_HEXAGON_Y2_dccleaninva
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 ========================================================================== */
7781 #define Q6_dcfetch_A __builtin_HEXAGON_Y2_dcfetch
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 ========================================================================== */
7790 #define Q6_dcinva_A __builtin_HEXAGON_Y2_dcinva
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 ========================================================================== */
7799 #define Q6_dczeroa_A __builtin_HEXAGON_Y2_dczeroa
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 ========================================================================== */
7808 #define Q6_l2fetch_AR __builtin_HEXAGON_Y4_l2fetch
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 ========================================================================== */
7817 #define Q6_l2fetch_AP __builtin_HEXAGON_Y5_l2fetch
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 ========================================================================== */
7827 #define Q6_P_rol_PI __builtin_HEXAGON_S6_rol_i_p
7828 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7838 #define Q6_P_rolacc_PI __builtin_HEXAGON_S6_rol_i_p_acc
7839 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7849 #define Q6_P_roland_PI __builtin_HEXAGON_S6_rol_i_p_and
7850 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7860 #define Q6_P_rolnac_PI __builtin_HEXAGON_S6_rol_i_p_nac
7861 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7871 #define Q6_P_rolor_PI __builtin_HEXAGON_S6_rol_i_p_or
7872 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7882 #define Q6_P_rolxacc_PI __builtin_HEXAGON_S6_rol_i_p_xacc
7883 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7893 #define Q6_R_rol_RI __builtin_HEXAGON_S6_rol_i_r
7894 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7904 #define Q6_R_rolacc_RI __builtin_HEXAGON_S6_rol_i_r_acc
7905 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7915 #define Q6_R_roland_RI __builtin_HEXAGON_S6_rol_i_r_and
7916 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7926 #define Q6_R_rolnac_RI __builtin_HEXAGON_S6_rol_i_r_nac
7927 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7937 #define Q6_R_rolor_RI __builtin_HEXAGON_S6_rol_i_r_or
7938 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7948 #define Q6_R_rolxacc_RI __builtin_HEXAGON_S6_rol_i_r_xacc
7949 #endif /* __HEXAGON_ARCH___ >= 60 */
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 ========================================================================== */
7959 #define Q6_P_vabsdiffb_PP __builtin_HEXAGON_M6_vabsdiffb
7960 #endif /* __HEXAGON_ARCH___ >= 62 */
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 ========================================================================== */
7970 #define Q6_P_vabsdiffub_PP __builtin_HEXAGON_M6_vabsdiffub
7971 #endif /* __HEXAGON_ARCH___ >= 62 */
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 ========================================================================== */
7981 #define Q6_P_vsplatb_R __builtin_HEXAGON_S6_vsplatrbp
7982 #endif /* __HEXAGON_ARCH___ >= 62 */
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 ========================================================================== */
7992 #define Q6_P_vtrunehb_PP __builtin_HEXAGON_S6_vtrunehb_ppp
7993 #endif /* __HEXAGON_ARCH___ >= 62 */
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 ========================================================================== */
8003 #define Q6_P_vtrunohb_PP __builtin_HEXAGON_S6_vtrunohb_ppp
8004 #endif /* __HEXAGON_ARCH___ >= 62 */
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 ========================================================================== */
8014 #define Q6_p_not_any8_vcmpb_eq_PP __builtin_HEXAGON_A6_vcmpbeq_notany
8015 #endif /* __HEXAGON_ARCH___ >= 65 */
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 ========================================================================== */
8025 #define Q6_P_dfadd_PP __builtin_HEXAGON_F2_dfadd
8026 #endif /* __HEXAGON_ARCH___ >= 66 */
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 ========================================================================== */
8036 #define Q6_P_dfsub_PP __builtin_HEXAGON_F2_dfsub
8037 #endif /* __HEXAGON_ARCH___ >= 66 */
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 ========================================================================== */
8047 #define Q6_R_mpyinac_RR __builtin_HEXAGON_M2_mnaci
8048 #endif /* __HEXAGON_ARCH___ >= 66 */
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 ========================================================================== */
8058 #define Q6_R_mask_II __builtin_HEXAGON_S2_mask
8059 #endif /* __HEXAGON_ARCH___ >= 66 */
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 ========================================================================== */
8069 #define Q6_R_clip_RI __builtin_HEXAGON_A7_clip
8070 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8080 #define Q6_P_cround_PI __builtin_HEXAGON_A7_croundd_ri
8081 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8091 #define Q6_P_cround_PR __builtin_HEXAGON_A7_croundd_rr
8092 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8102 #define Q6_P_vclip_PI __builtin_HEXAGON_A7_vclip
8103 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8113 #define Q6_P_dfmax_PP __builtin_HEXAGON_F2_dfmax
8114 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8124 #define Q6_P_dfmin_PP __builtin_HEXAGON_F2_dfmin
8125 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8135 #define Q6_P_dfmpyfix_PP __builtin_HEXAGON_F2_dfmpyfix
8136 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8146 #define Q6_P_dfmpyhhacc_PP __builtin_HEXAGON_F2_dfmpyhh
8147 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8157 #define Q6_P_dfmpylhacc_PP __builtin_HEXAGON_F2_dfmpylh
8158 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8168 #define Q6_P_dfmpyll_PP __builtin_HEXAGON_F2_dfmpyll
8169 #endif /* __HEXAGON_ARCH___ >= 67 */
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 ========================================================================== */
8179 #define Q6_P_cmpyiw_PP __builtin_HEXAGON_M7_dcmpyiw
8180 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8190 #define Q6_P_cmpyiwacc_PP __builtin_HEXAGON_M7_dcmpyiw_acc
8191 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8201 #define Q6_P_cmpyiw_PP_conj __builtin_HEXAGON_M7_dcmpyiwc
8202 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8212 #define Q6_P_cmpyiwacc_PP_conj __builtin_HEXAGON_M7_dcmpyiwc_acc
8213 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8223 #define Q6_P_cmpyrw_PP __builtin_HEXAGON_M7_dcmpyrw
8224 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8234 #define Q6_P_cmpyrwacc_PP __builtin_HEXAGON_M7_dcmpyrw_acc
8235 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8245 #define Q6_P_cmpyrw_PP_conj __builtin_HEXAGON_M7_dcmpyrwc
8246 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8256 #define Q6_P_cmpyrwacc_PP_conj __builtin_HEXAGON_M7_dcmpyrwc_acc
8257 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8267 #define Q6_P_vdmpyw_PP __builtin_HEXAGON_M7_vdmpy
8268 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8278 #define Q6_P_vdmpywacc_PP __builtin_HEXAGON_M7_vdmpy_acc
8279 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8289 #define Q6_R_cmpyiw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyiw
8290 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8300 #define Q6_R_cmpyiw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiw_rnd
8301 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8311 #define Q6_R_cmpyiw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyiwc
8312 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8322 #define Q6_R_cmpyiw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiwc_rnd
8323 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8333 #define Q6_R_cmpyrw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyrw
8334 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8344 #define Q6_R_cmpyrw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrw_rnd
8345 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8355 #define Q6_R_cmpyrw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyrwc
8356 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8366 #define Q6_R_cmpyrw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrwc_rnd
8367 #endif /* __HEXAGON_ARCH___ >= 67 && defined __HEXAGON_AUDIO__*/
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 ========================================================================== */
8377 #define Q6_dmlink_AA __builtin_HEXAGON_Y6_dmlink
8378 #endif /* __HEXAGON_ARCH___ >= 68 */
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 ========================================================================== */
8388 #define Q6_R_dmpause __builtin_HEXAGON_Y6_dmpause
8389 #endif /* __HEXAGON_ARCH___ >= 68 */
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 ========================================================================== */
8399 #define Q6_R_dmpoll __builtin_HEXAGON_Y6_dmpoll
8400 #endif /* __HEXAGON_ARCH___ >= 68 */
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 ========================================================================== */
8410 #define Q6_dmresume_A __builtin_HEXAGON_Y6_dmresume
8411 #endif /* __HEXAGON_ARCH___ >= 68 */
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 ========================================================================== */
8421 #define Q6_dmstart_A __builtin_HEXAGON_Y6_dmstart
8422 #endif /* __HEXAGON_ARCH___ >= 68 */
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 ========================================================================== */
8432 #define Q6_R_dmwait __builtin_HEXAGON_Y6_dmwait
8433 #endif /* __HEXAGON_ARCH___ >= 68 */
8435 #include <hexagon_circ_brev_intrinsics.h>
8436 #ifdef __HVX__
8437 #include <hvx_hexagon_protos.h>
8438 #endif /* __HVX__ */
8439 #endif