Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===----------------------------------------------------------------------===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. // Automatically generated file, do not edit!
  9. //===----------------------------------------------------------------------===//
  10.  
  11.  
  12.  
  13. #ifndef __HEXAGON_PROTOS_H_
  14. #define __HEXAGON_PROTOS_H_ 1
  15.  
  16. /* ==========================================================================
  17.    Assembly Syntax:       Rd32=abs(Rs32)
  18.    C Intrinsic Prototype: Word32 Q6_R_abs_R(Word32 Rs)
  19.    Instruction Type:      S_2op
  20.    Execution Slots:       SLOT23
  21.    ========================================================================== */
  22.  
  23. #define Q6_R_abs_R __builtin_HEXAGON_A2_abs
  24.  
  25. /* ==========================================================================
  26.    Assembly Syntax:       Rdd32=abs(Rss32)
  27.    C Intrinsic Prototype: Word64 Q6_P_abs_P(Word64 Rss)
  28.    Instruction Type:      S_2op
  29.    Execution Slots:       SLOT23
  30.    ========================================================================== */
  31.  
  32. #define Q6_P_abs_P __builtin_HEXAGON_A2_absp
  33.  
  34. /* ==========================================================================
  35.    Assembly Syntax:       Rd32=abs(Rs32):sat
  36.    C Intrinsic Prototype: Word32 Q6_R_abs_R_sat(Word32 Rs)
  37.    Instruction Type:      S_2op
  38.    Execution Slots:       SLOT23
  39.    ========================================================================== */
  40.  
  41. #define Q6_R_abs_R_sat __builtin_HEXAGON_A2_abssat
  42.  
  43. /* ==========================================================================
  44.    Assembly Syntax:       Rd32=add(Rs32,Rt32)
  45.    C Intrinsic Prototype: Word32 Q6_R_add_RR(Word32 Rs, Word32 Rt)
  46.    Instruction Type:      ALU32_3op
  47.    Execution Slots:       SLOT0123
  48.    ========================================================================== */
  49.  
  50. #define Q6_R_add_RR __builtin_HEXAGON_A2_add
  51.  
  52. /* ==========================================================================
  53.    Assembly Syntax:       Rd32=add(Rt32.h,Rs32.h):<<16
  54.    C Intrinsic Prototype: Word32 Q6_R_add_RhRh_s16(Word32 Rt, Word32 Rs)
  55.    Instruction Type:      ALU64
  56.    Execution Slots:       SLOT23
  57.    ========================================================================== */
  58.  
  59. #define Q6_R_add_RhRh_s16 __builtin_HEXAGON_A2_addh_h16_hh
  60.  
  61. /* ==========================================================================
  62.    Assembly Syntax:       Rd32=add(Rt32.h,Rs32.l):<<16
  63.    C Intrinsic Prototype: Word32 Q6_R_add_RhRl_s16(Word32 Rt, Word32 Rs)
  64.    Instruction Type:      ALU64
  65.    Execution Slots:       SLOT23
  66.    ========================================================================== */
  67.  
  68. #define Q6_R_add_RhRl_s16 __builtin_HEXAGON_A2_addh_h16_hl
  69.  
  70. /* ==========================================================================
  71.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.h):<<16
  72.    C Intrinsic Prototype: Word32 Q6_R_add_RlRh_s16(Word32 Rt, Word32 Rs)
  73.    Instruction Type:      ALU64
  74.    Execution Slots:       SLOT23
  75.    ========================================================================== */
  76.  
  77. #define Q6_R_add_RlRh_s16 __builtin_HEXAGON_A2_addh_h16_lh
  78.  
  79. /* ==========================================================================
  80.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.l):<<16
  81.    C Intrinsic Prototype: Word32 Q6_R_add_RlRl_s16(Word32 Rt, Word32 Rs)
  82.    Instruction Type:      ALU64
  83.    Execution Slots:       SLOT23
  84.    ========================================================================== */
  85.  
  86. #define Q6_R_add_RlRl_s16 __builtin_HEXAGON_A2_addh_h16_ll
  87.  
  88. /* ==========================================================================
  89.    Assembly Syntax:       Rd32=add(Rt32.h,Rs32.h):sat:<<16
  90.    C Intrinsic Prototype: Word32 Q6_R_add_RhRh_sat_s16(Word32 Rt, Word32 Rs)
  91.    Instruction Type:      ALU64
  92.    Execution Slots:       SLOT23
  93.    ========================================================================== */
  94.  
  95. #define Q6_R_add_RhRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hh
  96.  
  97. /* ==========================================================================
  98.    Assembly Syntax:       Rd32=add(Rt32.h,Rs32.l):sat:<<16
  99.    C Intrinsic Prototype: Word32 Q6_R_add_RhRl_sat_s16(Word32 Rt, Word32 Rs)
  100.    Instruction Type:      ALU64
  101.    Execution Slots:       SLOT23
  102.    ========================================================================== */
  103.  
  104. #define Q6_R_add_RhRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_hl
  105.  
  106. /* ==========================================================================
  107.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.h):sat:<<16
  108.    C Intrinsic Prototype: Word32 Q6_R_add_RlRh_sat_s16(Word32 Rt, Word32 Rs)
  109.    Instruction Type:      ALU64
  110.    Execution Slots:       SLOT23
  111.    ========================================================================== */
  112.  
  113. #define Q6_R_add_RlRh_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_lh
  114.  
  115. /* ==========================================================================
  116.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.l):sat:<<16
  117.    C Intrinsic Prototype: Word32 Q6_R_add_RlRl_sat_s16(Word32 Rt, Word32 Rs)
  118.    Instruction Type:      ALU64
  119.    Execution Slots:       SLOT23
  120.    ========================================================================== */
  121.  
  122. #define Q6_R_add_RlRl_sat_s16 __builtin_HEXAGON_A2_addh_h16_sat_ll
  123.  
  124. /* ==========================================================================
  125.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.h)
  126.    C Intrinsic Prototype: Word32 Q6_R_add_RlRh(Word32 Rt, Word32 Rs)
  127.    Instruction Type:      ALU64
  128.    Execution Slots:       SLOT23
  129.    ========================================================================== */
  130.  
  131. #define Q6_R_add_RlRh __builtin_HEXAGON_A2_addh_l16_hl
  132.  
  133. /* ==========================================================================
  134.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.l)
  135.    C Intrinsic Prototype: Word32 Q6_R_add_RlRl(Word32 Rt, Word32 Rs)
  136.    Instruction Type:      ALU64
  137.    Execution Slots:       SLOT23
  138.    ========================================================================== */
  139.  
  140. #define Q6_R_add_RlRl __builtin_HEXAGON_A2_addh_l16_ll
  141.  
  142. /* ==========================================================================
  143.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.h):sat
  144.    C Intrinsic Prototype: Word32 Q6_R_add_RlRh_sat(Word32 Rt, Word32 Rs)
  145.    Instruction Type:      ALU64
  146.    Execution Slots:       SLOT23
  147.    ========================================================================== */
  148.  
  149. #define Q6_R_add_RlRh_sat __builtin_HEXAGON_A2_addh_l16_sat_hl
  150.  
  151. /* ==========================================================================
  152.    Assembly Syntax:       Rd32=add(Rt32.l,Rs32.l):sat
  153.    C Intrinsic Prototype: Word32 Q6_R_add_RlRl_sat(Word32 Rt, Word32 Rs)
  154.    Instruction Type:      ALU64
  155.    Execution Slots:       SLOT23
  156.    ========================================================================== */
  157.  
  158. #define Q6_R_add_RlRl_sat __builtin_HEXAGON_A2_addh_l16_sat_ll
  159.  
  160. /* ==========================================================================
  161.    Assembly Syntax:       Rd32=add(Rs32,#s16)
  162.    C Intrinsic Prototype: Word32 Q6_R_add_RI(Word32 Rs, Word32 Is16)
  163.    Instruction Type:      ALU32_ADDI
  164.    Execution Slots:       SLOT0123
  165.    ========================================================================== */
  166.  
  167. #define Q6_R_add_RI __builtin_HEXAGON_A2_addi
  168.  
  169. /* ==========================================================================
  170.    Assembly Syntax:       Rdd32=add(Rss32,Rtt32)
  171.    C Intrinsic Prototype: Word64 Q6_P_add_PP(Word64 Rss, Word64 Rtt)
  172.    Instruction Type:      ALU64
  173.    Execution Slots:       SLOT23
  174.    ========================================================================== */
  175.  
  176. #define Q6_P_add_PP __builtin_HEXAGON_A2_addp
  177.  
  178. /* ==========================================================================
  179.    Assembly Syntax:       Rdd32=add(Rss32,Rtt32):sat
  180.    C Intrinsic Prototype: Word64 Q6_P_add_PP_sat(Word64 Rss, Word64 Rtt)
  181.    Instruction Type:      ALU64
  182.    Execution Slots:       SLOT23
  183.    ========================================================================== */
  184.  
  185. #define Q6_P_add_PP_sat __builtin_HEXAGON_A2_addpsat
  186.  
  187. /* ==========================================================================
  188.    Assembly Syntax:       Rd32=add(Rs32,Rt32):sat
  189.    C Intrinsic Prototype: Word32 Q6_R_add_RR_sat(Word32 Rs, Word32 Rt)
  190.    Instruction Type:      ALU32_3op
  191.    Execution Slots:       SLOT0123
  192.    ========================================================================== */
  193.  
  194. #define Q6_R_add_RR_sat __builtin_HEXAGON_A2_addsat
  195.  
  196. /* ==========================================================================
  197.    Assembly Syntax:       Rdd32=add(Rs32,Rtt32)
  198.    C Intrinsic Prototype: Word64 Q6_P_add_RP(Word32 Rs, Word64 Rtt)
  199.    Instruction Type:      ALU64
  200.    Execution Slots:       SLOT0123
  201.    ========================================================================== */
  202.  
  203. #define Q6_P_add_RP __builtin_HEXAGON_A2_addsp
  204.  
  205. /* ==========================================================================
  206.    Assembly Syntax:       Rd32=and(Rs32,Rt32)
  207.    C Intrinsic Prototype: Word32 Q6_R_and_RR(Word32 Rs, Word32 Rt)
  208.    Instruction Type:      ALU32_3op
  209.    Execution Slots:       SLOT0123
  210.    ========================================================================== */
  211.  
  212. #define Q6_R_and_RR __builtin_HEXAGON_A2_and
  213.  
  214. /* ==========================================================================
  215.    Assembly Syntax:       Rd32=and(Rs32,#s10)
  216.    C Intrinsic Prototype: Word32 Q6_R_and_RI(Word32 Rs, Word32 Is10)
  217.    Instruction Type:      ALU32_2op
  218.    Execution Slots:       SLOT0123
  219.    ========================================================================== */
  220.  
  221. #define Q6_R_and_RI __builtin_HEXAGON_A2_andir
  222.  
  223. /* ==========================================================================
  224.    Assembly Syntax:       Rdd32=and(Rss32,Rtt32)
  225.    C Intrinsic Prototype: Word64 Q6_P_and_PP(Word64 Rss, Word64 Rtt)
  226.    Instruction Type:      ALU64
  227.    Execution Slots:       SLOT23
  228.    ========================================================================== */
  229.  
  230. #define Q6_P_and_PP __builtin_HEXAGON_A2_andp
  231.  
  232. /* ==========================================================================
  233.    Assembly Syntax:       Rd32=aslh(Rs32)
  234.    C Intrinsic Prototype: Word32 Q6_R_aslh_R(Word32 Rs)
  235.    Instruction Type:      ALU32_2op
  236.    Execution Slots:       SLOT0123
  237.    ========================================================================== */
  238.  
  239. #define Q6_R_aslh_R __builtin_HEXAGON_A2_aslh
  240.  
  241. /* ==========================================================================
  242.    Assembly Syntax:       Rd32=asrh(Rs32)
  243.    C Intrinsic Prototype: Word32 Q6_R_asrh_R(Word32 Rs)
  244.    Instruction Type:      ALU32_2op
  245.    Execution Slots:       SLOT0123
  246.    ========================================================================== */
  247.  
  248. #define Q6_R_asrh_R __builtin_HEXAGON_A2_asrh
  249.  
  250. /* ==========================================================================
  251.    Assembly Syntax:       Rd32=combine(Rt32.h,Rs32.h)
  252.    C Intrinsic Prototype: Word32 Q6_R_combine_RhRh(Word32 Rt, Word32 Rs)
  253.    Instruction Type:      ALU32_3op
  254.    Execution Slots:       SLOT0123
  255.    ========================================================================== */
  256.  
  257. #define Q6_R_combine_RhRh __builtin_HEXAGON_A2_combine_hh
  258.  
  259. /* ==========================================================================
  260.    Assembly Syntax:       Rd32=combine(Rt32.h,Rs32.l)
  261.    C Intrinsic Prototype: Word32 Q6_R_combine_RhRl(Word32 Rt, Word32 Rs)
  262.    Instruction Type:      ALU32_3op
  263.    Execution Slots:       SLOT0123
  264.    ========================================================================== */
  265.  
  266. #define Q6_R_combine_RhRl __builtin_HEXAGON_A2_combine_hl
  267.  
  268. /* ==========================================================================
  269.    Assembly Syntax:       Rd32=combine(Rt32.l,Rs32.h)
  270.    C Intrinsic Prototype: Word32 Q6_R_combine_RlRh(Word32 Rt, Word32 Rs)
  271.    Instruction Type:      ALU32_3op
  272.    Execution Slots:       SLOT0123
  273.    ========================================================================== */
  274.  
  275. #define Q6_R_combine_RlRh __builtin_HEXAGON_A2_combine_lh
  276.  
  277. /* ==========================================================================
  278.    Assembly Syntax:       Rd32=combine(Rt32.l,Rs32.l)
  279.    C Intrinsic Prototype: Word32 Q6_R_combine_RlRl(Word32 Rt, Word32 Rs)
  280.    Instruction Type:      ALU32_3op
  281.    Execution Slots:       SLOT0123
  282.    ========================================================================== */
  283.  
  284. #define Q6_R_combine_RlRl __builtin_HEXAGON_A2_combine_ll
  285.  
  286. /* ==========================================================================
  287.    Assembly Syntax:       Rdd32=combine(#s8,#S8)
  288.    C Intrinsic Prototype: Word64 Q6_P_combine_II(Word32 Is8, Word32 IS8)
  289.    Instruction Type:      ALU32_2op
  290.    Execution Slots:       SLOT0123
  291.    ========================================================================== */
  292.  
  293. #define Q6_P_combine_II __builtin_HEXAGON_A2_combineii
  294.  
  295. /* ==========================================================================
  296.    Assembly Syntax:       Rdd32=combine(Rs32,Rt32)
  297.    C Intrinsic Prototype: Word64 Q6_P_combine_RR(Word32 Rs, Word32 Rt)
  298.    Instruction Type:      ALU32_3op
  299.    Execution Slots:       SLOT0123
  300.    ========================================================================== */
  301.  
  302. #define Q6_P_combine_RR __builtin_HEXAGON_A2_combinew
  303.  
  304. /* ==========================================================================
  305.    Assembly Syntax:       Rd32=max(Rs32,Rt32)
  306.    C Intrinsic Prototype: Word32 Q6_R_max_RR(Word32 Rs, Word32 Rt)
  307.    Instruction Type:      ALU64
  308.    Execution Slots:       SLOT23
  309.    ========================================================================== */
  310.  
  311. #define Q6_R_max_RR __builtin_HEXAGON_A2_max
  312.  
  313. /* ==========================================================================
  314.    Assembly Syntax:       Rdd32=max(Rss32,Rtt32)
  315.    C Intrinsic Prototype: Word64 Q6_P_max_PP(Word64 Rss, Word64 Rtt)
  316.    Instruction Type:      ALU64
  317.    Execution Slots:       SLOT23
  318.    ========================================================================== */
  319.  
  320. #define Q6_P_max_PP __builtin_HEXAGON_A2_maxp
  321.  
  322. /* ==========================================================================
  323.    Assembly Syntax:       Rd32=maxu(Rs32,Rt32)
  324.    C Intrinsic Prototype: UWord32 Q6_R_maxu_RR(Word32 Rs, Word32 Rt)
  325.    Instruction Type:      ALU64
  326.    Execution Slots:       SLOT23
  327.    ========================================================================== */
  328.  
  329. #define Q6_R_maxu_RR __builtin_HEXAGON_A2_maxu
  330.  
  331. /* ==========================================================================
  332.    Assembly Syntax:       Rdd32=maxu(Rss32,Rtt32)
  333.    C Intrinsic Prototype: UWord64 Q6_P_maxu_PP(Word64 Rss, Word64 Rtt)
  334.    Instruction Type:      ALU64
  335.    Execution Slots:       SLOT23
  336.    ========================================================================== */
  337.  
  338. #define Q6_P_maxu_PP __builtin_HEXAGON_A2_maxup
  339.  
  340. /* ==========================================================================
  341.    Assembly Syntax:       Rd32=min(Rt32,Rs32)
  342.    C Intrinsic Prototype: Word32 Q6_R_min_RR(Word32 Rt, Word32 Rs)
  343.    Instruction Type:      ALU64
  344.    Execution Slots:       SLOT23
  345.    ========================================================================== */
  346.  
  347. #define Q6_R_min_RR __builtin_HEXAGON_A2_min
  348.  
  349. /* ==========================================================================
  350.    Assembly Syntax:       Rdd32=min(Rtt32,Rss32)
  351.    C Intrinsic Prototype: Word64 Q6_P_min_PP(Word64 Rtt, Word64 Rss)
  352.    Instruction Type:      ALU64
  353.    Execution Slots:       SLOT23
  354.    ========================================================================== */
  355.  
  356. #define Q6_P_min_PP __builtin_HEXAGON_A2_minp
  357.  
  358. /* ==========================================================================
  359.    Assembly Syntax:       Rd32=minu(Rt32,Rs32)
  360.    C Intrinsic Prototype: UWord32 Q6_R_minu_RR(Word32 Rt, Word32 Rs)
  361.    Instruction Type:      ALU64
  362.    Execution Slots:       SLOT23
  363.    ========================================================================== */
  364.  
  365. #define Q6_R_minu_RR __builtin_HEXAGON_A2_minu
  366.  
  367. /* ==========================================================================
  368.    Assembly Syntax:       Rdd32=minu(Rtt32,Rss32)
  369.    C Intrinsic Prototype: UWord64 Q6_P_minu_PP(Word64 Rtt, Word64 Rss)
  370.    Instruction Type:      ALU64
  371.    Execution Slots:       SLOT23
  372.    ========================================================================== */
  373.  
  374. #define Q6_P_minu_PP __builtin_HEXAGON_A2_minup
  375.  
  376. /* ==========================================================================
  377.    Assembly Syntax:       Rd32=neg(Rs32)
  378.    C Intrinsic Prototype: Word32 Q6_R_neg_R(Word32 Rs)
  379.    Instruction Type:      ALU32_2op
  380.    Execution Slots:       SLOT0123
  381.    ========================================================================== */
  382.  
  383. #define Q6_R_neg_R __builtin_HEXAGON_A2_neg
  384.  
  385. /* ==========================================================================
  386.    Assembly Syntax:       Rdd32=neg(Rss32)
  387.    C Intrinsic Prototype: Word64 Q6_P_neg_P(Word64 Rss)
  388.    Instruction Type:      S_2op
  389.    Execution Slots:       SLOT23
  390.    ========================================================================== */
  391.  
  392. #define Q6_P_neg_P __builtin_HEXAGON_A2_negp
  393.  
  394. /* ==========================================================================
  395.    Assembly Syntax:       Rd32=neg(Rs32):sat
  396.    C Intrinsic Prototype: Word32 Q6_R_neg_R_sat(Word32 Rs)
  397.    Instruction Type:      S_2op
  398.    Execution Slots:       SLOT23
  399.    ========================================================================== */
  400.  
  401. #define Q6_R_neg_R_sat __builtin_HEXAGON_A2_negsat
  402.  
  403. /* ==========================================================================
  404.    Assembly Syntax:       Rd32=not(Rs32)
  405.    C Intrinsic Prototype: Word32 Q6_R_not_R(Word32 Rs)
  406.    Instruction Type:      ALU32_2op
  407.    Execution Slots:       SLOT0123
  408.    ========================================================================== */
  409.  
  410. #define Q6_R_not_R __builtin_HEXAGON_A2_not
  411.  
  412. /* ==========================================================================
  413.    Assembly Syntax:       Rdd32=not(Rss32)
  414.    C Intrinsic Prototype: Word64 Q6_P_not_P(Word64 Rss)
  415.    Instruction Type:      S_2op
  416.    Execution Slots:       SLOT23
  417.    ========================================================================== */
  418.  
  419. #define Q6_P_not_P __builtin_HEXAGON_A2_notp
  420.  
  421. /* ==========================================================================
  422.    Assembly Syntax:       Rd32=or(Rs32,Rt32)
  423.    C Intrinsic Prototype: Word32 Q6_R_or_RR(Word32 Rs, Word32 Rt)
  424.    Instruction Type:      ALU32_3op
  425.    Execution Slots:       SLOT0123
  426.    ========================================================================== */
  427.  
  428. #define Q6_R_or_RR __builtin_HEXAGON_A2_or
  429.  
  430. /* ==========================================================================
  431.    Assembly Syntax:       Rd32=or(Rs32,#s10)
  432.    C Intrinsic Prototype: Word32 Q6_R_or_RI(Word32 Rs, Word32 Is10)
  433.    Instruction Type:      ALU32_2op
  434.    Execution Slots:       SLOT0123
  435.    ========================================================================== */
  436.  
  437. #define Q6_R_or_RI __builtin_HEXAGON_A2_orir
  438.  
  439. /* ==========================================================================
  440.    Assembly Syntax:       Rdd32=or(Rss32,Rtt32)
  441.    C Intrinsic Prototype: Word64 Q6_P_or_PP(Word64 Rss, Word64 Rtt)
  442.    Instruction Type:      ALU64
  443.    Execution Slots:       SLOT23
  444.    ========================================================================== */
  445.  
  446. #define Q6_P_or_PP __builtin_HEXAGON_A2_orp
  447.  
  448. /* ==========================================================================
  449.    Assembly Syntax:       Rd32=round(Rss32):sat
  450.    C Intrinsic Prototype: Word32 Q6_R_round_P_sat(Word64 Rss)
  451.    Instruction Type:      S_2op
  452.    Execution Slots:       SLOT23
  453.    ========================================================================== */
  454.  
  455. #define Q6_R_round_P_sat __builtin_HEXAGON_A2_roundsat
  456.  
  457. /* ==========================================================================
  458.    Assembly Syntax:       Rd32=sat(Rss32)
  459.    C Intrinsic Prototype: Word32 Q6_R_sat_P(Word64 Rss)
  460.    Instruction Type:      S_2op
  461.    Execution Slots:       SLOT23
  462.    ========================================================================== */
  463.  
  464. #define Q6_R_sat_P __builtin_HEXAGON_A2_sat
  465.  
  466. /* ==========================================================================
  467.    Assembly Syntax:       Rd32=satb(Rs32)
  468.    C Intrinsic Prototype: Word32 Q6_R_satb_R(Word32 Rs)
  469.    Instruction Type:      S_2op
  470.    Execution Slots:       SLOT23
  471.    ========================================================================== */
  472.  
  473. #define Q6_R_satb_R __builtin_HEXAGON_A2_satb
  474.  
  475. /* ==========================================================================
  476.    Assembly Syntax:       Rd32=sath(Rs32)
  477.    C Intrinsic Prototype: Word32 Q6_R_sath_R(Word32 Rs)
  478.    Instruction Type:      S_2op
  479.    Execution Slots:       SLOT23
  480.    ========================================================================== */
  481.  
  482. #define Q6_R_sath_R __builtin_HEXAGON_A2_sath
  483.  
  484. /* ==========================================================================
  485.    Assembly Syntax:       Rd32=satub(Rs32)
  486.    C Intrinsic Prototype: Word32 Q6_R_satub_R(Word32 Rs)
  487.    Instruction Type:      S_2op
  488.    Execution Slots:       SLOT23
  489.    ========================================================================== */
  490.  
  491. #define Q6_R_satub_R __builtin_HEXAGON_A2_satub
  492.  
  493. /* ==========================================================================
  494.    Assembly Syntax:       Rd32=satuh(Rs32)
  495.    C Intrinsic Prototype: Word32 Q6_R_satuh_R(Word32 Rs)
  496.    Instruction Type:      S_2op
  497.    Execution Slots:       SLOT23
  498.    ========================================================================== */
  499.  
  500. #define Q6_R_satuh_R __builtin_HEXAGON_A2_satuh
  501.  
  502. /* ==========================================================================
  503.    Assembly Syntax:       Rd32=sub(Rt32,Rs32)
  504.    C Intrinsic Prototype: Word32 Q6_R_sub_RR(Word32 Rt, Word32 Rs)
  505.    Instruction Type:      ALU32_3op
  506.    Execution Slots:       SLOT0123
  507.    ========================================================================== */
  508.  
  509. #define Q6_R_sub_RR __builtin_HEXAGON_A2_sub
  510.  
  511. /* ==========================================================================
  512.    Assembly Syntax:       Rd32=sub(Rt32.h,Rs32.h):<<16
  513.    C Intrinsic Prototype: Word32 Q6_R_sub_RhRh_s16(Word32 Rt, Word32 Rs)
  514.    Instruction Type:      ALU64
  515.    Execution Slots:       SLOT23
  516.    ========================================================================== */
  517.  
  518. #define Q6_R_sub_RhRh_s16 __builtin_HEXAGON_A2_subh_h16_hh
  519.  
  520. /* ==========================================================================
  521.    Assembly Syntax:       Rd32=sub(Rt32.h,Rs32.l):<<16
  522.    C Intrinsic Prototype: Word32 Q6_R_sub_RhRl_s16(Word32 Rt, Word32 Rs)
  523.    Instruction Type:      ALU64
  524.    Execution Slots:       SLOT23
  525.    ========================================================================== */
  526.  
  527. #define Q6_R_sub_RhRl_s16 __builtin_HEXAGON_A2_subh_h16_hl
  528.  
  529. /* ==========================================================================
  530.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.h):<<16
  531.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_s16(Word32 Rt, Word32 Rs)
  532.    Instruction Type:      ALU64
  533.    Execution Slots:       SLOT23
  534.    ========================================================================== */
  535.  
  536. #define Q6_R_sub_RlRh_s16 __builtin_HEXAGON_A2_subh_h16_lh
  537.  
  538. /* ==========================================================================
  539.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.l):<<16
  540.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_s16(Word32 Rt, Word32 Rs)
  541.    Instruction Type:      ALU64
  542.    Execution Slots:       SLOT23
  543.    ========================================================================== */
  544.  
  545. #define Q6_R_sub_RlRl_s16 __builtin_HEXAGON_A2_subh_h16_ll
  546.  
  547. /* ==========================================================================
  548.    Assembly Syntax:       Rd32=sub(Rt32.h,Rs32.h):sat:<<16
  549.    C Intrinsic Prototype: Word32 Q6_R_sub_RhRh_sat_s16(Word32 Rt, Word32 Rs)
  550.    Instruction Type:      ALU64
  551.    Execution Slots:       SLOT23
  552.    ========================================================================== */
  553.  
  554. #define Q6_R_sub_RhRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hh
  555.  
  556. /* ==========================================================================
  557.    Assembly Syntax:       Rd32=sub(Rt32.h,Rs32.l):sat:<<16
  558.    C Intrinsic Prototype: Word32 Q6_R_sub_RhRl_sat_s16(Word32 Rt, Word32 Rs)
  559.    Instruction Type:      ALU64
  560.    Execution Slots:       SLOT23
  561.    ========================================================================== */
  562.  
  563. #define Q6_R_sub_RhRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_hl
  564.  
  565. /* ==========================================================================
  566.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.h):sat:<<16
  567.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_sat_s16(Word32 Rt, Word32 Rs)
  568.    Instruction Type:      ALU64
  569.    Execution Slots:       SLOT23
  570.    ========================================================================== */
  571.  
  572. #define Q6_R_sub_RlRh_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_lh
  573.  
  574. /* ==========================================================================
  575.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.l):sat:<<16
  576.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_sat_s16(Word32 Rt, Word32 Rs)
  577.    Instruction Type:      ALU64
  578.    Execution Slots:       SLOT23
  579.    ========================================================================== */
  580.  
  581. #define Q6_R_sub_RlRl_sat_s16 __builtin_HEXAGON_A2_subh_h16_sat_ll
  582.  
  583. /* ==========================================================================
  584.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.h)
  585.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRh(Word32 Rt, Word32 Rs)
  586.    Instruction Type:      ALU64
  587.    Execution Slots:       SLOT23
  588.    ========================================================================== */
  589.  
  590. #define Q6_R_sub_RlRh __builtin_HEXAGON_A2_subh_l16_hl
  591.  
  592. /* ==========================================================================
  593.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.l)
  594.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRl(Word32 Rt, Word32 Rs)
  595.    Instruction Type:      ALU64
  596.    Execution Slots:       SLOT23
  597.    ========================================================================== */
  598.  
  599. #define Q6_R_sub_RlRl __builtin_HEXAGON_A2_subh_l16_ll
  600.  
  601. /* ==========================================================================
  602.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.h):sat
  603.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRh_sat(Word32 Rt, Word32 Rs)
  604.    Instruction Type:      ALU64
  605.    Execution Slots:       SLOT23
  606.    ========================================================================== */
  607.  
  608. #define Q6_R_sub_RlRh_sat __builtin_HEXAGON_A2_subh_l16_sat_hl
  609.  
  610. /* ==========================================================================
  611.    Assembly Syntax:       Rd32=sub(Rt32.l,Rs32.l):sat
  612.    C Intrinsic Prototype: Word32 Q6_R_sub_RlRl_sat(Word32 Rt, Word32 Rs)
  613.    Instruction Type:      ALU64
  614.    Execution Slots:       SLOT23
  615.    ========================================================================== */
  616.  
  617. #define Q6_R_sub_RlRl_sat __builtin_HEXAGON_A2_subh_l16_sat_ll
  618.  
  619. /* ==========================================================================
  620.    Assembly Syntax:       Rdd32=sub(Rtt32,Rss32)
  621.    C Intrinsic Prototype: Word64 Q6_P_sub_PP(Word64 Rtt, Word64 Rss)
  622.    Instruction Type:      ALU64
  623.    Execution Slots:       SLOT23
  624.    ========================================================================== */
  625.  
  626. #define Q6_P_sub_PP __builtin_HEXAGON_A2_subp
  627.  
  628. /* ==========================================================================
  629.    Assembly Syntax:       Rd32=sub(#s10,Rs32)
  630.    C Intrinsic Prototype: Word32 Q6_R_sub_IR(Word32 Is10, Word32 Rs)
  631.    Instruction Type:      ALU32_2op
  632.    Execution Slots:       SLOT0123
  633.    ========================================================================== */
  634.  
  635. #define Q6_R_sub_IR __builtin_HEXAGON_A2_subri
  636.  
  637. /* ==========================================================================
  638.    Assembly Syntax:       Rd32=sub(Rt32,Rs32):sat
  639.    C Intrinsic Prototype: Word32 Q6_R_sub_RR_sat(Word32 Rt, Word32 Rs)
  640.    Instruction Type:      ALU32_3op
  641.    Execution Slots:       SLOT0123
  642.    ========================================================================== */
  643.  
  644. #define Q6_R_sub_RR_sat __builtin_HEXAGON_A2_subsat
  645.  
  646. /* ==========================================================================
  647.    Assembly Syntax:       Rd32=vaddh(Rs32,Rt32)
  648.    C Intrinsic Prototype: Word32 Q6_R_vaddh_RR(Word32 Rs, Word32 Rt)
  649.    Instruction Type:      ALU32_3op
  650.    Execution Slots:       SLOT0123
  651.    ========================================================================== */
  652.  
  653. #define Q6_R_vaddh_RR __builtin_HEXAGON_A2_svaddh
  654.  
  655. /* ==========================================================================
  656.    Assembly Syntax:       Rd32=vaddh(Rs32,Rt32):sat
  657.    C Intrinsic Prototype: Word32 Q6_R_vaddh_RR_sat(Word32 Rs, Word32 Rt)
  658.    Instruction Type:      ALU32_3op
  659.    Execution Slots:       SLOT0123
  660.    ========================================================================== */
  661.  
  662. #define Q6_R_vaddh_RR_sat __builtin_HEXAGON_A2_svaddhs
  663.  
  664. /* ==========================================================================
  665.    Assembly Syntax:       Rd32=vadduh(Rs32,Rt32):sat
  666.    C Intrinsic Prototype: Word32 Q6_R_vadduh_RR_sat(Word32 Rs, Word32 Rt)
  667.    Instruction Type:      ALU32_3op
  668.    Execution Slots:       SLOT0123
  669.    ========================================================================== */
  670.  
  671. #define Q6_R_vadduh_RR_sat __builtin_HEXAGON_A2_svadduhs
  672.  
  673. /* ==========================================================================
  674.    Assembly Syntax:       Rd32=vavgh(Rs32,Rt32)
  675.    C Intrinsic Prototype: Word32 Q6_R_vavgh_RR(Word32 Rs, Word32 Rt)
  676.    Instruction Type:      ALU32_3op
  677.    Execution Slots:       SLOT0123
  678.    ========================================================================== */
  679.  
  680. #define Q6_R_vavgh_RR __builtin_HEXAGON_A2_svavgh
  681.  
  682. /* ==========================================================================
  683.    Assembly Syntax:       Rd32=vavgh(Rs32,Rt32):rnd
  684.    C Intrinsic Prototype: Word32 Q6_R_vavgh_RR_rnd(Word32 Rs, Word32 Rt)
  685.    Instruction Type:      ALU32_3op
  686.    Execution Slots:       SLOT0123
  687.    ========================================================================== */
  688.  
  689. #define Q6_R_vavgh_RR_rnd __builtin_HEXAGON_A2_svavghs
  690.  
  691. /* ==========================================================================
  692.    Assembly Syntax:       Rd32=vnavgh(Rt32,Rs32)
  693.    C Intrinsic Prototype: Word32 Q6_R_vnavgh_RR(Word32 Rt, Word32 Rs)
  694.    Instruction Type:      ALU32_3op
  695.    Execution Slots:       SLOT0123
  696.    ========================================================================== */
  697.  
  698. #define Q6_R_vnavgh_RR __builtin_HEXAGON_A2_svnavgh
  699.  
  700. /* ==========================================================================
  701.    Assembly Syntax:       Rd32=vsubh(Rt32,Rs32)
  702.    C Intrinsic Prototype: Word32 Q6_R_vsubh_RR(Word32 Rt, Word32 Rs)
  703.    Instruction Type:      ALU32_3op
  704.    Execution Slots:       SLOT0123
  705.    ========================================================================== */
  706.  
  707. #define Q6_R_vsubh_RR __builtin_HEXAGON_A2_svsubh
  708.  
  709. /* ==========================================================================
  710.    Assembly Syntax:       Rd32=vsubh(Rt32,Rs32):sat
  711.    C Intrinsic Prototype: Word32 Q6_R_vsubh_RR_sat(Word32 Rt, Word32 Rs)
  712.    Instruction Type:      ALU32_3op
  713.    Execution Slots:       SLOT0123
  714.    ========================================================================== */
  715.  
  716. #define Q6_R_vsubh_RR_sat __builtin_HEXAGON_A2_svsubhs
  717.  
  718. /* ==========================================================================
  719.    Assembly Syntax:       Rd32=vsubuh(Rt32,Rs32):sat
  720.    C Intrinsic Prototype: Word32 Q6_R_vsubuh_RR_sat(Word32 Rt, Word32 Rs)
  721.    Instruction Type:      ALU32_3op
  722.    Execution Slots:       SLOT0123
  723.    ========================================================================== */
  724.  
  725. #define Q6_R_vsubuh_RR_sat __builtin_HEXAGON_A2_svsubuhs
  726.  
  727. /* ==========================================================================
  728.    Assembly Syntax:       Rd32=swiz(Rs32)
  729.    C Intrinsic Prototype: Word32 Q6_R_swiz_R(Word32 Rs)
  730.    Instruction Type:      S_2op
  731.    Execution Slots:       SLOT23
  732.    ========================================================================== */
  733.  
  734. #define Q6_R_swiz_R __builtin_HEXAGON_A2_swiz
  735.  
  736. /* ==========================================================================
  737.    Assembly Syntax:       Rd32=sxtb(Rs32)
  738.    C Intrinsic Prototype: Word32 Q6_R_sxtb_R(Word32 Rs)
  739.    Instruction Type:      ALU32_2op
  740.    Execution Slots:       SLOT0123
  741.    ========================================================================== */
  742.  
  743. #define Q6_R_sxtb_R __builtin_HEXAGON_A2_sxtb
  744.  
  745. /* ==========================================================================
  746.    Assembly Syntax:       Rd32=sxth(Rs32)
  747.    C Intrinsic Prototype: Word32 Q6_R_sxth_R(Word32 Rs)
  748.    Instruction Type:      ALU32_2op
  749.    Execution Slots:       SLOT0123
  750.    ========================================================================== */
  751.  
  752. #define Q6_R_sxth_R __builtin_HEXAGON_A2_sxth
  753.  
  754. /* ==========================================================================
  755.    Assembly Syntax:       Rdd32=sxtw(Rs32)
  756.    C Intrinsic Prototype: Word64 Q6_P_sxtw_R(Word32 Rs)
  757.    Instruction Type:      S_2op
  758.    Execution Slots:       SLOT23
  759.    ========================================================================== */
  760.  
  761. #define Q6_P_sxtw_R __builtin_HEXAGON_A2_sxtw
  762.  
  763. /* ==========================================================================
  764.    Assembly Syntax:       Rd32=Rs32
  765.    C Intrinsic Prototype: Word32 Q6_R_equals_R(Word32 Rs)
  766.    Instruction Type:      ALU32_2op
  767.    Execution Slots:       SLOT0123
  768.    ========================================================================== */
  769.  
  770. #define Q6_R_equals_R __builtin_HEXAGON_A2_tfr
  771.  
  772. /* ==========================================================================
  773.    Assembly Syntax:       Rx32.h=#u16
  774.    C Intrinsic Prototype: Word32 Q6_Rh_equals_I(Word32 Rx, Word32 Iu16)
  775.    Instruction Type:      ALU32_2op
  776.    Execution Slots:       SLOT0123
  777.    ========================================================================== */
  778.  
  779. #define Q6_Rh_equals_I __builtin_HEXAGON_A2_tfrih
  780.  
  781. /* ==========================================================================
  782.    Assembly Syntax:       Rx32.l=#u16
  783.    C Intrinsic Prototype: Word32 Q6_Rl_equals_I(Word32 Rx, Word32 Iu16)
  784.    Instruction Type:      ALU32_2op
  785.    Execution Slots:       SLOT0123
  786.    ========================================================================== */
  787.  
  788. #define Q6_Rl_equals_I __builtin_HEXAGON_A2_tfril
  789.  
  790. /* ==========================================================================
  791.    Assembly Syntax:       Rdd32=Rss32
  792.    C Intrinsic Prototype: Word64 Q6_P_equals_P(Word64 Rss)
  793.    Instruction Type:      ALU32_2op
  794.    Execution Slots:       SLOT0123
  795.    ========================================================================== */
  796.  
  797. #define Q6_P_equals_P __builtin_HEXAGON_A2_tfrp
  798.  
  799. /* ==========================================================================
  800.    Assembly Syntax:       Rdd32=#s8
  801.    C Intrinsic Prototype: Word64 Q6_P_equals_I(Word32 Is8)
  802.    Instruction Type:      ALU64
  803.    Execution Slots:       SLOT0123
  804.    ========================================================================== */
  805.  
  806. #define Q6_P_equals_I __builtin_HEXAGON_A2_tfrpi
  807.  
  808. /* ==========================================================================
  809.    Assembly Syntax:       Rd32=#s16
  810.    C Intrinsic Prototype: Word32 Q6_R_equals_I(Word32 Is16)
  811.    Instruction Type:      ALU32_2op
  812.    Execution Slots:       SLOT0123
  813.    ========================================================================== */
  814.  
  815. #define Q6_R_equals_I __builtin_HEXAGON_A2_tfrsi
  816.  
  817. /* ==========================================================================
  818.    Assembly Syntax:       Rdd32=vabsh(Rss32)
  819.    C Intrinsic Prototype: Word64 Q6_P_vabsh_P(Word64 Rss)
  820.    Instruction Type:      S_2op
  821.    Execution Slots:       SLOT23
  822.    ========================================================================== */
  823.  
  824. #define Q6_P_vabsh_P __builtin_HEXAGON_A2_vabsh
  825.  
  826. /* ==========================================================================
  827.    Assembly Syntax:       Rdd32=vabsh(Rss32):sat
  828.    C Intrinsic Prototype: Word64 Q6_P_vabsh_P_sat(Word64 Rss)
  829.    Instruction Type:      S_2op
  830.    Execution Slots:       SLOT23
  831.    ========================================================================== */
  832.  
  833. #define Q6_P_vabsh_P_sat __builtin_HEXAGON_A2_vabshsat
  834.  
  835. /* ==========================================================================
  836.    Assembly Syntax:       Rdd32=vabsw(Rss32)
  837.    C Intrinsic Prototype: Word64 Q6_P_vabsw_P(Word64 Rss)
  838.    Instruction Type:      S_2op
  839.    Execution Slots:       SLOT23
  840.    ========================================================================== */
  841.  
  842. #define Q6_P_vabsw_P __builtin_HEXAGON_A2_vabsw
  843.  
  844. /* ==========================================================================
  845.    Assembly Syntax:       Rdd32=vabsw(Rss32):sat
  846.    C Intrinsic Prototype: Word64 Q6_P_vabsw_P_sat(Word64 Rss)
  847.    Instruction Type:      S_2op
  848.    Execution Slots:       SLOT23
  849.    ========================================================================== */
  850.  
  851. #define Q6_P_vabsw_P_sat __builtin_HEXAGON_A2_vabswsat
  852.  
  853. /* ==========================================================================
  854.    Assembly Syntax:       Rdd32=vaddb(Rss32,Rtt32)
  855.    C Intrinsic Prototype: Word64 Q6_P_vaddb_PP(Word64 Rss, Word64 Rtt)
  856.    Instruction Type:      MAPPING
  857.    Execution Slots:       SLOT0123
  858.    ========================================================================== */
  859.  
  860. #define Q6_P_vaddb_PP __builtin_HEXAGON_A2_vaddb_map
  861.  
  862. /* ==========================================================================
  863.    Assembly Syntax:       Rdd32=vaddh(Rss32,Rtt32)
  864.    C Intrinsic Prototype: Word64 Q6_P_vaddh_PP(Word64 Rss, Word64 Rtt)
  865.    Instruction Type:      ALU64
  866.    Execution Slots:       SLOT23
  867.    ========================================================================== */
  868.  
  869. #define Q6_P_vaddh_PP __builtin_HEXAGON_A2_vaddh
  870.  
  871. /* ==========================================================================
  872.    Assembly Syntax:       Rdd32=vaddh(Rss32,Rtt32):sat
  873.    C Intrinsic Prototype: Word64 Q6_P_vaddh_PP_sat(Word64 Rss, Word64 Rtt)
  874.    Instruction Type:      ALU64
  875.    Execution Slots:       SLOT23
  876.    ========================================================================== */
  877.  
  878. #define Q6_P_vaddh_PP_sat __builtin_HEXAGON_A2_vaddhs
  879.  
  880. /* ==========================================================================
  881.    Assembly Syntax:       Rdd32=vaddub(Rss32,Rtt32)
  882.    C Intrinsic Prototype: Word64 Q6_P_vaddub_PP(Word64 Rss, Word64 Rtt)
  883.    Instruction Type:      ALU64
  884.    Execution Slots:       SLOT23
  885.    ========================================================================== */
  886.  
  887. #define Q6_P_vaddub_PP __builtin_HEXAGON_A2_vaddub
  888.  
  889. /* ==========================================================================
  890.    Assembly Syntax:       Rdd32=vaddub(Rss32,Rtt32):sat
  891.    C Intrinsic Prototype: Word64 Q6_P_vaddub_PP_sat(Word64 Rss, Word64 Rtt)
  892.    Instruction Type:      ALU64
  893.    Execution Slots:       SLOT23
  894.    ========================================================================== */
  895.  
  896. #define Q6_P_vaddub_PP_sat __builtin_HEXAGON_A2_vaddubs
  897.  
  898. /* ==========================================================================
  899.    Assembly Syntax:       Rdd32=vadduh(Rss32,Rtt32):sat
  900.    C Intrinsic Prototype: Word64 Q6_P_vadduh_PP_sat(Word64 Rss, Word64 Rtt)
  901.    Instruction Type:      ALU64
  902.    Execution Slots:       SLOT23
  903.    ========================================================================== */
  904.  
  905. #define Q6_P_vadduh_PP_sat __builtin_HEXAGON_A2_vadduhs
  906.  
  907. /* ==========================================================================
  908.    Assembly Syntax:       Rdd32=vaddw(Rss32,Rtt32)
  909.    C Intrinsic Prototype: Word64 Q6_P_vaddw_PP(Word64 Rss, Word64 Rtt)
  910.    Instruction Type:      ALU64
  911.    Execution Slots:       SLOT23
  912.    ========================================================================== */
  913.  
  914. #define Q6_P_vaddw_PP __builtin_HEXAGON_A2_vaddw
  915.  
  916. /* ==========================================================================
  917.    Assembly Syntax:       Rdd32=vaddw(Rss32,Rtt32):sat
  918.    C Intrinsic Prototype: Word64 Q6_P_vaddw_PP_sat(Word64 Rss, Word64 Rtt)
  919.    Instruction Type:      ALU64
  920.    Execution Slots:       SLOT23
  921.    ========================================================================== */
  922.  
  923. #define Q6_P_vaddw_PP_sat __builtin_HEXAGON_A2_vaddws
  924.  
  925. /* ==========================================================================
  926.    Assembly Syntax:       Rdd32=vavgh(Rss32,Rtt32)
  927.    C Intrinsic Prototype: Word64 Q6_P_vavgh_PP(Word64 Rss, Word64 Rtt)
  928.    Instruction Type:      ALU64
  929.    Execution Slots:       SLOT23
  930.    ========================================================================== */
  931.  
  932. #define Q6_P_vavgh_PP __builtin_HEXAGON_A2_vavgh
  933.  
  934. /* ==========================================================================
  935.    Assembly Syntax:       Rdd32=vavgh(Rss32,Rtt32):crnd
  936.    C Intrinsic Prototype: Word64 Q6_P_vavgh_PP_crnd(Word64 Rss, Word64 Rtt)
  937.    Instruction Type:      ALU64
  938.    Execution Slots:       SLOT23
  939.    ========================================================================== */
  940.  
  941. #define Q6_P_vavgh_PP_crnd __builtin_HEXAGON_A2_vavghcr
  942.  
  943. /* ==========================================================================
  944.    Assembly Syntax:       Rdd32=vavgh(Rss32,Rtt32):rnd
  945.    C Intrinsic Prototype: Word64 Q6_P_vavgh_PP_rnd(Word64 Rss, Word64 Rtt)
  946.    Instruction Type:      ALU64
  947.    Execution Slots:       SLOT23
  948.    ========================================================================== */
  949.  
  950. #define Q6_P_vavgh_PP_rnd __builtin_HEXAGON_A2_vavghr
  951.  
  952. /* ==========================================================================
  953.    Assembly Syntax:       Rdd32=vavgub(Rss32,Rtt32)
  954.    C Intrinsic Prototype: Word64 Q6_P_vavgub_PP(Word64 Rss, Word64 Rtt)
  955.    Instruction Type:      ALU64
  956.    Execution Slots:       SLOT23
  957.    ========================================================================== */
  958.  
  959. #define Q6_P_vavgub_PP __builtin_HEXAGON_A2_vavgub
  960.  
  961. /* ==========================================================================
  962.    Assembly Syntax:       Rdd32=vavgub(Rss32,Rtt32):rnd
  963.    C Intrinsic Prototype: Word64 Q6_P_vavgub_PP_rnd(Word64 Rss, Word64 Rtt)
  964.    Instruction Type:      ALU64
  965.    Execution Slots:       SLOT23
  966.    ========================================================================== */
  967.  
  968. #define Q6_P_vavgub_PP_rnd __builtin_HEXAGON_A2_vavgubr
  969.  
  970. /* ==========================================================================
  971.    Assembly Syntax:       Rdd32=vavguh(Rss32,Rtt32)
  972.    C Intrinsic Prototype: Word64 Q6_P_vavguh_PP(Word64 Rss, Word64 Rtt)
  973.    Instruction Type:      ALU64
  974.    Execution Slots:       SLOT23
  975.    ========================================================================== */
  976.  
  977. #define Q6_P_vavguh_PP __builtin_HEXAGON_A2_vavguh
  978.  
  979. /* ==========================================================================
  980.    Assembly Syntax:       Rdd32=vavguh(Rss32,Rtt32):rnd
  981.    C Intrinsic Prototype: Word64 Q6_P_vavguh_PP_rnd(Word64 Rss, Word64 Rtt)
  982.    Instruction Type:      ALU64
  983.    Execution Slots:       SLOT23
  984.    ========================================================================== */
  985.  
  986. #define Q6_P_vavguh_PP_rnd __builtin_HEXAGON_A2_vavguhr
  987.  
  988. /* ==========================================================================
  989.    Assembly Syntax:       Rdd32=vavguw(Rss32,Rtt32)
  990.    C Intrinsic Prototype: Word64 Q6_P_vavguw_PP(Word64 Rss, Word64 Rtt)
  991.    Instruction Type:      ALU64
  992.    Execution Slots:       SLOT23
  993.    ========================================================================== */
  994.  
  995. #define Q6_P_vavguw_PP __builtin_HEXAGON_A2_vavguw
  996.  
  997. /* ==========================================================================
  998.    Assembly Syntax:       Rdd32=vavguw(Rss32,Rtt32):rnd
  999.    C Intrinsic Prototype: Word64 Q6_P_vavguw_PP_rnd(Word64 Rss, Word64 Rtt)
  1000.    Instruction Type:      ALU64
  1001.    Execution Slots:       SLOT23
  1002.    ========================================================================== */
  1003.  
  1004. #define Q6_P_vavguw_PP_rnd __builtin_HEXAGON_A2_vavguwr
  1005.  
  1006. /* ==========================================================================
  1007.    Assembly Syntax:       Rdd32=vavgw(Rss32,Rtt32)
  1008.    C Intrinsic Prototype: Word64 Q6_P_vavgw_PP(Word64 Rss, Word64 Rtt)
  1009.    Instruction Type:      ALU64
  1010.    Execution Slots:       SLOT23
  1011.    ========================================================================== */
  1012.  
  1013. #define Q6_P_vavgw_PP __builtin_HEXAGON_A2_vavgw
  1014.  
  1015. /* ==========================================================================
  1016.    Assembly Syntax:       Rdd32=vavgw(Rss32,Rtt32):crnd
  1017.    C Intrinsic Prototype: Word64 Q6_P_vavgw_PP_crnd(Word64 Rss, Word64 Rtt)
  1018.    Instruction Type:      ALU64
  1019.    Execution Slots:       SLOT23
  1020.    ========================================================================== */
  1021.  
  1022. #define Q6_P_vavgw_PP_crnd __builtin_HEXAGON_A2_vavgwcr
  1023.  
  1024. /* ==========================================================================
  1025.    Assembly Syntax:       Rdd32=vavgw(Rss32,Rtt32):rnd
  1026.    C Intrinsic Prototype: Word64 Q6_P_vavgw_PP_rnd(Word64 Rss, Word64 Rtt)
  1027.    Instruction Type:      ALU64
  1028.    Execution Slots:       SLOT23
  1029.    ========================================================================== */
  1030.  
  1031. #define Q6_P_vavgw_PP_rnd __builtin_HEXAGON_A2_vavgwr
  1032.  
  1033. /* ==========================================================================
  1034.    Assembly Syntax:       Pd4=vcmpb.eq(Rss32,Rtt32)
  1035.    C Intrinsic Prototype: Byte Q6_p_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
  1036.    Instruction Type:      ALU64
  1037.    Execution Slots:       SLOT23
  1038.    ========================================================================== */
  1039.  
  1040. #define Q6_p_vcmpb_eq_PP __builtin_HEXAGON_A2_vcmpbeq
  1041.  
  1042. /* ==========================================================================
  1043.    Assembly Syntax:       Pd4=vcmpb.gtu(Rss32,Rtt32)
  1044.    C Intrinsic Prototype: Byte Q6_p_vcmpb_gtu_PP(Word64 Rss, Word64 Rtt)
  1045.    Instruction Type:      ALU64
  1046.    Execution Slots:       SLOT23
  1047.    ========================================================================== */
  1048.  
  1049. #define Q6_p_vcmpb_gtu_PP __builtin_HEXAGON_A2_vcmpbgtu
  1050.  
  1051. /* ==========================================================================
  1052.    Assembly Syntax:       Pd4=vcmph.eq(Rss32,Rtt32)
  1053.    C Intrinsic Prototype: Byte Q6_p_vcmph_eq_PP(Word64 Rss, Word64 Rtt)
  1054.    Instruction Type:      ALU64
  1055.    Execution Slots:       SLOT23
  1056.    ========================================================================== */
  1057.  
  1058. #define Q6_p_vcmph_eq_PP __builtin_HEXAGON_A2_vcmpheq
  1059.  
  1060. /* ==========================================================================
  1061.    Assembly Syntax:       Pd4=vcmph.gt(Rss32,Rtt32)
  1062.    C Intrinsic Prototype: Byte Q6_p_vcmph_gt_PP(Word64 Rss, Word64 Rtt)
  1063.    Instruction Type:      ALU64
  1064.    Execution Slots:       SLOT23
  1065.    ========================================================================== */
  1066.  
  1067. #define Q6_p_vcmph_gt_PP __builtin_HEXAGON_A2_vcmphgt
  1068.  
  1069. /* ==========================================================================
  1070.    Assembly Syntax:       Pd4=vcmph.gtu(Rss32,Rtt32)
  1071.    C Intrinsic Prototype: Byte Q6_p_vcmph_gtu_PP(Word64 Rss, Word64 Rtt)
  1072.    Instruction Type:      ALU64
  1073.    Execution Slots:       SLOT23
  1074.    ========================================================================== */
  1075.  
  1076. #define Q6_p_vcmph_gtu_PP __builtin_HEXAGON_A2_vcmphgtu
  1077.  
  1078. /* ==========================================================================
  1079.    Assembly Syntax:       Pd4=vcmpw.eq(Rss32,Rtt32)
  1080.    C Intrinsic Prototype: Byte Q6_p_vcmpw_eq_PP(Word64 Rss, Word64 Rtt)
  1081.    Instruction Type:      ALU64
  1082.    Execution Slots:       SLOT23
  1083.    ========================================================================== */
  1084.  
  1085. #define Q6_p_vcmpw_eq_PP __builtin_HEXAGON_A2_vcmpweq
  1086.  
  1087. /* ==========================================================================
  1088.    Assembly Syntax:       Pd4=vcmpw.gt(Rss32,Rtt32)
  1089.    C Intrinsic Prototype: Byte Q6_p_vcmpw_gt_PP(Word64 Rss, Word64 Rtt)
  1090.    Instruction Type:      ALU64
  1091.    Execution Slots:       SLOT23
  1092.    ========================================================================== */
  1093.  
  1094. #define Q6_p_vcmpw_gt_PP __builtin_HEXAGON_A2_vcmpwgt
  1095.  
  1096. /* ==========================================================================
  1097.    Assembly Syntax:       Pd4=vcmpw.gtu(Rss32,Rtt32)
  1098.    C Intrinsic Prototype: Byte Q6_p_vcmpw_gtu_PP(Word64 Rss, Word64 Rtt)
  1099.    Instruction Type:      ALU64
  1100.    Execution Slots:       SLOT23
  1101.    ========================================================================== */
  1102.  
  1103. #define Q6_p_vcmpw_gtu_PP __builtin_HEXAGON_A2_vcmpwgtu
  1104.  
  1105. /* ==========================================================================
  1106.    Assembly Syntax:       Rdd32=vconj(Rss32):sat
  1107.    C Intrinsic Prototype: Word64 Q6_P_vconj_P_sat(Word64 Rss)
  1108.    Instruction Type:      S_2op
  1109.    Execution Slots:       SLOT23
  1110.    ========================================================================== */
  1111.  
  1112. #define Q6_P_vconj_P_sat __builtin_HEXAGON_A2_vconj
  1113.  
  1114. /* ==========================================================================
  1115.    Assembly Syntax:       Rdd32=vmaxb(Rtt32,Rss32)
  1116.    C Intrinsic Prototype: Word64 Q6_P_vmaxb_PP(Word64 Rtt, Word64 Rss)
  1117.    Instruction Type:      ALU64
  1118.    Execution Slots:       SLOT23
  1119.    ========================================================================== */
  1120.  
  1121. #define Q6_P_vmaxb_PP __builtin_HEXAGON_A2_vmaxb
  1122.  
  1123. /* ==========================================================================
  1124.    Assembly Syntax:       Rdd32=vmaxh(Rtt32,Rss32)
  1125.    C Intrinsic Prototype: Word64 Q6_P_vmaxh_PP(Word64 Rtt, Word64 Rss)
  1126.    Instruction Type:      ALU64
  1127.    Execution Slots:       SLOT23
  1128.    ========================================================================== */
  1129.  
  1130. #define Q6_P_vmaxh_PP __builtin_HEXAGON_A2_vmaxh
  1131.  
  1132. /* ==========================================================================
  1133.    Assembly Syntax:       Rdd32=vmaxub(Rtt32,Rss32)
  1134.    C Intrinsic Prototype: Word64 Q6_P_vmaxub_PP(Word64 Rtt, Word64 Rss)
  1135.    Instruction Type:      ALU64
  1136.    Execution Slots:       SLOT23
  1137.    ========================================================================== */
  1138.  
  1139. #define Q6_P_vmaxub_PP __builtin_HEXAGON_A2_vmaxub
  1140.  
  1141. /* ==========================================================================
  1142.    Assembly Syntax:       Rdd32=vmaxuh(Rtt32,Rss32)
  1143.    C Intrinsic Prototype: Word64 Q6_P_vmaxuh_PP(Word64 Rtt, Word64 Rss)
  1144.    Instruction Type:      ALU64
  1145.    Execution Slots:       SLOT23
  1146.    ========================================================================== */
  1147.  
  1148. #define Q6_P_vmaxuh_PP __builtin_HEXAGON_A2_vmaxuh
  1149.  
  1150. /* ==========================================================================
  1151.    Assembly Syntax:       Rdd32=vmaxuw(Rtt32,Rss32)
  1152.    C Intrinsic Prototype: Word64 Q6_P_vmaxuw_PP(Word64 Rtt, Word64 Rss)
  1153.    Instruction Type:      ALU64
  1154.    Execution Slots:       SLOT23
  1155.    ========================================================================== */
  1156.  
  1157. #define Q6_P_vmaxuw_PP __builtin_HEXAGON_A2_vmaxuw
  1158.  
  1159. /* ==========================================================================
  1160.    Assembly Syntax:       Rdd32=vmaxw(Rtt32,Rss32)
  1161.    C Intrinsic Prototype: Word64 Q6_P_vmaxw_PP(Word64 Rtt, Word64 Rss)
  1162.    Instruction Type:      ALU64
  1163.    Execution Slots:       SLOT23
  1164.    ========================================================================== */
  1165.  
  1166. #define Q6_P_vmaxw_PP __builtin_HEXAGON_A2_vmaxw
  1167.  
  1168. /* ==========================================================================
  1169.    Assembly Syntax:       Rdd32=vminb(Rtt32,Rss32)
  1170.    C Intrinsic Prototype: Word64 Q6_P_vminb_PP(Word64 Rtt, Word64 Rss)
  1171.    Instruction Type:      ALU64
  1172.    Execution Slots:       SLOT23
  1173.    ========================================================================== */
  1174.  
  1175. #define Q6_P_vminb_PP __builtin_HEXAGON_A2_vminb
  1176.  
  1177. /* ==========================================================================
  1178.    Assembly Syntax:       Rdd32=vminh(Rtt32,Rss32)
  1179.    C Intrinsic Prototype: Word64 Q6_P_vminh_PP(Word64 Rtt, Word64 Rss)
  1180.    Instruction Type:      ALU64
  1181.    Execution Slots:       SLOT23
  1182.    ========================================================================== */
  1183.  
  1184. #define Q6_P_vminh_PP __builtin_HEXAGON_A2_vminh
  1185.  
  1186. /* ==========================================================================
  1187.    Assembly Syntax:       Rdd32=vminub(Rtt32,Rss32)
  1188.    C Intrinsic Prototype: Word64 Q6_P_vminub_PP(Word64 Rtt, Word64 Rss)
  1189.    Instruction Type:      ALU64
  1190.    Execution Slots:       SLOT23
  1191.    ========================================================================== */
  1192.  
  1193. #define Q6_P_vminub_PP __builtin_HEXAGON_A2_vminub
  1194.  
  1195. /* ==========================================================================
  1196.    Assembly Syntax:       Rdd32=vminuh(Rtt32,Rss32)
  1197.    C Intrinsic Prototype: Word64 Q6_P_vminuh_PP(Word64 Rtt, Word64 Rss)
  1198.    Instruction Type:      ALU64
  1199.    Execution Slots:       SLOT23
  1200.    ========================================================================== */
  1201.  
  1202. #define Q6_P_vminuh_PP __builtin_HEXAGON_A2_vminuh
  1203.  
  1204. /* ==========================================================================
  1205.    Assembly Syntax:       Rdd32=vminuw(Rtt32,Rss32)
  1206.    C Intrinsic Prototype: Word64 Q6_P_vminuw_PP(Word64 Rtt, Word64 Rss)
  1207.    Instruction Type:      ALU64
  1208.    Execution Slots:       SLOT23
  1209.    ========================================================================== */
  1210.  
  1211. #define Q6_P_vminuw_PP __builtin_HEXAGON_A2_vminuw
  1212.  
  1213. /* ==========================================================================
  1214.    Assembly Syntax:       Rdd32=vminw(Rtt32,Rss32)
  1215.    C Intrinsic Prototype: Word64 Q6_P_vminw_PP(Word64 Rtt, Word64 Rss)
  1216.    Instruction Type:      ALU64
  1217.    Execution Slots:       SLOT23
  1218.    ========================================================================== */
  1219.  
  1220. #define Q6_P_vminw_PP __builtin_HEXAGON_A2_vminw
  1221.  
  1222. /* ==========================================================================
  1223.    Assembly Syntax:       Rdd32=vnavgh(Rtt32,Rss32)
  1224.    C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP(Word64 Rtt, Word64 Rss)
  1225.    Instruction Type:      ALU64
  1226.    Execution Slots:       SLOT23
  1227.    ========================================================================== */
  1228.  
  1229. #define Q6_P_vnavgh_PP __builtin_HEXAGON_A2_vnavgh
  1230.  
  1231. /* ==========================================================================
  1232.    Assembly Syntax:       Rdd32=vnavgh(Rtt32,Rss32):crnd:sat
  1233.    C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP_crnd_sat(Word64 Rtt, Word64 Rss)
  1234.    Instruction Type:      ALU64
  1235.    Execution Slots:       SLOT23
  1236.    ========================================================================== */
  1237.  
  1238. #define Q6_P_vnavgh_PP_crnd_sat __builtin_HEXAGON_A2_vnavghcr
  1239.  
  1240. /* ==========================================================================
  1241.    Assembly Syntax:       Rdd32=vnavgh(Rtt32,Rss32):rnd:sat
  1242.    C Intrinsic Prototype: Word64 Q6_P_vnavgh_PP_rnd_sat(Word64 Rtt, Word64 Rss)
  1243.    Instruction Type:      ALU64
  1244.    Execution Slots:       SLOT23
  1245.    ========================================================================== */
  1246.  
  1247. #define Q6_P_vnavgh_PP_rnd_sat __builtin_HEXAGON_A2_vnavghr
  1248.  
  1249. /* ==========================================================================
  1250.    Assembly Syntax:       Rdd32=vnavgw(Rtt32,Rss32)
  1251.    C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP(Word64 Rtt, Word64 Rss)
  1252.    Instruction Type:      ALU64
  1253.    Execution Slots:       SLOT23
  1254.    ========================================================================== */
  1255.  
  1256. #define Q6_P_vnavgw_PP __builtin_HEXAGON_A2_vnavgw
  1257.  
  1258. /* ==========================================================================
  1259.    Assembly Syntax:       Rdd32=vnavgw(Rtt32,Rss32):crnd:sat
  1260.    C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP_crnd_sat(Word64 Rtt, Word64 Rss)
  1261.    Instruction Type:      ALU64
  1262.    Execution Slots:       SLOT23
  1263.    ========================================================================== */
  1264.  
  1265. #define Q6_P_vnavgw_PP_crnd_sat __builtin_HEXAGON_A2_vnavgwcr
  1266.  
  1267. /* ==========================================================================
  1268.    Assembly Syntax:       Rdd32=vnavgw(Rtt32,Rss32):rnd:sat
  1269.    C Intrinsic Prototype: Word64 Q6_P_vnavgw_PP_rnd_sat(Word64 Rtt, Word64 Rss)
  1270.    Instruction Type:      ALU64
  1271.    Execution Slots:       SLOT23
  1272.    ========================================================================== */
  1273.  
  1274. #define Q6_P_vnavgw_PP_rnd_sat __builtin_HEXAGON_A2_vnavgwr
  1275.  
  1276. /* ==========================================================================
  1277.    Assembly Syntax:       Rdd32=vraddub(Rss32,Rtt32)
  1278.    C Intrinsic Prototype: Word64 Q6_P_vraddub_PP(Word64 Rss, Word64 Rtt)
  1279.    Instruction Type:      M
  1280.    Execution Slots:       SLOT23
  1281.    ========================================================================== */
  1282.  
  1283. #define Q6_P_vraddub_PP __builtin_HEXAGON_A2_vraddub
  1284.  
  1285. /* ==========================================================================
  1286.    Assembly Syntax:       Rxx32+=vraddub(Rss32,Rtt32)
  1287.    C Intrinsic Prototype: Word64 Q6_P_vraddubacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  1288.    Instruction Type:      M
  1289.    Execution Slots:       SLOT23
  1290.    ========================================================================== */
  1291.  
  1292. #define Q6_P_vraddubacc_PP __builtin_HEXAGON_A2_vraddub_acc
  1293.  
  1294. /* ==========================================================================
  1295.    Assembly Syntax:       Rdd32=vrsadub(Rss32,Rtt32)
  1296.    C Intrinsic Prototype: Word64 Q6_P_vrsadub_PP(Word64 Rss, Word64 Rtt)
  1297.    Instruction Type:      M
  1298.    Execution Slots:       SLOT23
  1299.    ========================================================================== */
  1300.  
  1301. #define Q6_P_vrsadub_PP __builtin_HEXAGON_A2_vrsadub
  1302.  
  1303. /* ==========================================================================
  1304.    Assembly Syntax:       Rxx32+=vrsadub(Rss32,Rtt32)
  1305.    C Intrinsic Prototype: Word64 Q6_P_vrsadubacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  1306.    Instruction Type:      M
  1307.    Execution Slots:       SLOT23
  1308.    ========================================================================== */
  1309.  
  1310. #define Q6_P_vrsadubacc_PP __builtin_HEXAGON_A2_vrsadub_acc
  1311.  
  1312. /* ==========================================================================
  1313.    Assembly Syntax:       Rdd32=vsubb(Rss32,Rtt32)
  1314.    C Intrinsic Prototype: Word64 Q6_P_vsubb_PP(Word64 Rss, Word64 Rtt)
  1315.    Instruction Type:      MAPPING
  1316.    Execution Slots:       SLOT0123
  1317.    ========================================================================== */
  1318.  
  1319. #define Q6_P_vsubb_PP __builtin_HEXAGON_A2_vsubb_map
  1320.  
  1321. /* ==========================================================================
  1322.    Assembly Syntax:       Rdd32=vsubh(Rtt32,Rss32)
  1323.    C Intrinsic Prototype: Word64 Q6_P_vsubh_PP(Word64 Rtt, Word64 Rss)
  1324.    Instruction Type:      ALU64
  1325.    Execution Slots:       SLOT23
  1326.    ========================================================================== */
  1327.  
  1328. #define Q6_P_vsubh_PP __builtin_HEXAGON_A2_vsubh
  1329.  
  1330. /* ==========================================================================
  1331.    Assembly Syntax:       Rdd32=vsubh(Rtt32,Rss32):sat
  1332.    C Intrinsic Prototype: Word64 Q6_P_vsubh_PP_sat(Word64 Rtt, Word64 Rss)
  1333.    Instruction Type:      ALU64
  1334.    Execution Slots:       SLOT23
  1335.    ========================================================================== */
  1336.  
  1337. #define Q6_P_vsubh_PP_sat __builtin_HEXAGON_A2_vsubhs
  1338.  
  1339. /* ==========================================================================
  1340.    Assembly Syntax:       Rdd32=vsubub(Rtt32,Rss32)
  1341.    C Intrinsic Prototype: Word64 Q6_P_vsubub_PP(Word64 Rtt, Word64 Rss)
  1342.    Instruction Type:      ALU64
  1343.    Execution Slots:       SLOT23
  1344.    ========================================================================== */
  1345.  
  1346. #define Q6_P_vsubub_PP __builtin_HEXAGON_A2_vsubub
  1347.  
  1348. /* ==========================================================================
  1349.    Assembly Syntax:       Rdd32=vsubub(Rtt32,Rss32):sat
  1350.    C Intrinsic Prototype: Word64 Q6_P_vsubub_PP_sat(Word64 Rtt, Word64 Rss)
  1351.    Instruction Type:      ALU64
  1352.    Execution Slots:       SLOT23
  1353.    ========================================================================== */
  1354.  
  1355. #define Q6_P_vsubub_PP_sat __builtin_HEXAGON_A2_vsububs
  1356.  
  1357. /* ==========================================================================
  1358.    Assembly Syntax:       Rdd32=vsubuh(Rtt32,Rss32):sat
  1359.    C Intrinsic Prototype: Word64 Q6_P_vsubuh_PP_sat(Word64 Rtt, Word64 Rss)
  1360.    Instruction Type:      ALU64
  1361.    Execution Slots:       SLOT23
  1362.    ========================================================================== */
  1363.  
  1364. #define Q6_P_vsubuh_PP_sat __builtin_HEXAGON_A2_vsubuhs
  1365.  
  1366. /* ==========================================================================
  1367.    Assembly Syntax:       Rdd32=vsubw(Rtt32,Rss32)
  1368.    C Intrinsic Prototype: Word64 Q6_P_vsubw_PP(Word64 Rtt, Word64 Rss)
  1369.    Instruction Type:      ALU64
  1370.    Execution Slots:       SLOT23
  1371.    ========================================================================== */
  1372.  
  1373. #define Q6_P_vsubw_PP __builtin_HEXAGON_A2_vsubw
  1374.  
  1375. /* ==========================================================================
  1376.    Assembly Syntax:       Rdd32=vsubw(Rtt32,Rss32):sat
  1377.    C Intrinsic Prototype: Word64 Q6_P_vsubw_PP_sat(Word64 Rtt, Word64 Rss)
  1378.    Instruction Type:      ALU64
  1379.    Execution Slots:       SLOT23
  1380.    ========================================================================== */
  1381.  
  1382. #define Q6_P_vsubw_PP_sat __builtin_HEXAGON_A2_vsubws
  1383.  
  1384. /* ==========================================================================
  1385.    Assembly Syntax:       Rd32=xor(Rs32,Rt32)
  1386.    C Intrinsic Prototype: Word32 Q6_R_xor_RR(Word32 Rs, Word32 Rt)
  1387.    Instruction Type:      ALU32_3op
  1388.    Execution Slots:       SLOT0123
  1389.    ========================================================================== */
  1390.  
  1391. #define Q6_R_xor_RR __builtin_HEXAGON_A2_xor
  1392.  
  1393. /* ==========================================================================
  1394.    Assembly Syntax:       Rdd32=xor(Rss32,Rtt32)
  1395.    C Intrinsic Prototype: Word64 Q6_P_xor_PP(Word64 Rss, Word64 Rtt)
  1396.    Instruction Type:      ALU64
  1397.    Execution Slots:       SLOT23
  1398.    ========================================================================== */
  1399.  
  1400. #define Q6_P_xor_PP __builtin_HEXAGON_A2_xorp
  1401.  
  1402. /* ==========================================================================
  1403.    Assembly Syntax:       Rd32=zxtb(Rs32)
  1404.    C Intrinsic Prototype: Word32 Q6_R_zxtb_R(Word32 Rs)
  1405.    Instruction Type:      ALU32_2op
  1406.    Execution Slots:       SLOT0123
  1407.    ========================================================================== */
  1408.  
  1409. #define Q6_R_zxtb_R __builtin_HEXAGON_A2_zxtb
  1410.  
  1411. /* ==========================================================================
  1412.    Assembly Syntax:       Rd32=zxth(Rs32)
  1413.    C Intrinsic Prototype: Word32 Q6_R_zxth_R(Word32 Rs)
  1414.    Instruction Type:      ALU32_2op
  1415.    Execution Slots:       SLOT0123
  1416.    ========================================================================== */
  1417.  
  1418. #define Q6_R_zxth_R __builtin_HEXAGON_A2_zxth
  1419.  
  1420. /* ==========================================================================
  1421.    Assembly Syntax:       Rd32=and(Rt32,~Rs32)
  1422.    C Intrinsic Prototype: Word32 Q6_R_and_RnR(Word32 Rt, Word32 Rs)
  1423.    Instruction Type:      ALU32_3op
  1424.    Execution Slots:       SLOT0123
  1425.    ========================================================================== */
  1426.  
  1427. #define Q6_R_and_RnR __builtin_HEXAGON_A4_andn
  1428.  
  1429. /* ==========================================================================
  1430.    Assembly Syntax:       Rdd32=and(Rtt32,~Rss32)
  1431.    C Intrinsic Prototype: Word64 Q6_P_and_PnP(Word64 Rtt, Word64 Rss)
  1432.    Instruction Type:      ALU64
  1433.    Execution Slots:       SLOT23
  1434.    ========================================================================== */
  1435.  
  1436. #define Q6_P_and_PnP __builtin_HEXAGON_A4_andnp
  1437.  
  1438. /* ==========================================================================
  1439.    Assembly Syntax:       Rdd32=bitsplit(Rs32,Rt32)
  1440.    C Intrinsic Prototype: Word64 Q6_P_bitsplit_RR(Word32 Rs, Word32 Rt)
  1441.    Instruction Type:      ALU64
  1442.    Execution Slots:       SLOT23
  1443.    ========================================================================== */
  1444.  
  1445. #define Q6_P_bitsplit_RR __builtin_HEXAGON_A4_bitsplit
  1446.  
  1447. /* ==========================================================================
  1448.    Assembly Syntax:       Rdd32=bitsplit(Rs32,#u5)
  1449.    C Intrinsic Prototype: Word64 Q6_P_bitsplit_RI(Word32 Rs, Word32 Iu5)
  1450.    Instruction Type:      S_2op
  1451.    Execution Slots:       SLOT23
  1452.    ========================================================================== */
  1453.  
  1454. #define Q6_P_bitsplit_RI __builtin_HEXAGON_A4_bitspliti
  1455.  
  1456. /* ==========================================================================
  1457.    Assembly Syntax:       Pd4=boundscheck(Rs32,Rtt32)
  1458.    C Intrinsic Prototype: Byte Q6_p_boundscheck_RP(Word32 Rs, Word64 Rtt)
  1459.    Instruction Type:      ALU64
  1460.    Execution Slots:       SLOT0123
  1461.    ========================================================================== */
  1462.  
  1463. #define Q6_p_boundscheck_RP __builtin_HEXAGON_A4_boundscheck
  1464.  
  1465. /* ==========================================================================
  1466.    Assembly Syntax:       Pd4=cmpb.eq(Rs32,Rt32)
  1467.    C Intrinsic Prototype: Byte Q6_p_cmpb_eq_RR(Word32 Rs, Word32 Rt)
  1468.    Instruction Type:      S_3op
  1469.    Execution Slots:       SLOT23
  1470.    ========================================================================== */
  1471.  
  1472. #define Q6_p_cmpb_eq_RR __builtin_HEXAGON_A4_cmpbeq
  1473.  
  1474. /* ==========================================================================
  1475.    Assembly Syntax:       Pd4=cmpb.eq(Rs32,#u8)
  1476.    C Intrinsic Prototype: Byte Q6_p_cmpb_eq_RI(Word32 Rs, Word32 Iu8)
  1477.    Instruction Type:      ALU64
  1478.    Execution Slots:       SLOT23
  1479.    ========================================================================== */
  1480.  
  1481. #define Q6_p_cmpb_eq_RI __builtin_HEXAGON_A4_cmpbeqi
  1482.  
  1483. /* ==========================================================================
  1484.    Assembly Syntax:       Pd4=cmpb.gt(Rs32,Rt32)
  1485.    C Intrinsic Prototype: Byte Q6_p_cmpb_gt_RR(Word32 Rs, Word32 Rt)
  1486.    Instruction Type:      S_3op
  1487.    Execution Slots:       SLOT23
  1488.    ========================================================================== */
  1489.  
  1490. #define Q6_p_cmpb_gt_RR __builtin_HEXAGON_A4_cmpbgt
  1491.  
  1492. /* ==========================================================================
  1493.    Assembly Syntax:       Pd4=cmpb.gt(Rs32,#s8)
  1494.    C Intrinsic Prototype: Byte Q6_p_cmpb_gt_RI(Word32 Rs, Word32 Is8)
  1495.    Instruction Type:      ALU64
  1496.    Execution Slots:       SLOT23
  1497.    ========================================================================== */
  1498.  
  1499. #define Q6_p_cmpb_gt_RI __builtin_HEXAGON_A4_cmpbgti
  1500.  
  1501. /* ==========================================================================
  1502.    Assembly Syntax:       Pd4=cmpb.gtu(Rs32,Rt32)
  1503.    C Intrinsic Prototype: Byte Q6_p_cmpb_gtu_RR(Word32 Rs, Word32 Rt)
  1504.    Instruction Type:      S_3op
  1505.    Execution Slots:       SLOT23
  1506.    ========================================================================== */
  1507.  
  1508. #define Q6_p_cmpb_gtu_RR __builtin_HEXAGON_A4_cmpbgtu
  1509.  
  1510. /* ==========================================================================
  1511.    Assembly Syntax:       Pd4=cmpb.gtu(Rs32,#u7)
  1512.    C Intrinsic Prototype: Byte Q6_p_cmpb_gtu_RI(Word32 Rs, Word32 Iu7)
  1513.    Instruction Type:      ALU64
  1514.    Execution Slots:       SLOT23
  1515.    ========================================================================== */
  1516.  
  1517. #define Q6_p_cmpb_gtu_RI __builtin_HEXAGON_A4_cmpbgtui
  1518.  
  1519. /* ==========================================================================
  1520.    Assembly Syntax:       Pd4=cmph.eq(Rs32,Rt32)
  1521.    C Intrinsic Prototype: Byte Q6_p_cmph_eq_RR(Word32 Rs, Word32 Rt)
  1522.    Instruction Type:      S_3op
  1523.    Execution Slots:       SLOT23
  1524.    ========================================================================== */
  1525.  
  1526. #define Q6_p_cmph_eq_RR __builtin_HEXAGON_A4_cmpheq
  1527.  
  1528. /* ==========================================================================
  1529.    Assembly Syntax:       Pd4=cmph.eq(Rs32,#s8)
  1530.    C Intrinsic Prototype: Byte Q6_p_cmph_eq_RI(Word32 Rs, Word32 Is8)
  1531.    Instruction Type:      ALU64
  1532.    Execution Slots:       SLOT23
  1533.    ========================================================================== */
  1534.  
  1535. #define Q6_p_cmph_eq_RI __builtin_HEXAGON_A4_cmpheqi
  1536.  
  1537. /* ==========================================================================
  1538.    Assembly Syntax:       Pd4=cmph.gt(Rs32,Rt32)
  1539.    C Intrinsic Prototype: Byte Q6_p_cmph_gt_RR(Word32 Rs, Word32 Rt)
  1540.    Instruction Type:      S_3op
  1541.    Execution Slots:       SLOT23
  1542.    ========================================================================== */
  1543.  
  1544. #define Q6_p_cmph_gt_RR __builtin_HEXAGON_A4_cmphgt
  1545.  
  1546. /* ==========================================================================
  1547.    Assembly Syntax:       Pd4=cmph.gt(Rs32,#s8)
  1548.    C Intrinsic Prototype: Byte Q6_p_cmph_gt_RI(Word32 Rs, Word32 Is8)
  1549.    Instruction Type:      ALU64
  1550.    Execution Slots:       SLOT23
  1551.    ========================================================================== */
  1552.  
  1553. #define Q6_p_cmph_gt_RI __builtin_HEXAGON_A4_cmphgti
  1554.  
  1555. /* ==========================================================================
  1556.    Assembly Syntax:       Pd4=cmph.gtu(Rs32,Rt32)
  1557.    C Intrinsic Prototype: Byte Q6_p_cmph_gtu_RR(Word32 Rs, Word32 Rt)
  1558.    Instruction Type:      S_3op
  1559.    Execution Slots:       SLOT23
  1560.    ========================================================================== */
  1561.  
  1562. #define Q6_p_cmph_gtu_RR __builtin_HEXAGON_A4_cmphgtu
  1563.  
  1564. /* ==========================================================================
  1565.    Assembly Syntax:       Pd4=cmph.gtu(Rs32,#u7)
  1566.    C Intrinsic Prototype: Byte Q6_p_cmph_gtu_RI(Word32 Rs, Word32 Iu7)
  1567.    Instruction Type:      ALU64
  1568.    Execution Slots:       SLOT23
  1569.    ========================================================================== */
  1570.  
  1571. #define Q6_p_cmph_gtu_RI __builtin_HEXAGON_A4_cmphgtui
  1572.  
  1573. /* ==========================================================================
  1574.    Assembly Syntax:       Rdd32=combine(#s8,Rs32)
  1575.    C Intrinsic Prototype: Word64 Q6_P_combine_IR(Word32 Is8, Word32 Rs)
  1576.    Instruction Type:      ALU32_2op
  1577.    Execution Slots:       SLOT0123
  1578.    ========================================================================== */
  1579.  
  1580. #define Q6_P_combine_IR __builtin_HEXAGON_A4_combineir
  1581.  
  1582. /* ==========================================================================
  1583.    Assembly Syntax:       Rdd32=combine(Rs32,#s8)
  1584.    C Intrinsic Prototype: Word64 Q6_P_combine_RI(Word32 Rs, Word32 Is8)
  1585.    Instruction Type:      ALU32_2op
  1586.    Execution Slots:       SLOT0123
  1587.    ========================================================================== */
  1588.  
  1589. #define Q6_P_combine_RI __builtin_HEXAGON_A4_combineri
  1590.  
  1591. /* ==========================================================================
  1592.    Assembly Syntax:       Rd32=cround(Rs32,#u5)
  1593.    C Intrinsic Prototype: Word32 Q6_R_cround_RI(Word32 Rs, Word32 Iu5)
  1594.    Instruction Type:      S_2op
  1595.    Execution Slots:       SLOT23
  1596.    ========================================================================== */
  1597.  
  1598. #define Q6_R_cround_RI __builtin_HEXAGON_A4_cround_ri
  1599.  
  1600. /* ==========================================================================
  1601.    Assembly Syntax:       Rd32=cround(Rs32,Rt32)
  1602.    C Intrinsic Prototype: Word32 Q6_R_cround_RR(Word32 Rs, Word32 Rt)
  1603.    Instruction Type:      S_3op
  1604.    Execution Slots:       SLOT23
  1605.    ========================================================================== */
  1606.  
  1607. #define Q6_R_cround_RR __builtin_HEXAGON_A4_cround_rr
  1608.  
  1609. /* ==========================================================================
  1610.    Assembly Syntax:       Rd32=modwrap(Rs32,Rt32)
  1611.    C Intrinsic Prototype: Word32 Q6_R_modwrap_RR(Word32 Rs, Word32 Rt)
  1612.    Instruction Type:      ALU64
  1613.    Execution Slots:       SLOT23
  1614.    ========================================================================== */
  1615.  
  1616. #define Q6_R_modwrap_RR __builtin_HEXAGON_A4_modwrapu
  1617.  
  1618. /* ==========================================================================
  1619.    Assembly Syntax:       Rd32=or(Rt32,~Rs32)
  1620.    C Intrinsic Prototype: Word32 Q6_R_or_RnR(Word32 Rt, Word32 Rs)
  1621.    Instruction Type:      ALU32_3op
  1622.    Execution Slots:       SLOT0123
  1623.    ========================================================================== */
  1624.  
  1625. #define Q6_R_or_RnR __builtin_HEXAGON_A4_orn
  1626.  
  1627. /* ==========================================================================
  1628.    Assembly Syntax:       Rdd32=or(Rtt32,~Rss32)
  1629.    C Intrinsic Prototype: Word64 Q6_P_or_PnP(Word64 Rtt, Word64 Rss)
  1630.    Instruction Type:      ALU64
  1631.    Execution Slots:       SLOT23
  1632.    ========================================================================== */
  1633.  
  1634. #define Q6_P_or_PnP __builtin_HEXAGON_A4_ornp
  1635.  
  1636. /* ==========================================================================
  1637.    Assembly Syntax:       Rd32=cmp.eq(Rs32,Rt32)
  1638.    C Intrinsic Prototype: Word32 Q6_R_cmp_eq_RR(Word32 Rs, Word32 Rt)
  1639.    Instruction Type:      ALU32_3op
  1640.    Execution Slots:       SLOT0123
  1641.    ========================================================================== */
  1642.  
  1643. #define Q6_R_cmp_eq_RR __builtin_HEXAGON_A4_rcmpeq
  1644.  
  1645. /* ==========================================================================
  1646.    Assembly Syntax:       Rd32=cmp.eq(Rs32,#s8)
  1647.    C Intrinsic Prototype: Word32 Q6_R_cmp_eq_RI(Word32 Rs, Word32 Is8)
  1648.    Instruction Type:      ALU32_2op
  1649.    Execution Slots:       SLOT0123
  1650.    ========================================================================== */
  1651.  
  1652. #define Q6_R_cmp_eq_RI __builtin_HEXAGON_A4_rcmpeqi
  1653.  
  1654. /* ==========================================================================
  1655.    Assembly Syntax:       Rd32=!cmp.eq(Rs32,Rt32)
  1656.    C Intrinsic Prototype: Word32 Q6_R_not_cmp_eq_RR(Word32 Rs, Word32 Rt)
  1657.    Instruction Type:      ALU32_3op
  1658.    Execution Slots:       SLOT0123
  1659.    ========================================================================== */
  1660.  
  1661. #define Q6_R_not_cmp_eq_RR __builtin_HEXAGON_A4_rcmpneq
  1662.  
  1663. /* ==========================================================================
  1664.    Assembly Syntax:       Rd32=!cmp.eq(Rs32,#s8)
  1665.    C Intrinsic Prototype: Word32 Q6_R_not_cmp_eq_RI(Word32 Rs, Word32 Is8)
  1666.    Instruction Type:      ALU32_2op
  1667.    Execution Slots:       SLOT0123
  1668.    ========================================================================== */
  1669.  
  1670. #define Q6_R_not_cmp_eq_RI __builtin_HEXAGON_A4_rcmpneqi
  1671.  
  1672. /* ==========================================================================
  1673.    Assembly Syntax:       Rd32=round(Rs32,#u5)
  1674.    C Intrinsic Prototype: Word32 Q6_R_round_RI(Word32 Rs, Word32 Iu5)
  1675.    Instruction Type:      S_2op
  1676.    Execution Slots:       SLOT23
  1677.    ========================================================================== */
  1678.  
  1679. #define Q6_R_round_RI __builtin_HEXAGON_A4_round_ri
  1680.  
  1681. /* ==========================================================================
  1682.    Assembly Syntax:       Rd32=round(Rs32,#u5):sat
  1683.    C Intrinsic Prototype: Word32 Q6_R_round_RI_sat(Word32 Rs, Word32 Iu5)
  1684.    Instruction Type:      S_2op
  1685.    Execution Slots:       SLOT23
  1686.    ========================================================================== */
  1687.  
  1688. #define Q6_R_round_RI_sat __builtin_HEXAGON_A4_round_ri_sat
  1689.  
  1690. /* ==========================================================================
  1691.    Assembly Syntax:       Rd32=round(Rs32,Rt32)
  1692.    C Intrinsic Prototype: Word32 Q6_R_round_RR(Word32 Rs, Word32 Rt)
  1693.    Instruction Type:      S_3op
  1694.    Execution Slots:       SLOT23
  1695.    ========================================================================== */
  1696.  
  1697. #define Q6_R_round_RR __builtin_HEXAGON_A4_round_rr
  1698.  
  1699. /* ==========================================================================
  1700.    Assembly Syntax:       Rd32=round(Rs32,Rt32):sat
  1701.    C Intrinsic Prototype: Word32 Q6_R_round_RR_sat(Word32 Rs, Word32 Rt)
  1702.    Instruction Type:      S_3op
  1703.    Execution Slots:       SLOT23
  1704.    ========================================================================== */
  1705.  
  1706. #define Q6_R_round_RR_sat __builtin_HEXAGON_A4_round_rr_sat
  1707.  
  1708. /* ==========================================================================
  1709.    Assembly Syntax:       Pd4=tlbmatch(Rss32,Rt32)
  1710.    C Intrinsic Prototype: Byte Q6_p_tlbmatch_PR(Word64 Rss, Word32 Rt)
  1711.    Instruction Type:      ALU64
  1712.    Execution Slots:       SLOT23
  1713.    ========================================================================== */
  1714.  
  1715. #define Q6_p_tlbmatch_PR __builtin_HEXAGON_A4_tlbmatch
  1716.  
  1717. /* ==========================================================================
  1718.    Assembly Syntax:       Pd4=any8(vcmpb.eq(Rss32,Rtt32))
  1719.    C Intrinsic Prototype: Byte Q6_p_any8_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
  1720.    Instruction Type:      ALU64
  1721.    Execution Slots:       SLOT23
  1722.    ========================================================================== */
  1723.  
  1724. #define Q6_p_any8_vcmpb_eq_PP __builtin_HEXAGON_A4_vcmpbeq_any
  1725.  
  1726. /* ==========================================================================
  1727.    Assembly Syntax:       Pd4=vcmpb.eq(Rss32,#u8)
  1728.    C Intrinsic Prototype: Byte Q6_p_vcmpb_eq_PI(Word64 Rss, Word32 Iu8)
  1729.    Instruction Type:      ALU64
  1730.    Execution Slots:       SLOT23
  1731.    ========================================================================== */
  1732.  
  1733. #define Q6_p_vcmpb_eq_PI __builtin_HEXAGON_A4_vcmpbeqi
  1734.  
  1735. /* ==========================================================================
  1736.    Assembly Syntax:       Pd4=vcmpb.gt(Rss32,Rtt32)
  1737.    C Intrinsic Prototype: Byte Q6_p_vcmpb_gt_PP(Word64 Rss, Word64 Rtt)
  1738.    Instruction Type:      ALU64
  1739.    Execution Slots:       SLOT23
  1740.    ========================================================================== */
  1741.  
  1742. #define Q6_p_vcmpb_gt_PP __builtin_HEXAGON_A4_vcmpbgt
  1743.  
  1744. /* ==========================================================================
  1745.    Assembly Syntax:       Pd4=vcmpb.gt(Rss32,#s8)
  1746.    C Intrinsic Prototype: Byte Q6_p_vcmpb_gt_PI(Word64 Rss, Word32 Is8)
  1747.    Instruction Type:      ALU64
  1748.    Execution Slots:       SLOT23
  1749.    ========================================================================== */
  1750.  
  1751. #define Q6_p_vcmpb_gt_PI __builtin_HEXAGON_A4_vcmpbgti
  1752.  
  1753. /* ==========================================================================
  1754.    Assembly Syntax:       Pd4=vcmpb.gtu(Rss32,#u7)
  1755.    C Intrinsic Prototype: Byte Q6_p_vcmpb_gtu_PI(Word64 Rss, Word32 Iu7)
  1756.    Instruction Type:      ALU64
  1757.    Execution Slots:       SLOT23
  1758.    ========================================================================== */
  1759.  
  1760. #define Q6_p_vcmpb_gtu_PI __builtin_HEXAGON_A4_vcmpbgtui
  1761.  
  1762. /* ==========================================================================
  1763.    Assembly Syntax:       Pd4=vcmph.eq(Rss32,#s8)
  1764.    C Intrinsic Prototype: Byte Q6_p_vcmph_eq_PI(Word64 Rss, Word32 Is8)
  1765.    Instruction Type:      ALU64
  1766.    Execution Slots:       SLOT23
  1767.    ========================================================================== */
  1768.  
  1769. #define Q6_p_vcmph_eq_PI __builtin_HEXAGON_A4_vcmpheqi
  1770.  
  1771. /* ==========================================================================
  1772.    Assembly Syntax:       Pd4=vcmph.gt(Rss32,#s8)
  1773.    C Intrinsic Prototype: Byte Q6_p_vcmph_gt_PI(Word64 Rss, Word32 Is8)
  1774.    Instruction Type:      ALU64
  1775.    Execution Slots:       SLOT23
  1776.    ========================================================================== */
  1777.  
  1778. #define Q6_p_vcmph_gt_PI __builtin_HEXAGON_A4_vcmphgti
  1779.  
  1780. /* ==========================================================================
  1781.    Assembly Syntax:       Pd4=vcmph.gtu(Rss32,#u7)
  1782.    C Intrinsic Prototype: Byte Q6_p_vcmph_gtu_PI(Word64 Rss, Word32 Iu7)
  1783.    Instruction Type:      ALU64
  1784.    Execution Slots:       SLOT23
  1785.    ========================================================================== */
  1786.  
  1787. #define Q6_p_vcmph_gtu_PI __builtin_HEXAGON_A4_vcmphgtui
  1788.  
  1789. /* ==========================================================================
  1790.    Assembly Syntax:       Pd4=vcmpw.eq(Rss32,#s8)
  1791.    C Intrinsic Prototype: Byte Q6_p_vcmpw_eq_PI(Word64 Rss, Word32 Is8)
  1792.    Instruction Type:      ALU64
  1793.    Execution Slots:       SLOT23
  1794.    ========================================================================== */
  1795.  
  1796. #define Q6_p_vcmpw_eq_PI __builtin_HEXAGON_A4_vcmpweqi
  1797.  
  1798. /* ==========================================================================
  1799.    Assembly Syntax:       Pd4=vcmpw.gt(Rss32,#s8)
  1800.    C Intrinsic Prototype: Byte Q6_p_vcmpw_gt_PI(Word64 Rss, Word32 Is8)
  1801.    Instruction Type:      ALU64
  1802.    Execution Slots:       SLOT23
  1803.    ========================================================================== */
  1804.  
  1805. #define Q6_p_vcmpw_gt_PI __builtin_HEXAGON_A4_vcmpwgti
  1806.  
  1807. /* ==========================================================================
  1808.    Assembly Syntax:       Pd4=vcmpw.gtu(Rss32,#u7)
  1809.    C Intrinsic Prototype: Byte Q6_p_vcmpw_gtu_PI(Word64 Rss, Word32 Iu7)
  1810.    Instruction Type:      ALU64
  1811.    Execution Slots:       SLOT23
  1812.    ========================================================================== */
  1813.  
  1814. #define Q6_p_vcmpw_gtu_PI __builtin_HEXAGON_A4_vcmpwgtui
  1815.  
  1816. /* ==========================================================================
  1817.    Assembly Syntax:       Rxx32=vrmaxh(Rss32,Ru32)
  1818.    C Intrinsic Prototype: Word64 Q6_P_vrmaxh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1819.    Instruction Type:      S_3op
  1820.    Execution Slots:       SLOT23
  1821.    ========================================================================== */
  1822.  
  1823. #define Q6_P_vrmaxh_PR __builtin_HEXAGON_A4_vrmaxh
  1824.  
  1825. /* ==========================================================================
  1826.    Assembly Syntax:       Rxx32=vrmaxuh(Rss32,Ru32)
  1827.    C Intrinsic Prototype: Word64 Q6_P_vrmaxuh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1828.    Instruction Type:      S_3op
  1829.    Execution Slots:       SLOT23
  1830.    ========================================================================== */
  1831.  
  1832. #define Q6_P_vrmaxuh_PR __builtin_HEXAGON_A4_vrmaxuh
  1833.  
  1834. /* ==========================================================================
  1835.    Assembly Syntax:       Rxx32=vrmaxuw(Rss32,Ru32)
  1836.    C Intrinsic Prototype: Word64 Q6_P_vrmaxuw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1837.    Instruction Type:      S_3op
  1838.    Execution Slots:       SLOT23
  1839.    ========================================================================== */
  1840.  
  1841. #define Q6_P_vrmaxuw_PR __builtin_HEXAGON_A4_vrmaxuw
  1842.  
  1843. /* ==========================================================================
  1844.    Assembly Syntax:       Rxx32=vrmaxw(Rss32,Ru32)
  1845.    C Intrinsic Prototype: Word64 Q6_P_vrmaxw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1846.    Instruction Type:      S_3op
  1847.    Execution Slots:       SLOT23
  1848.    ========================================================================== */
  1849.  
  1850. #define Q6_P_vrmaxw_PR __builtin_HEXAGON_A4_vrmaxw
  1851.  
  1852. /* ==========================================================================
  1853.    Assembly Syntax:       Rxx32=vrminh(Rss32,Ru32)
  1854.    C Intrinsic Prototype: Word64 Q6_P_vrminh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1855.    Instruction Type:      S_3op
  1856.    Execution Slots:       SLOT23
  1857.    ========================================================================== */
  1858.  
  1859. #define Q6_P_vrminh_PR __builtin_HEXAGON_A4_vrminh
  1860.  
  1861. /* ==========================================================================
  1862.    Assembly Syntax:       Rxx32=vrminuh(Rss32,Ru32)
  1863.    C Intrinsic Prototype: Word64 Q6_P_vrminuh_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1864.    Instruction Type:      S_3op
  1865.    Execution Slots:       SLOT23
  1866.    ========================================================================== */
  1867.  
  1868. #define Q6_P_vrminuh_PR __builtin_HEXAGON_A4_vrminuh
  1869.  
  1870. /* ==========================================================================
  1871.    Assembly Syntax:       Rxx32=vrminuw(Rss32,Ru32)
  1872.    C Intrinsic Prototype: Word64 Q6_P_vrminuw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1873.    Instruction Type:      S_3op
  1874.    Execution Slots:       SLOT23
  1875.    ========================================================================== */
  1876.  
  1877. #define Q6_P_vrminuw_PR __builtin_HEXAGON_A4_vrminuw
  1878.  
  1879. /* ==========================================================================
  1880.    Assembly Syntax:       Rxx32=vrminw(Rss32,Ru32)
  1881.    C Intrinsic Prototype: Word64 Q6_P_vrminw_PR(Word64 Rxx, Word64 Rss, Word32 Ru)
  1882.    Instruction Type:      S_3op
  1883.    Execution Slots:       SLOT23
  1884.    ========================================================================== */
  1885.  
  1886. #define Q6_P_vrminw_PR __builtin_HEXAGON_A4_vrminw
  1887.  
  1888. /* ==========================================================================
  1889.    Assembly Syntax:       Rd32=vaddhub(Rss32,Rtt32):sat
  1890.    C Intrinsic Prototype: Word32 Q6_R_vaddhub_PP_sat(Word64 Rss, Word64 Rtt)
  1891.    Instruction Type:      S_3op
  1892.    Execution Slots:       SLOT23
  1893.    ========================================================================== */
  1894.  
  1895. #define Q6_R_vaddhub_PP_sat __builtin_HEXAGON_A5_vaddhubs
  1896.  
  1897. /* ==========================================================================
  1898.    Assembly Syntax:       Pd4=all8(Ps4)
  1899.    C Intrinsic Prototype: Byte Q6_p_all8_p(Byte Ps)
  1900.    Instruction Type:      CR
  1901.    Execution Slots:       SLOT23
  1902.    ========================================================================== */
  1903.  
  1904. #define Q6_p_all8_p __builtin_HEXAGON_C2_all8
  1905.  
  1906. /* ==========================================================================
  1907.    Assembly Syntax:       Pd4=and(Pt4,Ps4)
  1908.    C Intrinsic Prototype: Byte Q6_p_and_pp(Byte Pt, Byte Ps)
  1909.    Instruction Type:      CR
  1910.    Execution Slots:       SLOT23
  1911.    ========================================================================== */
  1912.  
  1913. #define Q6_p_and_pp __builtin_HEXAGON_C2_and
  1914.  
  1915. /* ==========================================================================
  1916.    Assembly Syntax:       Pd4=and(Pt4,!Ps4)
  1917.    C Intrinsic Prototype: Byte Q6_p_and_pnp(Byte Pt, Byte Ps)
  1918.    Instruction Type:      CR
  1919.    Execution Slots:       SLOT23
  1920.    ========================================================================== */
  1921.  
  1922. #define Q6_p_and_pnp __builtin_HEXAGON_C2_andn
  1923.  
  1924. /* ==========================================================================
  1925.    Assembly Syntax:       Pd4=any8(Ps4)
  1926.    C Intrinsic Prototype: Byte Q6_p_any8_p(Byte Ps)
  1927.    Instruction Type:      CR
  1928.    Execution Slots:       SLOT23
  1929.    ========================================================================== */
  1930.  
  1931. #define Q6_p_any8_p __builtin_HEXAGON_C2_any8
  1932.  
  1933. /* ==========================================================================
  1934.    Assembly Syntax:       Pd4=bitsclr(Rs32,Rt32)
  1935.    C Intrinsic Prototype: Byte Q6_p_bitsclr_RR(Word32 Rs, Word32 Rt)
  1936.    Instruction Type:      S_3op
  1937.    Execution Slots:       SLOT23
  1938.    ========================================================================== */
  1939.  
  1940. #define Q6_p_bitsclr_RR __builtin_HEXAGON_C2_bitsclr
  1941.  
  1942. /* ==========================================================================
  1943.    Assembly Syntax:       Pd4=bitsclr(Rs32,#u6)
  1944.    C Intrinsic Prototype: Byte Q6_p_bitsclr_RI(Word32 Rs, Word32 Iu6)
  1945.    Instruction Type:      S_2op
  1946.    Execution Slots:       SLOT23
  1947.    ========================================================================== */
  1948.  
  1949. #define Q6_p_bitsclr_RI __builtin_HEXAGON_C2_bitsclri
  1950.  
  1951. /* ==========================================================================
  1952.    Assembly Syntax:       Pd4=bitsset(Rs32,Rt32)
  1953.    C Intrinsic Prototype: Byte Q6_p_bitsset_RR(Word32 Rs, Word32 Rt)
  1954.    Instruction Type:      S_3op
  1955.    Execution Slots:       SLOT23
  1956.    ========================================================================== */
  1957.  
  1958. #define Q6_p_bitsset_RR __builtin_HEXAGON_C2_bitsset
  1959.  
  1960. /* ==========================================================================
  1961.    Assembly Syntax:       Pd4=cmp.eq(Rs32,Rt32)
  1962.    C Intrinsic Prototype: Byte Q6_p_cmp_eq_RR(Word32 Rs, Word32 Rt)
  1963.    Instruction Type:      ALU32_3op
  1964.    Execution Slots:       SLOT0123
  1965.    ========================================================================== */
  1966.  
  1967. #define Q6_p_cmp_eq_RR __builtin_HEXAGON_C2_cmpeq
  1968.  
  1969. /* ==========================================================================
  1970.    Assembly Syntax:       Pd4=cmp.eq(Rs32,#s10)
  1971.    C Intrinsic Prototype: Byte Q6_p_cmp_eq_RI(Word32 Rs, Word32 Is10)
  1972.    Instruction Type:      ALU32_2op
  1973.    Execution Slots:       SLOT0123
  1974.    ========================================================================== */
  1975.  
  1976. #define Q6_p_cmp_eq_RI __builtin_HEXAGON_C2_cmpeqi
  1977.  
  1978. /* ==========================================================================
  1979.    Assembly Syntax:       Pd4=cmp.eq(Rss32,Rtt32)
  1980.    C Intrinsic Prototype: Byte Q6_p_cmp_eq_PP(Word64 Rss, Word64 Rtt)
  1981.    Instruction Type:      ALU64
  1982.    Execution Slots:       SLOT23
  1983.    ========================================================================== */
  1984.  
  1985. #define Q6_p_cmp_eq_PP __builtin_HEXAGON_C2_cmpeqp
  1986.  
  1987. /* ==========================================================================
  1988.    Assembly Syntax:       Pd4=cmp.ge(Rs32,#s8)
  1989.    C Intrinsic Prototype: Byte Q6_p_cmp_ge_RI(Word32 Rs, Word32 Is8)
  1990.    Instruction Type:      ALU32_2op
  1991.    Execution Slots:       SLOT0123
  1992.    ========================================================================== */
  1993.  
  1994. #define Q6_p_cmp_ge_RI __builtin_HEXAGON_C2_cmpgei
  1995.  
  1996. /* ==========================================================================
  1997.    Assembly Syntax:       Pd4=cmp.geu(Rs32,#u8)
  1998.    C Intrinsic Prototype: Byte Q6_p_cmp_geu_RI(Word32 Rs, Word32 Iu8)
  1999.    Instruction Type:      ALU32_2op
  2000.    Execution Slots:       SLOT0123
  2001.    ========================================================================== */
  2002.  
  2003. #define Q6_p_cmp_geu_RI __builtin_HEXAGON_C2_cmpgeui
  2004.  
  2005. /* ==========================================================================
  2006.    Assembly Syntax:       Pd4=cmp.gt(Rs32,Rt32)
  2007.    C Intrinsic Prototype: Byte Q6_p_cmp_gt_RR(Word32 Rs, Word32 Rt)
  2008.    Instruction Type:      ALU32_3op
  2009.    Execution Slots:       SLOT0123
  2010.    ========================================================================== */
  2011.  
  2012. #define Q6_p_cmp_gt_RR __builtin_HEXAGON_C2_cmpgt
  2013.  
  2014. /* ==========================================================================
  2015.    Assembly Syntax:       Pd4=cmp.gt(Rs32,#s10)
  2016.    C Intrinsic Prototype: Byte Q6_p_cmp_gt_RI(Word32 Rs, Word32 Is10)
  2017.    Instruction Type:      ALU32_2op
  2018.    Execution Slots:       SLOT0123
  2019.    ========================================================================== */
  2020.  
  2021. #define Q6_p_cmp_gt_RI __builtin_HEXAGON_C2_cmpgti
  2022.  
  2023. /* ==========================================================================
  2024.    Assembly Syntax:       Pd4=cmp.gt(Rss32,Rtt32)
  2025.    C Intrinsic Prototype: Byte Q6_p_cmp_gt_PP(Word64 Rss, Word64 Rtt)
  2026.    Instruction Type:      ALU64
  2027.    Execution Slots:       SLOT23
  2028.    ========================================================================== */
  2029.  
  2030. #define Q6_p_cmp_gt_PP __builtin_HEXAGON_C2_cmpgtp
  2031.  
  2032. /* ==========================================================================
  2033.    Assembly Syntax:       Pd4=cmp.gtu(Rs32,Rt32)
  2034.    C Intrinsic Prototype: Byte Q6_p_cmp_gtu_RR(Word32 Rs, Word32 Rt)
  2035.    Instruction Type:      ALU32_3op
  2036.    Execution Slots:       SLOT0123
  2037.    ========================================================================== */
  2038.  
  2039. #define Q6_p_cmp_gtu_RR __builtin_HEXAGON_C2_cmpgtu
  2040.  
  2041. /* ==========================================================================
  2042.    Assembly Syntax:       Pd4=cmp.gtu(Rs32,#u9)
  2043.    C Intrinsic Prototype: Byte Q6_p_cmp_gtu_RI(Word32 Rs, Word32 Iu9)
  2044.    Instruction Type:      ALU32_2op
  2045.    Execution Slots:       SLOT0123
  2046.    ========================================================================== */
  2047.  
  2048. #define Q6_p_cmp_gtu_RI __builtin_HEXAGON_C2_cmpgtui
  2049.  
  2050. /* ==========================================================================
  2051.    Assembly Syntax:       Pd4=cmp.gtu(Rss32,Rtt32)
  2052.    C Intrinsic Prototype: Byte Q6_p_cmp_gtu_PP(Word64 Rss, Word64 Rtt)
  2053.    Instruction Type:      ALU64
  2054.    Execution Slots:       SLOT23
  2055.    ========================================================================== */
  2056.  
  2057. #define Q6_p_cmp_gtu_PP __builtin_HEXAGON_C2_cmpgtup
  2058.  
  2059. /* ==========================================================================
  2060.    Assembly Syntax:       Pd4=cmp.lt(Rs32,Rt32)
  2061.    C Intrinsic Prototype: Byte Q6_p_cmp_lt_RR(Word32 Rs, Word32 Rt)
  2062.    Instruction Type:      ALU32_3op
  2063.    Execution Slots:       SLOT0123
  2064.    ========================================================================== */
  2065.  
  2066. #define Q6_p_cmp_lt_RR __builtin_HEXAGON_C2_cmplt
  2067.  
  2068. /* ==========================================================================
  2069.    Assembly Syntax:       Pd4=cmp.ltu(Rs32,Rt32)
  2070.    C Intrinsic Prototype: Byte Q6_p_cmp_ltu_RR(Word32 Rs, Word32 Rt)
  2071.    Instruction Type:      ALU32_3op
  2072.    Execution Slots:       SLOT0123
  2073.    ========================================================================== */
  2074.  
  2075. #define Q6_p_cmp_ltu_RR __builtin_HEXAGON_C2_cmpltu
  2076.  
  2077. /* ==========================================================================
  2078.    Assembly Syntax:       Rdd32=mask(Pt4)
  2079.    C Intrinsic Prototype: Word64 Q6_P_mask_p(Byte Pt)
  2080.    Instruction Type:      S_2op
  2081.    Execution Slots:       SLOT23
  2082.    ========================================================================== */
  2083.  
  2084. #define Q6_P_mask_p __builtin_HEXAGON_C2_mask
  2085.  
  2086. /* ==========================================================================
  2087.    Assembly Syntax:       Rd32=mux(Pu4,Rs32,Rt32)
  2088.    C Intrinsic Prototype: Word32 Q6_R_mux_pRR(Byte Pu, Word32 Rs, Word32 Rt)
  2089.    Instruction Type:      ALU32_3op
  2090.    Execution Slots:       SLOT0123
  2091.    ========================================================================== */
  2092.  
  2093. #define Q6_R_mux_pRR __builtin_HEXAGON_C2_mux
  2094.  
  2095. /* ==========================================================================
  2096.    Assembly Syntax:       Rd32=mux(Pu4,#s8,#S8)
  2097.    C Intrinsic Prototype: Word32 Q6_R_mux_pII(Byte Pu, Word32 Is8, Word32 IS8)
  2098.    Instruction Type:      ALU32_2op
  2099.    Execution Slots:       SLOT0123
  2100.    ========================================================================== */
  2101.  
  2102. #define Q6_R_mux_pII __builtin_HEXAGON_C2_muxii
  2103.  
  2104. /* ==========================================================================
  2105.    Assembly Syntax:       Rd32=mux(Pu4,Rs32,#s8)
  2106.    C Intrinsic Prototype: Word32 Q6_R_mux_pRI(Byte Pu, Word32 Rs, Word32 Is8)
  2107.    Instruction Type:      ALU32_2op
  2108.    Execution Slots:       SLOT0123
  2109.    ========================================================================== */
  2110.  
  2111. #define Q6_R_mux_pRI __builtin_HEXAGON_C2_muxir
  2112.  
  2113. /* ==========================================================================
  2114.    Assembly Syntax:       Rd32=mux(Pu4,#s8,Rs32)
  2115.    C Intrinsic Prototype: Word32 Q6_R_mux_pIR(Byte Pu, Word32 Is8, Word32 Rs)
  2116.    Instruction Type:      ALU32_2op
  2117.    Execution Slots:       SLOT0123
  2118.    ========================================================================== */
  2119.  
  2120. #define Q6_R_mux_pIR __builtin_HEXAGON_C2_muxri
  2121.  
  2122. /* ==========================================================================
  2123.    Assembly Syntax:       Pd4=not(Ps4)
  2124.    C Intrinsic Prototype: Byte Q6_p_not_p(Byte Ps)
  2125.    Instruction Type:      CR
  2126.    Execution Slots:       SLOT23
  2127.    ========================================================================== */
  2128.  
  2129. #define Q6_p_not_p __builtin_HEXAGON_C2_not
  2130.  
  2131. /* ==========================================================================
  2132.    Assembly Syntax:       Pd4=or(Pt4,Ps4)
  2133.    C Intrinsic Prototype: Byte Q6_p_or_pp(Byte Pt, Byte Ps)
  2134.    Instruction Type:      CR
  2135.    Execution Slots:       SLOT23
  2136.    ========================================================================== */
  2137.  
  2138. #define Q6_p_or_pp __builtin_HEXAGON_C2_or
  2139.  
  2140. /* ==========================================================================
  2141.    Assembly Syntax:       Pd4=or(Pt4,!Ps4)
  2142.    C Intrinsic Prototype: Byte Q6_p_or_pnp(Byte Pt, Byte Ps)
  2143.    Instruction Type:      CR
  2144.    Execution Slots:       SLOT23
  2145.    ========================================================================== */
  2146.  
  2147. #define Q6_p_or_pnp __builtin_HEXAGON_C2_orn
  2148.  
  2149. /* ==========================================================================
  2150.    Assembly Syntax:       Pd4=Ps4
  2151.    C Intrinsic Prototype: Byte Q6_p_equals_p(Byte Ps)
  2152.    Instruction Type:      MAPPING
  2153.    Execution Slots:       SLOT0123
  2154.    ========================================================================== */
  2155.  
  2156. #define Q6_p_equals_p __builtin_HEXAGON_C2_pxfer_map
  2157.  
  2158. /* ==========================================================================
  2159.    Assembly Syntax:       Rd32=Ps4
  2160.    C Intrinsic Prototype: Word32 Q6_R_equals_p(Byte Ps)
  2161.    Instruction Type:      S_2op
  2162.    Execution Slots:       SLOT23
  2163.    ========================================================================== */
  2164.  
  2165. #define Q6_R_equals_p __builtin_HEXAGON_C2_tfrpr
  2166.  
  2167. /* ==========================================================================
  2168.    Assembly Syntax:       Pd4=Rs32
  2169.    C Intrinsic Prototype: Byte Q6_p_equals_R(Word32 Rs)
  2170.    Instruction Type:      S_2op
  2171.    Execution Slots:       SLOT23
  2172.    ========================================================================== */
  2173.  
  2174. #define Q6_p_equals_R __builtin_HEXAGON_C2_tfrrp
  2175.  
  2176. /* ==========================================================================
  2177.    Assembly Syntax:       Rd32=vitpack(Ps4,Pt4)
  2178.    C Intrinsic Prototype: Word32 Q6_R_vitpack_pp(Byte Ps, Byte Pt)
  2179.    Instruction Type:      S_2op
  2180.    Execution Slots:       SLOT23
  2181.    ========================================================================== */
  2182.  
  2183. #define Q6_R_vitpack_pp __builtin_HEXAGON_C2_vitpack
  2184.  
  2185. /* ==========================================================================
  2186.    Assembly Syntax:       Rdd32=vmux(Pu4,Rss32,Rtt32)
  2187.    C Intrinsic Prototype: Word64 Q6_P_vmux_pPP(Byte Pu, Word64 Rss, Word64 Rtt)
  2188.    Instruction Type:      ALU64
  2189.    Execution Slots:       SLOT23
  2190.    ========================================================================== */
  2191.  
  2192. #define Q6_P_vmux_pPP __builtin_HEXAGON_C2_vmux
  2193.  
  2194. /* ==========================================================================
  2195.    Assembly Syntax:       Pd4=xor(Ps4,Pt4)
  2196.    C Intrinsic Prototype: Byte Q6_p_xor_pp(Byte Ps, Byte Pt)
  2197.    Instruction Type:      CR
  2198.    Execution Slots:       SLOT23
  2199.    ========================================================================== */
  2200.  
  2201. #define Q6_p_xor_pp __builtin_HEXAGON_C2_xor
  2202.  
  2203. /* ==========================================================================
  2204.    Assembly Syntax:       Pd4=and(Ps4,and(Pt4,Pu4))
  2205.    C Intrinsic Prototype: Byte Q6_p_and_and_ppp(Byte Ps, Byte Pt, Byte Pu)
  2206.    Instruction Type:      CR
  2207.    Execution Slots:       SLOT23
  2208.    ========================================================================== */
  2209.  
  2210. #define Q6_p_and_and_ppp __builtin_HEXAGON_C4_and_and
  2211.  
  2212. /* ==========================================================================
  2213.    Assembly Syntax:       Pd4=and(Ps4,and(Pt4,!Pu4))
  2214.    C Intrinsic Prototype: Byte Q6_p_and_and_ppnp(Byte Ps, Byte Pt, Byte Pu)
  2215.    Instruction Type:      CR
  2216.    Execution Slots:       SLOT23
  2217.    ========================================================================== */
  2218.  
  2219. #define Q6_p_and_and_ppnp __builtin_HEXAGON_C4_and_andn
  2220.  
  2221. /* ==========================================================================
  2222.    Assembly Syntax:       Pd4=and(Ps4,or(Pt4,Pu4))
  2223.    C Intrinsic Prototype: Byte Q6_p_and_or_ppp(Byte Ps, Byte Pt, Byte Pu)
  2224.    Instruction Type:      CR
  2225.    Execution Slots:       SLOT23
  2226.    ========================================================================== */
  2227.  
  2228. #define Q6_p_and_or_ppp __builtin_HEXAGON_C4_and_or
  2229.  
  2230. /* ==========================================================================
  2231.    Assembly Syntax:       Pd4=and(Ps4,or(Pt4,!Pu4))
  2232.    C Intrinsic Prototype: Byte Q6_p_and_or_ppnp(Byte Ps, Byte Pt, Byte Pu)
  2233.    Instruction Type:      CR
  2234.    Execution Slots:       SLOT23
  2235.    ========================================================================== */
  2236.  
  2237. #define Q6_p_and_or_ppnp __builtin_HEXAGON_C4_and_orn
  2238.  
  2239. /* ==========================================================================
  2240.    Assembly Syntax:       Pd4=!cmp.gt(Rs32,Rt32)
  2241.    C Intrinsic Prototype: Byte Q6_p_not_cmp_gt_RR(Word32 Rs, Word32 Rt)
  2242.    Instruction Type:      ALU32_3op
  2243.    Execution Slots:       SLOT0123
  2244.    ========================================================================== */
  2245.  
  2246. #define Q6_p_not_cmp_gt_RR __builtin_HEXAGON_C4_cmplte
  2247.  
  2248. /* ==========================================================================
  2249.    Assembly Syntax:       Pd4=!cmp.gt(Rs32,#s10)
  2250.    C Intrinsic Prototype: Byte Q6_p_not_cmp_gt_RI(Word32 Rs, Word32 Is10)
  2251.    Instruction Type:      ALU32_2op
  2252.    Execution Slots:       SLOT0123
  2253.    ========================================================================== */
  2254.  
  2255. #define Q6_p_not_cmp_gt_RI __builtin_HEXAGON_C4_cmpltei
  2256.  
  2257. /* ==========================================================================
  2258.    Assembly Syntax:       Pd4=!cmp.gtu(Rs32,Rt32)
  2259.    C Intrinsic Prototype: Byte Q6_p_not_cmp_gtu_RR(Word32 Rs, Word32 Rt)
  2260.    Instruction Type:      ALU32_3op
  2261.    Execution Slots:       SLOT0123
  2262.    ========================================================================== */
  2263.  
  2264. #define Q6_p_not_cmp_gtu_RR __builtin_HEXAGON_C4_cmplteu
  2265.  
  2266. /* ==========================================================================
  2267.    Assembly Syntax:       Pd4=!cmp.gtu(Rs32,#u9)
  2268.    C Intrinsic Prototype: Byte Q6_p_not_cmp_gtu_RI(Word32 Rs, Word32 Iu9)
  2269.    Instruction Type:      ALU32_2op
  2270.    Execution Slots:       SLOT0123
  2271.    ========================================================================== */
  2272.  
  2273. #define Q6_p_not_cmp_gtu_RI __builtin_HEXAGON_C4_cmplteui
  2274.  
  2275. /* ==========================================================================
  2276.    Assembly Syntax:       Pd4=!cmp.eq(Rs32,Rt32)
  2277.    C Intrinsic Prototype: Byte Q6_p_not_cmp_eq_RR(Word32 Rs, Word32 Rt)
  2278.    Instruction Type:      ALU32_3op
  2279.    Execution Slots:       SLOT0123
  2280.    ========================================================================== */
  2281.  
  2282. #define Q6_p_not_cmp_eq_RR __builtin_HEXAGON_C4_cmpneq
  2283.  
  2284. /* ==========================================================================
  2285.    Assembly Syntax:       Pd4=!cmp.eq(Rs32,#s10)
  2286.    C Intrinsic Prototype: Byte Q6_p_not_cmp_eq_RI(Word32 Rs, Word32 Is10)
  2287.    Instruction Type:      ALU32_2op
  2288.    Execution Slots:       SLOT0123
  2289.    ========================================================================== */
  2290.  
  2291. #define Q6_p_not_cmp_eq_RI __builtin_HEXAGON_C4_cmpneqi
  2292.  
  2293. /* ==========================================================================
  2294.    Assembly Syntax:       Pd4=fastcorner9(Ps4,Pt4)
  2295.    C Intrinsic Prototype: Byte Q6_p_fastcorner9_pp(Byte Ps, Byte Pt)
  2296.    Instruction Type:      CR
  2297.    Execution Slots:       SLOT23
  2298.    ========================================================================== */
  2299.  
  2300. #define Q6_p_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9
  2301.  
  2302. /* ==========================================================================
  2303.    Assembly Syntax:       Pd4=!fastcorner9(Ps4,Pt4)
  2304.    C Intrinsic Prototype: Byte Q6_p_not_fastcorner9_pp(Byte Ps, Byte Pt)
  2305.    Instruction Type:      CR
  2306.    Execution Slots:       SLOT23
  2307.    ========================================================================== */
  2308.  
  2309. #define Q6_p_not_fastcorner9_pp __builtin_HEXAGON_C4_fastcorner9_not
  2310.  
  2311. /* ==========================================================================
  2312.    Assembly Syntax:       Pd4=!bitsclr(Rs32,Rt32)
  2313.    C Intrinsic Prototype: Byte Q6_p_not_bitsclr_RR(Word32 Rs, Word32 Rt)
  2314.    Instruction Type:      S_3op
  2315.    Execution Slots:       SLOT23
  2316.    ========================================================================== */
  2317.  
  2318. #define Q6_p_not_bitsclr_RR __builtin_HEXAGON_C4_nbitsclr
  2319.  
  2320. /* ==========================================================================
  2321.    Assembly Syntax:       Pd4=!bitsclr(Rs32,#u6)
  2322.    C Intrinsic Prototype: Byte Q6_p_not_bitsclr_RI(Word32 Rs, Word32 Iu6)
  2323.    Instruction Type:      S_2op
  2324.    Execution Slots:       SLOT23
  2325.    ========================================================================== */
  2326.  
  2327. #define Q6_p_not_bitsclr_RI __builtin_HEXAGON_C4_nbitsclri
  2328.  
  2329. /* ==========================================================================
  2330.    Assembly Syntax:       Pd4=!bitsset(Rs32,Rt32)
  2331.    C Intrinsic Prototype: Byte Q6_p_not_bitsset_RR(Word32 Rs, Word32 Rt)
  2332.    Instruction Type:      S_3op
  2333.    Execution Slots:       SLOT23
  2334.    ========================================================================== */
  2335.  
  2336. #define Q6_p_not_bitsset_RR __builtin_HEXAGON_C4_nbitsset
  2337.  
  2338. /* ==========================================================================
  2339.    Assembly Syntax:       Pd4=or(Ps4,and(Pt4,Pu4))
  2340.    C Intrinsic Prototype: Byte Q6_p_or_and_ppp(Byte Ps, Byte Pt, Byte Pu)
  2341.    Instruction Type:      CR
  2342.    Execution Slots:       SLOT23
  2343.    ========================================================================== */
  2344.  
  2345. #define Q6_p_or_and_ppp __builtin_HEXAGON_C4_or_and
  2346.  
  2347. /* ==========================================================================
  2348.    Assembly Syntax:       Pd4=or(Ps4,and(Pt4,!Pu4))
  2349.    C Intrinsic Prototype: Byte Q6_p_or_and_ppnp(Byte Ps, Byte Pt, Byte Pu)
  2350.    Instruction Type:      CR
  2351.    Execution Slots:       SLOT23
  2352.    ========================================================================== */
  2353.  
  2354. #define Q6_p_or_and_ppnp __builtin_HEXAGON_C4_or_andn
  2355.  
  2356. /* ==========================================================================
  2357.    Assembly Syntax:       Pd4=or(Ps4,or(Pt4,Pu4))
  2358.    C Intrinsic Prototype: Byte Q6_p_or_or_ppp(Byte Ps, Byte Pt, Byte Pu)
  2359.    Instruction Type:      CR
  2360.    Execution Slots:       SLOT23
  2361.    ========================================================================== */
  2362.  
  2363. #define Q6_p_or_or_ppp __builtin_HEXAGON_C4_or_or
  2364.  
  2365. /* ==========================================================================
  2366.    Assembly Syntax:       Pd4=or(Ps4,or(Pt4,!Pu4))
  2367.    C Intrinsic Prototype: Byte Q6_p_or_or_ppnp(Byte Ps, Byte Pt, Byte Pu)
  2368.    Instruction Type:      CR
  2369.    Execution Slots:       SLOT23
  2370.    ========================================================================== */
  2371.  
  2372. #define Q6_p_or_or_ppnp __builtin_HEXAGON_C4_or_orn
  2373.  
  2374. /* ==========================================================================
  2375.    Assembly Syntax:       Rdd32=convert_d2df(Rss32)
  2376.    C Intrinsic Prototype: Float64 Q6_P_convert_d2df_P(Word64 Rss)
  2377.    Instruction Type:      S_2op
  2378.    Execution Slots:       SLOT23
  2379.    ========================================================================== */
  2380.  
  2381. #define Q6_P_convert_d2df_P __builtin_HEXAGON_F2_conv_d2df
  2382.  
  2383. /* ==========================================================================
  2384.    Assembly Syntax:       Rd32=convert_d2sf(Rss32)
  2385.    C Intrinsic Prototype: Float32 Q6_R_convert_d2sf_P(Word64 Rss)
  2386.    Instruction Type:      S_2op
  2387.    Execution Slots:       SLOT23
  2388.    ========================================================================== */
  2389.  
  2390. #define Q6_R_convert_d2sf_P __builtin_HEXAGON_F2_conv_d2sf
  2391.  
  2392. /* ==========================================================================
  2393.    Assembly Syntax:       Rdd32=convert_df2d(Rss32)
  2394.    C Intrinsic Prototype: Word64 Q6_P_convert_df2d_P(Float64 Rss)
  2395.    Instruction Type:      S_2op
  2396.    Execution Slots:       SLOT23
  2397.    ========================================================================== */
  2398.  
  2399. #define Q6_P_convert_df2d_P __builtin_HEXAGON_F2_conv_df2d
  2400.  
  2401. /* ==========================================================================
  2402.    Assembly Syntax:       Rdd32=convert_df2d(Rss32):chop
  2403.    C Intrinsic Prototype: Word64 Q6_P_convert_df2d_P_chop(Float64 Rss)
  2404.    Instruction Type:      S_2op
  2405.    Execution Slots:       SLOT23
  2406.    ========================================================================== */
  2407.  
  2408. #define Q6_P_convert_df2d_P_chop __builtin_HEXAGON_F2_conv_df2d_chop
  2409.  
  2410. /* ==========================================================================
  2411.    Assembly Syntax:       Rd32=convert_df2sf(Rss32)
  2412.    C Intrinsic Prototype: Float32 Q6_R_convert_df2sf_P(Float64 Rss)
  2413.    Instruction Type:      S_2op
  2414.    Execution Slots:       SLOT23
  2415.    ========================================================================== */
  2416.  
  2417. #define Q6_R_convert_df2sf_P __builtin_HEXAGON_F2_conv_df2sf
  2418.  
  2419. /* ==========================================================================
  2420.    Assembly Syntax:       Rdd32=convert_df2ud(Rss32)
  2421.    C Intrinsic Prototype: Word64 Q6_P_convert_df2ud_P(Float64 Rss)
  2422.    Instruction Type:      S_2op
  2423.    Execution Slots:       SLOT23
  2424.    ========================================================================== */
  2425.  
  2426. #define Q6_P_convert_df2ud_P __builtin_HEXAGON_F2_conv_df2ud
  2427.  
  2428. /* ==========================================================================
  2429.    Assembly Syntax:       Rdd32=convert_df2ud(Rss32):chop
  2430.    C Intrinsic Prototype: Word64 Q6_P_convert_df2ud_P_chop(Float64 Rss)
  2431.    Instruction Type:      S_2op
  2432.    Execution Slots:       SLOT23
  2433.    ========================================================================== */
  2434.  
  2435. #define Q6_P_convert_df2ud_P_chop __builtin_HEXAGON_F2_conv_df2ud_chop
  2436.  
  2437. /* ==========================================================================
  2438.    Assembly Syntax:       Rd32=convert_df2uw(Rss32)
  2439.    C Intrinsic Prototype: Word32 Q6_R_convert_df2uw_P(Float64 Rss)
  2440.    Instruction Type:      S_2op
  2441.    Execution Slots:       SLOT23
  2442.    ========================================================================== */
  2443.  
  2444. #define Q6_R_convert_df2uw_P __builtin_HEXAGON_F2_conv_df2uw
  2445.  
  2446. /* ==========================================================================
  2447.    Assembly Syntax:       Rd32=convert_df2uw(Rss32):chop
  2448.    C Intrinsic Prototype: Word32 Q6_R_convert_df2uw_P_chop(Float64 Rss)
  2449.    Instruction Type:      S_2op
  2450.    Execution Slots:       SLOT23
  2451.    ========================================================================== */
  2452.  
  2453. #define Q6_R_convert_df2uw_P_chop __builtin_HEXAGON_F2_conv_df2uw_chop
  2454.  
  2455. /* ==========================================================================
  2456.    Assembly Syntax:       Rd32=convert_df2w(Rss32)
  2457.    C Intrinsic Prototype: Word32 Q6_R_convert_df2w_P(Float64 Rss)
  2458.    Instruction Type:      S_2op
  2459.    Execution Slots:       SLOT23
  2460.    ========================================================================== */
  2461.  
  2462. #define Q6_R_convert_df2w_P __builtin_HEXAGON_F2_conv_df2w
  2463.  
  2464. /* ==========================================================================
  2465.    Assembly Syntax:       Rd32=convert_df2w(Rss32):chop
  2466.    C Intrinsic Prototype: Word32 Q6_R_convert_df2w_P_chop(Float64 Rss)
  2467.    Instruction Type:      S_2op
  2468.    Execution Slots:       SLOT23
  2469.    ========================================================================== */
  2470.  
  2471. #define Q6_R_convert_df2w_P_chop __builtin_HEXAGON_F2_conv_df2w_chop
  2472.  
  2473. /* ==========================================================================
  2474.    Assembly Syntax:       Rdd32=convert_sf2d(Rs32)
  2475.    C Intrinsic Prototype: Word64 Q6_P_convert_sf2d_R(Float32 Rs)
  2476.    Instruction Type:      S_2op
  2477.    Execution Slots:       SLOT23
  2478.    ========================================================================== */
  2479.  
  2480. #define Q6_P_convert_sf2d_R __builtin_HEXAGON_F2_conv_sf2d
  2481.  
  2482. /* ==========================================================================
  2483.    Assembly Syntax:       Rdd32=convert_sf2d(Rs32):chop
  2484.    C Intrinsic Prototype: Word64 Q6_P_convert_sf2d_R_chop(Float32 Rs)
  2485.    Instruction Type:      S_2op
  2486.    Execution Slots:       SLOT23
  2487.    ========================================================================== */
  2488.  
  2489. #define Q6_P_convert_sf2d_R_chop __builtin_HEXAGON_F2_conv_sf2d_chop
  2490.  
  2491. /* ==========================================================================
  2492.    Assembly Syntax:       Rdd32=convert_sf2df(Rs32)
  2493.    C Intrinsic Prototype: Float64 Q6_P_convert_sf2df_R(Float32 Rs)
  2494.    Instruction Type:      S_2op
  2495.    Execution Slots:       SLOT23
  2496.    ========================================================================== */
  2497.  
  2498. #define Q6_P_convert_sf2df_R __builtin_HEXAGON_F2_conv_sf2df
  2499.  
  2500. /* ==========================================================================
  2501.    Assembly Syntax:       Rdd32=convert_sf2ud(Rs32)
  2502.    C Intrinsic Prototype: Word64 Q6_P_convert_sf2ud_R(Float32 Rs)
  2503.    Instruction Type:      S_2op
  2504.    Execution Slots:       SLOT23
  2505.    ========================================================================== */
  2506.  
  2507. #define Q6_P_convert_sf2ud_R __builtin_HEXAGON_F2_conv_sf2ud
  2508.  
  2509. /* ==========================================================================
  2510.    Assembly Syntax:       Rdd32=convert_sf2ud(Rs32):chop
  2511.    C Intrinsic Prototype: Word64 Q6_P_convert_sf2ud_R_chop(Float32 Rs)
  2512.    Instruction Type:      S_2op
  2513.    Execution Slots:       SLOT23
  2514.    ========================================================================== */
  2515.  
  2516. #define Q6_P_convert_sf2ud_R_chop __builtin_HEXAGON_F2_conv_sf2ud_chop
  2517.  
  2518. /* ==========================================================================
  2519.    Assembly Syntax:       Rd32=convert_sf2uw(Rs32)
  2520.    C Intrinsic Prototype: Word32 Q6_R_convert_sf2uw_R(Float32 Rs)
  2521.    Instruction Type:      S_2op
  2522.    Execution Slots:       SLOT23
  2523.    ========================================================================== */
  2524.  
  2525. #define Q6_R_convert_sf2uw_R __builtin_HEXAGON_F2_conv_sf2uw
  2526.  
  2527. /* ==========================================================================
  2528.    Assembly Syntax:       Rd32=convert_sf2uw(Rs32):chop
  2529.    C Intrinsic Prototype: Word32 Q6_R_convert_sf2uw_R_chop(Float32 Rs)
  2530.    Instruction Type:      S_2op
  2531.    Execution Slots:       SLOT23
  2532.    ========================================================================== */
  2533.  
  2534. #define Q6_R_convert_sf2uw_R_chop __builtin_HEXAGON_F2_conv_sf2uw_chop
  2535.  
  2536. /* ==========================================================================
  2537.    Assembly Syntax:       Rd32=convert_sf2w(Rs32)
  2538.    C Intrinsic Prototype: Word32 Q6_R_convert_sf2w_R(Float32 Rs)
  2539.    Instruction Type:      S_2op
  2540.    Execution Slots:       SLOT23
  2541.    ========================================================================== */
  2542.  
  2543. #define Q6_R_convert_sf2w_R __builtin_HEXAGON_F2_conv_sf2w
  2544.  
  2545. /* ==========================================================================
  2546.    Assembly Syntax:       Rd32=convert_sf2w(Rs32):chop
  2547.    C Intrinsic Prototype: Word32 Q6_R_convert_sf2w_R_chop(Float32 Rs)
  2548.    Instruction Type:      S_2op
  2549.    Execution Slots:       SLOT23
  2550.    ========================================================================== */
  2551.  
  2552. #define Q6_R_convert_sf2w_R_chop __builtin_HEXAGON_F2_conv_sf2w_chop
  2553.  
  2554. /* ==========================================================================
  2555.    Assembly Syntax:       Rdd32=convert_ud2df(Rss32)
  2556.    C Intrinsic Prototype: Float64 Q6_P_convert_ud2df_P(Word64 Rss)
  2557.    Instruction Type:      S_2op
  2558.    Execution Slots:       SLOT23
  2559.    ========================================================================== */
  2560.  
  2561. #define Q6_P_convert_ud2df_P __builtin_HEXAGON_F2_conv_ud2df
  2562.  
  2563. /* ==========================================================================
  2564.    Assembly Syntax:       Rd32=convert_ud2sf(Rss32)
  2565.    C Intrinsic Prototype: Float32 Q6_R_convert_ud2sf_P(Word64 Rss)
  2566.    Instruction Type:      S_2op
  2567.    Execution Slots:       SLOT23
  2568.    ========================================================================== */
  2569.  
  2570. #define Q6_R_convert_ud2sf_P __builtin_HEXAGON_F2_conv_ud2sf
  2571.  
  2572. /* ==========================================================================
  2573.    Assembly Syntax:       Rdd32=convert_uw2df(Rs32)
  2574.    C Intrinsic Prototype: Float64 Q6_P_convert_uw2df_R(Word32 Rs)
  2575.    Instruction Type:      S_2op
  2576.    Execution Slots:       SLOT23
  2577.    ========================================================================== */
  2578.  
  2579. #define Q6_P_convert_uw2df_R __builtin_HEXAGON_F2_conv_uw2df
  2580.  
  2581. /* ==========================================================================
  2582.    Assembly Syntax:       Rd32=convert_uw2sf(Rs32)
  2583.    C Intrinsic Prototype: Float32 Q6_R_convert_uw2sf_R(Word32 Rs)
  2584.    Instruction Type:      S_2op
  2585.    Execution Slots:       SLOT23
  2586.    ========================================================================== */
  2587.  
  2588. #define Q6_R_convert_uw2sf_R __builtin_HEXAGON_F2_conv_uw2sf
  2589.  
  2590. /* ==========================================================================
  2591.    Assembly Syntax:       Rdd32=convert_w2df(Rs32)
  2592.    C Intrinsic Prototype: Float64 Q6_P_convert_w2df_R(Word32 Rs)
  2593.    Instruction Type:      S_2op
  2594.    Execution Slots:       SLOT23
  2595.    ========================================================================== */
  2596.  
  2597. #define Q6_P_convert_w2df_R __builtin_HEXAGON_F2_conv_w2df
  2598.  
  2599. /* ==========================================================================
  2600.    Assembly Syntax:       Rd32=convert_w2sf(Rs32)
  2601.    C Intrinsic Prototype: Float32 Q6_R_convert_w2sf_R(Word32 Rs)
  2602.    Instruction Type:      S_2op
  2603.    Execution Slots:       SLOT23
  2604.    ========================================================================== */
  2605.  
  2606. #define Q6_R_convert_w2sf_R __builtin_HEXAGON_F2_conv_w2sf
  2607.  
  2608. /* ==========================================================================
  2609.    Assembly Syntax:       Pd4=dfclass(Rss32,#u5)
  2610.    C Intrinsic Prototype: Byte Q6_p_dfclass_PI(Float64 Rss, Word32 Iu5)
  2611.    Instruction Type:      ALU64
  2612.    Execution Slots:       SLOT23
  2613.    ========================================================================== */
  2614.  
  2615. #define Q6_p_dfclass_PI __builtin_HEXAGON_F2_dfclass
  2616.  
  2617. /* ==========================================================================
  2618.    Assembly Syntax:       Pd4=dfcmp.eq(Rss32,Rtt32)
  2619.    C Intrinsic Prototype: Byte Q6_p_dfcmp_eq_PP(Float64 Rss, Float64 Rtt)
  2620.    Instruction Type:      ALU64
  2621.    Execution Slots:       SLOT23
  2622.    ========================================================================== */
  2623.  
  2624. #define Q6_p_dfcmp_eq_PP __builtin_HEXAGON_F2_dfcmpeq
  2625.  
  2626. /* ==========================================================================
  2627.    Assembly Syntax:       Pd4=dfcmp.ge(Rss32,Rtt32)
  2628.    C Intrinsic Prototype: Byte Q6_p_dfcmp_ge_PP(Float64 Rss, Float64 Rtt)
  2629.    Instruction Type:      ALU64
  2630.    Execution Slots:       SLOT23
  2631.    ========================================================================== */
  2632.  
  2633. #define Q6_p_dfcmp_ge_PP __builtin_HEXAGON_F2_dfcmpge
  2634.  
  2635. /* ==========================================================================
  2636.    Assembly Syntax:       Pd4=dfcmp.gt(Rss32,Rtt32)
  2637.    C Intrinsic Prototype: Byte Q6_p_dfcmp_gt_PP(Float64 Rss, Float64 Rtt)
  2638.    Instruction Type:      ALU64
  2639.    Execution Slots:       SLOT23
  2640.    ========================================================================== */
  2641.  
  2642. #define Q6_p_dfcmp_gt_PP __builtin_HEXAGON_F2_dfcmpgt
  2643.  
  2644. /* ==========================================================================
  2645.    Assembly Syntax:       Pd4=dfcmp.uo(Rss32,Rtt32)
  2646.    C Intrinsic Prototype: Byte Q6_p_dfcmp_uo_PP(Float64 Rss, Float64 Rtt)
  2647.    Instruction Type:      ALU64
  2648.    Execution Slots:       SLOT23
  2649.    ========================================================================== */
  2650.  
  2651. #define Q6_p_dfcmp_uo_PP __builtin_HEXAGON_F2_dfcmpuo
  2652.  
  2653. /* ==========================================================================
  2654.    Assembly Syntax:       Rdd32=dfmake(#u10):neg
  2655.    C Intrinsic Prototype: Float64 Q6_P_dfmake_I_neg(Word32 Iu10)
  2656.    Instruction Type:      ALU64
  2657.    Execution Slots:       SLOT23
  2658.    ========================================================================== */
  2659.  
  2660. #define Q6_P_dfmake_I_neg __builtin_HEXAGON_F2_dfimm_n
  2661.  
  2662. /* ==========================================================================
  2663.    Assembly Syntax:       Rdd32=dfmake(#u10):pos
  2664.    C Intrinsic Prototype: Float64 Q6_P_dfmake_I_pos(Word32 Iu10)
  2665.    Instruction Type:      ALU64
  2666.    Execution Slots:       SLOT23
  2667.    ========================================================================== */
  2668.  
  2669. #define Q6_P_dfmake_I_pos __builtin_HEXAGON_F2_dfimm_p
  2670.  
  2671. /* ==========================================================================
  2672.    Assembly Syntax:       Rd32=sfadd(Rs32,Rt32)
  2673.    C Intrinsic Prototype: Float32 Q6_R_sfadd_RR(Float32 Rs, Float32 Rt)
  2674.    Instruction Type:      M
  2675.    Execution Slots:       SLOT23
  2676.    ========================================================================== */
  2677.  
  2678. #define Q6_R_sfadd_RR __builtin_HEXAGON_F2_sfadd
  2679.  
  2680. /* ==========================================================================
  2681.    Assembly Syntax:       Pd4=sfclass(Rs32,#u5)
  2682.    C Intrinsic Prototype: Byte Q6_p_sfclass_RI(Float32 Rs, Word32 Iu5)
  2683.    Instruction Type:      S_2op
  2684.    Execution Slots:       SLOT23
  2685.    ========================================================================== */
  2686.  
  2687. #define Q6_p_sfclass_RI __builtin_HEXAGON_F2_sfclass
  2688.  
  2689. /* ==========================================================================
  2690.    Assembly Syntax:       Pd4=sfcmp.eq(Rs32,Rt32)
  2691.    C Intrinsic Prototype: Byte Q6_p_sfcmp_eq_RR(Float32 Rs, Float32 Rt)
  2692.    Instruction Type:      S_3op
  2693.    Execution Slots:       SLOT23
  2694.    ========================================================================== */
  2695.  
  2696. #define Q6_p_sfcmp_eq_RR __builtin_HEXAGON_F2_sfcmpeq
  2697.  
  2698. /* ==========================================================================
  2699.    Assembly Syntax:       Pd4=sfcmp.ge(Rs32,Rt32)
  2700.    C Intrinsic Prototype: Byte Q6_p_sfcmp_ge_RR(Float32 Rs, Float32 Rt)
  2701.    Instruction Type:      S_3op
  2702.    Execution Slots:       SLOT23
  2703.    ========================================================================== */
  2704.  
  2705. #define Q6_p_sfcmp_ge_RR __builtin_HEXAGON_F2_sfcmpge
  2706.  
  2707. /* ==========================================================================
  2708.    Assembly Syntax:       Pd4=sfcmp.gt(Rs32,Rt32)
  2709.    C Intrinsic Prototype: Byte Q6_p_sfcmp_gt_RR(Float32 Rs, Float32 Rt)
  2710.    Instruction Type:      S_3op
  2711.    Execution Slots:       SLOT23
  2712.    ========================================================================== */
  2713.  
  2714. #define Q6_p_sfcmp_gt_RR __builtin_HEXAGON_F2_sfcmpgt
  2715.  
  2716. /* ==========================================================================
  2717.    Assembly Syntax:       Pd4=sfcmp.uo(Rs32,Rt32)
  2718.    C Intrinsic Prototype: Byte Q6_p_sfcmp_uo_RR(Float32 Rs, Float32 Rt)
  2719.    Instruction Type:      S_3op
  2720.    Execution Slots:       SLOT23
  2721.    ========================================================================== */
  2722.  
  2723. #define Q6_p_sfcmp_uo_RR __builtin_HEXAGON_F2_sfcmpuo
  2724.  
  2725. /* ==========================================================================
  2726.    Assembly Syntax:       Rd32=sffixupd(Rs32,Rt32)
  2727.    C Intrinsic Prototype: Float32 Q6_R_sffixupd_RR(Float32 Rs, Float32 Rt)
  2728.    Instruction Type:      M
  2729.    Execution Slots:       SLOT23
  2730.    ========================================================================== */
  2731.  
  2732. #define Q6_R_sffixupd_RR __builtin_HEXAGON_F2_sffixupd
  2733.  
  2734. /* ==========================================================================
  2735.    Assembly Syntax:       Rd32=sffixupn(Rs32,Rt32)
  2736.    C Intrinsic Prototype: Float32 Q6_R_sffixupn_RR(Float32 Rs, Float32 Rt)
  2737.    Instruction Type:      M
  2738.    Execution Slots:       SLOT23
  2739.    ========================================================================== */
  2740.  
  2741. #define Q6_R_sffixupn_RR __builtin_HEXAGON_F2_sffixupn
  2742.  
  2743. /* ==========================================================================
  2744.    Assembly Syntax:       Rd32=sffixupr(Rs32)
  2745.    C Intrinsic Prototype: Float32 Q6_R_sffixupr_R(Float32 Rs)
  2746.    Instruction Type:      S_2op
  2747.    Execution Slots:       SLOT23
  2748.    ========================================================================== */
  2749.  
  2750. #define Q6_R_sffixupr_R __builtin_HEXAGON_F2_sffixupr
  2751.  
  2752. /* ==========================================================================
  2753.    Assembly Syntax:       Rx32+=sfmpy(Rs32,Rt32)
  2754.    C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RR(Float32 Rx, Float32 Rs, Float32 Rt)
  2755.    Instruction Type:      M
  2756.    Execution Slots:       SLOT23
  2757.    ========================================================================== */
  2758.  
  2759. #define Q6_R_sfmpyacc_RR __builtin_HEXAGON_F2_sffma
  2760.  
  2761. /* ==========================================================================
  2762.    Assembly Syntax:       Rx32+=sfmpy(Rs32,Rt32):lib
  2763.    C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RR_lib(Float32 Rx, Float32 Rs, Float32 Rt)
  2764.    Instruction Type:      M
  2765.    Execution Slots:       SLOT23
  2766.    ========================================================================== */
  2767.  
  2768. #define Q6_R_sfmpyacc_RR_lib __builtin_HEXAGON_F2_sffma_lib
  2769.  
  2770. /* ==========================================================================
  2771.    Assembly Syntax:       Rx32+=sfmpy(Rs32,Rt32,Pu4):scale
  2772.    C Intrinsic Prototype: Float32 Q6_R_sfmpyacc_RRp_scale(Float32 Rx, Float32 Rs, Float32 Rt, Byte Pu)
  2773.    Instruction Type:      M
  2774.    Execution Slots:       SLOT23
  2775.    ========================================================================== */
  2776.  
  2777. #define Q6_R_sfmpyacc_RRp_scale __builtin_HEXAGON_F2_sffma_sc
  2778.  
  2779. /* ==========================================================================
  2780.    Assembly Syntax:       Rx32-=sfmpy(Rs32,Rt32)
  2781.    C Intrinsic Prototype: Float32 Q6_R_sfmpynac_RR(Float32 Rx, Float32 Rs, Float32 Rt)
  2782.    Instruction Type:      M
  2783.    Execution Slots:       SLOT23
  2784.    ========================================================================== */
  2785.  
  2786. #define Q6_R_sfmpynac_RR __builtin_HEXAGON_F2_sffms
  2787.  
  2788. /* ==========================================================================
  2789.    Assembly Syntax:       Rx32-=sfmpy(Rs32,Rt32):lib
  2790.    C Intrinsic Prototype: Float32 Q6_R_sfmpynac_RR_lib(Float32 Rx, Float32 Rs, Float32 Rt)
  2791.    Instruction Type:      M
  2792.    Execution Slots:       SLOT23
  2793.    ========================================================================== */
  2794.  
  2795. #define Q6_R_sfmpynac_RR_lib __builtin_HEXAGON_F2_sffms_lib
  2796.  
  2797. /* ==========================================================================
  2798.    Assembly Syntax:       Rd32=sfmake(#u10):neg
  2799.    C Intrinsic Prototype: Float32 Q6_R_sfmake_I_neg(Word32 Iu10)
  2800.    Instruction Type:      ALU64
  2801.    Execution Slots:       SLOT23
  2802.    ========================================================================== */
  2803.  
  2804. #define Q6_R_sfmake_I_neg __builtin_HEXAGON_F2_sfimm_n
  2805.  
  2806. /* ==========================================================================
  2807.    Assembly Syntax:       Rd32=sfmake(#u10):pos
  2808.    C Intrinsic Prototype: Float32 Q6_R_sfmake_I_pos(Word32 Iu10)
  2809.    Instruction Type:      ALU64
  2810.    Execution Slots:       SLOT23
  2811.    ========================================================================== */
  2812.  
  2813. #define Q6_R_sfmake_I_pos __builtin_HEXAGON_F2_sfimm_p
  2814.  
  2815. /* ==========================================================================
  2816.    Assembly Syntax:       Rd32=sfmax(Rs32,Rt32)
  2817.    C Intrinsic Prototype: Float32 Q6_R_sfmax_RR(Float32 Rs, Float32 Rt)
  2818.    Instruction Type:      M
  2819.    Execution Slots:       SLOT23
  2820.    ========================================================================== */
  2821.  
  2822. #define Q6_R_sfmax_RR __builtin_HEXAGON_F2_sfmax
  2823.  
  2824. /* ==========================================================================
  2825.    Assembly Syntax:       Rd32=sfmin(Rs32,Rt32)
  2826.    C Intrinsic Prototype: Float32 Q6_R_sfmin_RR(Float32 Rs, Float32 Rt)
  2827.    Instruction Type:      M
  2828.    Execution Slots:       SLOT23
  2829.    ========================================================================== */
  2830.  
  2831. #define Q6_R_sfmin_RR __builtin_HEXAGON_F2_sfmin
  2832.  
  2833. /* ==========================================================================
  2834.    Assembly Syntax:       Rd32=sfmpy(Rs32,Rt32)
  2835.    C Intrinsic Prototype: Float32 Q6_R_sfmpy_RR(Float32 Rs, Float32 Rt)
  2836.    Instruction Type:      M
  2837.    Execution Slots:       SLOT23
  2838.    ========================================================================== */
  2839.  
  2840. #define Q6_R_sfmpy_RR __builtin_HEXAGON_F2_sfmpy
  2841.  
  2842. /* ==========================================================================
  2843.    Assembly Syntax:       Rd32=sfsub(Rs32,Rt32)
  2844.    C Intrinsic Prototype: Float32 Q6_R_sfsub_RR(Float32 Rs, Float32 Rt)
  2845.    Instruction Type:      M
  2846.    Execution Slots:       SLOT23
  2847.    ========================================================================== */
  2848.  
  2849. #define Q6_R_sfsub_RR __builtin_HEXAGON_F2_sfsub
  2850.  
  2851. /* ==========================================================================
  2852.    Assembly Syntax:       Rd32=memb(Rx32++#s4:0:circ(Mu2))
  2853.    C Intrinsic Prototype: Word32 Q6_R_memb_IM_circ(void** Rx, Word32 Is4_0, Word32 Mu, void* BaseAddress)
  2854.    Instruction Type:      LD
  2855.    Execution Slots:       SLOT01
  2856.    ========================================================================== */
  2857.  
  2858. #define Q6_R_memb_IM_circ __builtin_HEXAGON_L2_loadrb_pci
  2859.  
  2860. /* ==========================================================================
  2861.    Assembly Syntax:       Rd32=memb(Rx32++I:circ(Mu2))
  2862.    C Intrinsic Prototype: Word32 Q6_R_memb_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2863.    Instruction Type:      LD
  2864.    Execution Slots:       SLOT01
  2865.    ========================================================================== */
  2866.  
  2867. #define Q6_R_memb_M_circ __builtin_HEXAGON_L2_loadrb_pcr
  2868.  
  2869. /* ==========================================================================
  2870.    Assembly Syntax:       Rdd32=memd(Rx32++#s4:3:circ(Mu2))
  2871.    C Intrinsic Prototype: Word64 Q6_P_memd_IM_circ(void** Rx, Word32 Is4_3, Word32 Mu, void* BaseAddress)
  2872.    Instruction Type:      LD
  2873.    Execution Slots:       SLOT01
  2874.    ========================================================================== */
  2875.  
  2876. #define Q6_P_memd_IM_circ __builtin_HEXAGON_L2_loadrd_pci
  2877.  
  2878. /* ==========================================================================
  2879.    Assembly Syntax:       Rdd32=memd(Rx32++I:circ(Mu2))
  2880.    C Intrinsic Prototype: Word64 Q6_P_memd_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2881.    Instruction Type:      LD
  2882.    Execution Slots:       SLOT01
  2883.    ========================================================================== */
  2884.  
  2885. #define Q6_P_memd_M_circ __builtin_HEXAGON_L2_loadrd_pcr
  2886.  
  2887. /* ==========================================================================
  2888.    Assembly Syntax:       Rd32=memh(Rx32++#s4:1:circ(Mu2))
  2889.    C Intrinsic Prototype: Word32 Q6_R_memh_IM_circ(void** Rx, Word32 Is4_1, Word32 Mu, void* BaseAddress)
  2890.    Instruction Type:      LD
  2891.    Execution Slots:       SLOT01
  2892.    ========================================================================== */
  2893.  
  2894. #define Q6_R_memh_IM_circ __builtin_HEXAGON_L2_loadrh_pci
  2895.  
  2896. /* ==========================================================================
  2897.    Assembly Syntax:       Rd32=memh(Rx32++I:circ(Mu2))
  2898.    C Intrinsic Prototype: Word32 Q6_R_memh_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2899.    Instruction Type:      LD
  2900.    Execution Slots:       SLOT01
  2901.    ========================================================================== */
  2902.  
  2903. #define Q6_R_memh_M_circ __builtin_HEXAGON_L2_loadrh_pcr
  2904.  
  2905. /* ==========================================================================
  2906.    Assembly Syntax:       Rd32=memw(Rx32++#s4:2:circ(Mu2))
  2907.    C Intrinsic Prototype: Word32 Q6_R_memw_IM_circ(void** Rx, Word32 Is4_2, Word32 Mu, void* BaseAddress)
  2908.    Instruction Type:      LD
  2909.    Execution Slots:       SLOT01
  2910.    ========================================================================== */
  2911.  
  2912. #define Q6_R_memw_IM_circ __builtin_HEXAGON_L2_loadri_pci
  2913.  
  2914. /* ==========================================================================
  2915.    Assembly Syntax:       Rd32=memw(Rx32++I:circ(Mu2))
  2916.    C Intrinsic Prototype: Word32 Q6_R_memw_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2917.    Instruction Type:      LD
  2918.    Execution Slots:       SLOT01
  2919.    ========================================================================== */
  2920.  
  2921. #define Q6_R_memw_M_circ __builtin_HEXAGON_L2_loadri_pcr
  2922.  
  2923. /* ==========================================================================
  2924.    Assembly Syntax:       Rd32=memub(Rx32++#s4:0:circ(Mu2))
  2925.    C Intrinsic Prototype: Word32 Q6_R_memub_IM_circ(void** Rx, Word32 Is4_0, Word32 Mu, void* BaseAddress)
  2926.    Instruction Type:      LD
  2927.    Execution Slots:       SLOT01
  2928.    ========================================================================== */
  2929.  
  2930. #define Q6_R_memub_IM_circ __builtin_HEXAGON_L2_loadrub_pci
  2931.  
  2932. /* ==========================================================================
  2933.    Assembly Syntax:       Rd32=memub(Rx32++I:circ(Mu2))
  2934.    C Intrinsic Prototype: Word32 Q6_R_memub_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2935.    Instruction Type:      LD
  2936.    Execution Slots:       SLOT01
  2937.    ========================================================================== */
  2938.  
  2939. #define Q6_R_memub_M_circ __builtin_HEXAGON_L2_loadrub_pcr
  2940.  
  2941. /* ==========================================================================
  2942.    Assembly Syntax:       Rd32=memuh(Rx32++#s4:1:circ(Mu2))
  2943.    C Intrinsic Prototype: Word32 Q6_R_memuh_IM_circ(void** Rx, Word32 Is4_1, Word32 Mu, void* BaseAddress)
  2944.    Instruction Type:      LD
  2945.    Execution Slots:       SLOT01
  2946.    ========================================================================== */
  2947.  
  2948. #define Q6_R_memuh_IM_circ __builtin_HEXAGON_L2_loadruh_pci
  2949.  
  2950. /* ==========================================================================
  2951.    Assembly Syntax:       Rd32=memuh(Rx32++I:circ(Mu2))
  2952.    C Intrinsic Prototype: Word32 Q6_R_memuh_M_circ(void** Rx, Word32 Mu, void* BaseAddress)
  2953.    Instruction Type:      LD
  2954.    Execution Slots:       SLOT01
  2955.    ========================================================================== */
  2956.  
  2957. #define Q6_R_memuh_M_circ __builtin_HEXAGON_L2_loadruh_pcr
  2958.  
  2959. /* ==========================================================================
  2960.    Assembly Syntax:       Rx32+=add(Rs32,Rt32)
  2961.    C Intrinsic Prototype: Word32 Q6_R_addacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  2962.    Instruction Type:      M
  2963.    Execution Slots:       SLOT23
  2964.    ========================================================================== */
  2965.  
  2966. #define Q6_R_addacc_RR __builtin_HEXAGON_M2_acci
  2967.  
  2968. /* ==========================================================================
  2969.    Assembly Syntax:       Rx32+=add(Rs32,#s8)
  2970.    C Intrinsic Prototype: Word32 Q6_R_addacc_RI(Word32 Rx, Word32 Rs, Word32 Is8)
  2971.    Instruction Type:      M
  2972.    Execution Slots:       SLOT23
  2973.    ========================================================================== */
  2974.  
  2975. #define Q6_R_addacc_RI __builtin_HEXAGON_M2_accii
  2976.  
  2977. /* ==========================================================================
  2978.    Assembly Syntax:       Rxx32+=cmpyi(Rs32,Rt32)
  2979.    C Intrinsic Prototype: Word64 Q6_P_cmpyiacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  2980.    Instruction Type:      M
  2981.    Execution Slots:       SLOT23
  2982.    ========================================================================== */
  2983.  
  2984. #define Q6_P_cmpyiacc_RR __builtin_HEXAGON_M2_cmaci_s0
  2985.  
  2986. /* ==========================================================================
  2987.    Assembly Syntax:       Rxx32+=cmpyr(Rs32,Rt32)
  2988.    C Intrinsic Prototype: Word64 Q6_P_cmpyracc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  2989.    Instruction Type:      M
  2990.    Execution Slots:       SLOT23
  2991.    ========================================================================== */
  2992.  
  2993. #define Q6_P_cmpyracc_RR __builtin_HEXAGON_M2_cmacr_s0
  2994.  
  2995. /* ==========================================================================
  2996.    Assembly Syntax:       Rxx32+=cmpy(Rs32,Rt32):sat
  2997.    C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  2998.    Instruction Type:      M
  2999.    Execution Slots:       SLOT23
  3000.    ========================================================================== */
  3001.  
  3002. #define Q6_P_cmpyacc_RR_sat __builtin_HEXAGON_M2_cmacs_s0
  3003.  
  3004. /* ==========================================================================
  3005.    Assembly Syntax:       Rxx32+=cmpy(Rs32,Rt32):<<1:sat
  3006.    C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3007.    Instruction Type:      M
  3008.    Execution Slots:       SLOT23
  3009.    ========================================================================== */
  3010.  
  3011. #define Q6_P_cmpyacc_RR_s1_sat __builtin_HEXAGON_M2_cmacs_s1
  3012.  
  3013. /* ==========================================================================
  3014.    Assembly Syntax:       Rxx32+=cmpy(Rs32,Rt32*):sat
  3015.    C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_conj_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3016.    Instruction Type:      M
  3017.    Execution Slots:       SLOT23
  3018.    ========================================================================== */
  3019.  
  3020. #define Q6_P_cmpyacc_RR_conj_sat __builtin_HEXAGON_M2_cmacsc_s0
  3021.  
  3022. /* ==========================================================================
  3023.    Assembly Syntax:       Rxx32+=cmpy(Rs32,Rt32*):<<1:sat
  3024.    C Intrinsic Prototype: Word64 Q6_P_cmpyacc_RR_conj_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3025.    Instruction Type:      M
  3026.    Execution Slots:       SLOT23
  3027.    ========================================================================== */
  3028.  
  3029. #define Q6_P_cmpyacc_RR_conj_s1_sat __builtin_HEXAGON_M2_cmacsc_s1
  3030.  
  3031. /* ==========================================================================
  3032.    Assembly Syntax:       Rdd32=cmpyi(Rs32,Rt32)
  3033.    C Intrinsic Prototype: Word64 Q6_P_cmpyi_RR(Word32 Rs, Word32 Rt)
  3034.    Instruction Type:      M
  3035.    Execution Slots:       SLOT23
  3036.    ========================================================================== */
  3037.  
  3038. #define Q6_P_cmpyi_RR __builtin_HEXAGON_M2_cmpyi_s0
  3039.  
  3040. /* ==========================================================================
  3041.    Assembly Syntax:       Rdd32=cmpyr(Rs32,Rt32)
  3042.    C Intrinsic Prototype: Word64 Q6_P_cmpyr_RR(Word32 Rs, Word32 Rt)
  3043.    Instruction Type:      M
  3044.    Execution Slots:       SLOT23
  3045.    ========================================================================== */
  3046.  
  3047. #define Q6_P_cmpyr_RR __builtin_HEXAGON_M2_cmpyr_s0
  3048.  
  3049. /* ==========================================================================
  3050.    Assembly Syntax:       Rd32=cmpy(Rs32,Rt32):rnd:sat
  3051.    C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_rnd_sat(Word32 Rs, Word32 Rt)
  3052.    Instruction Type:      M
  3053.    Execution Slots:       SLOT23
  3054.    ========================================================================== */
  3055.  
  3056. #define Q6_R_cmpy_RR_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s0
  3057.  
  3058. /* ==========================================================================
  3059.    Assembly Syntax:       Rd32=cmpy(Rs32,Rt32):<<1:rnd:sat
  3060.    C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_s1_rnd_sat(Word32 Rs, Word32 Rt)
  3061.    Instruction Type:      M
  3062.    Execution Slots:       SLOT23
  3063.    ========================================================================== */
  3064.  
  3065. #define Q6_R_cmpy_RR_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrs_s1
  3066.  
  3067. /* ==========================================================================
  3068.    Assembly Syntax:       Rd32=cmpy(Rs32,Rt32*):rnd:sat
  3069.    C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_conj_rnd_sat(Word32 Rs, Word32 Rt)
  3070.    Instruction Type:      M
  3071.    Execution Slots:       SLOT23
  3072.    ========================================================================== */
  3073.  
  3074. #define Q6_R_cmpy_RR_conj_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s0
  3075.  
  3076. /* ==========================================================================
  3077.    Assembly Syntax:       Rd32=cmpy(Rs32,Rt32*):<<1:rnd:sat
  3078.    C Intrinsic Prototype: Word32 Q6_R_cmpy_RR_conj_s1_rnd_sat(Word32 Rs, Word32 Rt)
  3079.    Instruction Type:      M
  3080.    Execution Slots:       SLOT23
  3081.    ========================================================================== */
  3082.  
  3083. #define Q6_R_cmpy_RR_conj_s1_rnd_sat __builtin_HEXAGON_M2_cmpyrsc_s1
  3084.  
  3085. /* ==========================================================================
  3086.    Assembly Syntax:       Rdd32=cmpy(Rs32,Rt32):sat
  3087.    C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_sat(Word32 Rs, Word32 Rt)
  3088.    Instruction Type:      M
  3089.    Execution Slots:       SLOT23
  3090.    ========================================================================== */
  3091.  
  3092. #define Q6_P_cmpy_RR_sat __builtin_HEXAGON_M2_cmpys_s0
  3093.  
  3094. /* ==========================================================================
  3095.    Assembly Syntax:       Rdd32=cmpy(Rs32,Rt32):<<1:sat
  3096.    C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_s1_sat(Word32 Rs, Word32 Rt)
  3097.    Instruction Type:      M
  3098.    Execution Slots:       SLOT23
  3099.    ========================================================================== */
  3100.  
  3101. #define Q6_P_cmpy_RR_s1_sat __builtin_HEXAGON_M2_cmpys_s1
  3102.  
  3103. /* ==========================================================================
  3104.    Assembly Syntax:       Rdd32=cmpy(Rs32,Rt32*):sat
  3105.    C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_conj_sat(Word32 Rs, Word32 Rt)
  3106.    Instruction Type:      M
  3107.    Execution Slots:       SLOT23
  3108.    ========================================================================== */
  3109.  
  3110. #define Q6_P_cmpy_RR_conj_sat __builtin_HEXAGON_M2_cmpysc_s0
  3111.  
  3112. /* ==========================================================================
  3113.    Assembly Syntax:       Rdd32=cmpy(Rs32,Rt32*):<<1:sat
  3114.    C Intrinsic Prototype: Word64 Q6_P_cmpy_RR_conj_s1_sat(Word32 Rs, Word32 Rt)
  3115.    Instruction Type:      M
  3116.    Execution Slots:       SLOT23
  3117.    ========================================================================== */
  3118.  
  3119. #define Q6_P_cmpy_RR_conj_s1_sat __builtin_HEXAGON_M2_cmpysc_s1
  3120.  
  3121. /* ==========================================================================
  3122.    Assembly Syntax:       Rxx32-=cmpy(Rs32,Rt32):sat
  3123.    C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3124.    Instruction Type:      M
  3125.    Execution Slots:       SLOT23
  3126.    ========================================================================== */
  3127.  
  3128. #define Q6_P_cmpynac_RR_sat __builtin_HEXAGON_M2_cnacs_s0
  3129.  
  3130. /* ==========================================================================
  3131.    Assembly Syntax:       Rxx32-=cmpy(Rs32,Rt32):<<1:sat
  3132.    C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3133.    Instruction Type:      M
  3134.    Execution Slots:       SLOT23
  3135.    ========================================================================== */
  3136.  
  3137. #define Q6_P_cmpynac_RR_s1_sat __builtin_HEXAGON_M2_cnacs_s1
  3138.  
  3139. /* ==========================================================================
  3140.    Assembly Syntax:       Rxx32-=cmpy(Rs32,Rt32*):sat
  3141.    C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_conj_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3142.    Instruction Type:      M
  3143.    Execution Slots:       SLOT23
  3144.    ========================================================================== */
  3145.  
  3146. #define Q6_P_cmpynac_RR_conj_sat __builtin_HEXAGON_M2_cnacsc_s0
  3147.  
  3148. /* ==========================================================================
  3149.    Assembly Syntax:       Rxx32-=cmpy(Rs32,Rt32*):<<1:sat
  3150.    C Intrinsic Prototype: Word64 Q6_P_cmpynac_RR_conj_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  3151.    Instruction Type:      M
  3152.    Execution Slots:       SLOT23
  3153.    ========================================================================== */
  3154.  
  3155. #define Q6_P_cmpynac_RR_conj_s1_sat __builtin_HEXAGON_M2_cnacsc_s1
  3156.  
  3157. /* ==========================================================================
  3158.    Assembly Syntax:       Rxx32+=mpy(Rs32,Rt32)
  3159.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  3160.    Instruction Type:      M
  3161.    Execution Slots:       SLOT23
  3162.    ========================================================================== */
  3163.  
  3164. #define Q6_P_mpyacc_RR __builtin_HEXAGON_M2_dpmpyss_acc_s0
  3165.  
  3166. /* ==========================================================================
  3167.    Assembly Syntax:       Rxx32-=mpy(Rs32,Rt32)
  3168.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  3169.    Instruction Type:      M
  3170.    Execution Slots:       SLOT23
  3171.    ========================================================================== */
  3172.  
  3173. #define Q6_P_mpynac_RR __builtin_HEXAGON_M2_dpmpyss_nac_s0
  3174.  
  3175. /* ==========================================================================
  3176.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32):rnd
  3177.    C Intrinsic Prototype: Word32 Q6_R_mpy_RR_rnd(Word32 Rs, Word32 Rt)
  3178.    Instruction Type:      M
  3179.    Execution Slots:       SLOT23
  3180.    ========================================================================== */
  3181.  
  3182. #define Q6_R_mpy_RR_rnd __builtin_HEXAGON_M2_dpmpyss_rnd_s0
  3183.  
  3184. /* ==========================================================================
  3185.    Assembly Syntax:       Rdd32=mpy(Rs32,Rt32)
  3186.    C Intrinsic Prototype: Word64 Q6_P_mpy_RR(Word32 Rs, Word32 Rt)
  3187.    Instruction Type:      M
  3188.    Execution Slots:       SLOT23
  3189.    ========================================================================== */
  3190.  
  3191. #define Q6_P_mpy_RR __builtin_HEXAGON_M2_dpmpyss_s0
  3192.  
  3193. /* ==========================================================================
  3194.    Assembly Syntax:       Rxx32+=mpyu(Rs32,Rt32)
  3195.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  3196.    Instruction Type:      M
  3197.    Execution Slots:       SLOT23
  3198.    ========================================================================== */
  3199.  
  3200. #define Q6_P_mpyuacc_RR __builtin_HEXAGON_M2_dpmpyuu_acc_s0
  3201.  
  3202. /* ==========================================================================
  3203.    Assembly Syntax:       Rxx32-=mpyu(Rs32,Rt32)
  3204.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  3205.    Instruction Type:      M
  3206.    Execution Slots:       SLOT23
  3207.    ========================================================================== */
  3208.  
  3209. #define Q6_P_mpyunac_RR __builtin_HEXAGON_M2_dpmpyuu_nac_s0
  3210.  
  3211. /* ==========================================================================
  3212.    Assembly Syntax:       Rdd32=mpyu(Rs32,Rt32)
  3213.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RR(Word32 Rs, Word32 Rt)
  3214.    Instruction Type:      M
  3215.    Execution Slots:       SLOT23
  3216.    ========================================================================== */
  3217.  
  3218. #define Q6_P_mpyu_RR __builtin_HEXAGON_M2_dpmpyuu_s0
  3219.  
  3220. /* ==========================================================================
  3221.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32.h):<<1:rnd:sat
  3222.    C Intrinsic Prototype: Word32 Q6_R_mpy_RRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
  3223.    Instruction Type:      M
  3224.    Execution Slots:       SLOT23
  3225.    ========================================================================== */
  3226.  
  3227. #define Q6_R_mpy_RRh_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyh_rs1
  3228.  
  3229. /* ==========================================================================
  3230.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32.h):<<1:sat
  3231.    C Intrinsic Prototype: Word32 Q6_R_mpy_RRh_s1_sat(Word32 Rs, Word32 Rt)
  3232.    Instruction Type:      M
  3233.    Execution Slots:       SLOT23
  3234.    ========================================================================== */
  3235.  
  3236. #define Q6_R_mpy_RRh_s1_sat __builtin_HEXAGON_M2_hmmpyh_s1
  3237.  
  3238. /* ==========================================================================
  3239.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32.l):<<1:rnd:sat
  3240.    C Intrinsic Prototype: Word32 Q6_R_mpy_RRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
  3241.    Instruction Type:      M
  3242.    Execution Slots:       SLOT23
  3243.    ========================================================================== */
  3244.  
  3245. #define Q6_R_mpy_RRl_s1_rnd_sat __builtin_HEXAGON_M2_hmmpyl_rs1
  3246.  
  3247. /* ==========================================================================
  3248.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32.l):<<1:sat
  3249.    C Intrinsic Prototype: Word32 Q6_R_mpy_RRl_s1_sat(Word32 Rs, Word32 Rt)
  3250.    Instruction Type:      M
  3251.    Execution Slots:       SLOT23
  3252.    ========================================================================== */
  3253.  
  3254. #define Q6_R_mpy_RRl_s1_sat __builtin_HEXAGON_M2_hmmpyl_s1
  3255.  
  3256. /* ==========================================================================
  3257.    Assembly Syntax:       Rx32+=mpyi(Rs32,Rt32)
  3258.    C Intrinsic Prototype: Word32 Q6_R_mpyiacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  3259.    Instruction Type:      M
  3260.    Execution Slots:       SLOT23
  3261.    ========================================================================== */
  3262.  
  3263. #define Q6_R_mpyiacc_RR __builtin_HEXAGON_M2_maci
  3264.  
  3265. /* ==========================================================================
  3266.    Assembly Syntax:       Rx32-=mpyi(Rs32,#u8)
  3267.    C Intrinsic Prototype: Word32 Q6_R_mpyinac_RI(Word32 Rx, Word32 Rs, Word32 Iu8)
  3268.    Instruction Type:      M
  3269.    Execution Slots:       SLOT23
  3270.    ========================================================================== */
  3271.  
  3272. #define Q6_R_mpyinac_RI __builtin_HEXAGON_M2_macsin
  3273.  
  3274. /* ==========================================================================
  3275.    Assembly Syntax:       Rx32+=mpyi(Rs32,#u8)
  3276.    C Intrinsic Prototype: Word32 Q6_R_mpyiacc_RI(Word32 Rx, Word32 Rs, Word32 Iu8)
  3277.    Instruction Type:      M
  3278.    Execution Slots:       SLOT23
  3279.    ========================================================================== */
  3280.  
  3281. #define Q6_R_mpyiacc_RI __builtin_HEXAGON_M2_macsip
  3282.  
  3283. /* ==========================================================================
  3284.    Assembly Syntax:       Rxx32+=vmpywoh(Rss32,Rtt32):rnd:sat
  3285.    C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3286.    Instruction Type:      M
  3287.    Execution Slots:       SLOT23
  3288.    ========================================================================== */
  3289.  
  3290. #define Q6_P_vmpywohacc_PP_rnd_sat __builtin_HEXAGON_M2_mmachs_rs0
  3291.  
  3292. /* ==========================================================================
  3293.    Assembly Syntax:       Rxx32+=vmpywoh(Rss32,Rtt32):<<1:rnd:sat
  3294.    C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3295.    Instruction Type:      M
  3296.    Execution Slots:       SLOT23
  3297.    ========================================================================== */
  3298.  
  3299. #define Q6_P_vmpywohacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmachs_rs1
  3300.  
  3301. /* ==========================================================================
  3302.    Assembly Syntax:       Rxx32+=vmpywoh(Rss32,Rtt32):sat
  3303.    C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3304.    Instruction Type:      M
  3305.    Execution Slots:       SLOT23
  3306.    ========================================================================== */
  3307.  
  3308. #define Q6_P_vmpywohacc_PP_sat __builtin_HEXAGON_M2_mmachs_s0
  3309.  
  3310. /* ==========================================================================
  3311.    Assembly Syntax:       Rxx32+=vmpywoh(Rss32,Rtt32):<<1:sat
  3312.    C Intrinsic Prototype: Word64 Q6_P_vmpywohacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3313.    Instruction Type:      M
  3314.    Execution Slots:       SLOT23
  3315.    ========================================================================== */
  3316.  
  3317. #define Q6_P_vmpywohacc_PP_s1_sat __builtin_HEXAGON_M2_mmachs_s1
  3318.  
  3319. /* ==========================================================================
  3320.    Assembly Syntax:       Rxx32+=vmpyweh(Rss32,Rtt32):rnd:sat
  3321.    C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3322.    Instruction Type:      M
  3323.    Execution Slots:       SLOT23
  3324.    ========================================================================== */
  3325.  
  3326. #define Q6_P_vmpywehacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacls_rs0
  3327.  
  3328. /* ==========================================================================
  3329.    Assembly Syntax:       Rxx32+=vmpyweh(Rss32,Rtt32):<<1:rnd:sat
  3330.    C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3331.    Instruction Type:      M
  3332.    Execution Slots:       SLOT23
  3333.    ========================================================================== */
  3334.  
  3335. #define Q6_P_vmpywehacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacls_rs1
  3336.  
  3337. /* ==========================================================================
  3338.    Assembly Syntax:       Rxx32+=vmpyweh(Rss32,Rtt32):sat
  3339.    C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3340.    Instruction Type:      M
  3341.    Execution Slots:       SLOT23
  3342.    ========================================================================== */
  3343.  
  3344. #define Q6_P_vmpywehacc_PP_sat __builtin_HEXAGON_M2_mmacls_s0
  3345.  
  3346. /* ==========================================================================
  3347.    Assembly Syntax:       Rxx32+=vmpyweh(Rss32,Rtt32):<<1:sat
  3348.    C Intrinsic Prototype: Word64 Q6_P_vmpywehacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3349.    Instruction Type:      M
  3350.    Execution Slots:       SLOT23
  3351.    ========================================================================== */
  3352.  
  3353. #define Q6_P_vmpywehacc_PP_s1_sat __builtin_HEXAGON_M2_mmacls_s1
  3354.  
  3355. /* ==========================================================================
  3356.    Assembly Syntax:       Rxx32+=vmpywouh(Rss32,Rtt32):rnd:sat
  3357.    C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3358.    Instruction Type:      M
  3359.    Execution Slots:       SLOT23
  3360.    ========================================================================== */
  3361.  
  3362. #define Q6_P_vmpywouhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs0
  3363.  
  3364. /* ==========================================================================
  3365.    Assembly Syntax:       Rxx32+=vmpywouh(Rss32,Rtt32):<<1:rnd:sat
  3366.    C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3367.    Instruction Type:      M
  3368.    Execution Slots:       SLOT23
  3369.    ========================================================================== */
  3370.  
  3371. #define Q6_P_vmpywouhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmacuhs_rs1
  3372.  
  3373. /* ==========================================================================
  3374.    Assembly Syntax:       Rxx32+=vmpywouh(Rss32,Rtt32):sat
  3375.    C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3376.    Instruction Type:      M
  3377.    Execution Slots:       SLOT23
  3378.    ========================================================================== */
  3379.  
  3380. #define Q6_P_vmpywouhacc_PP_sat __builtin_HEXAGON_M2_mmacuhs_s0
  3381.  
  3382. /* ==========================================================================
  3383.    Assembly Syntax:       Rxx32+=vmpywouh(Rss32,Rtt32):<<1:sat
  3384.    C Intrinsic Prototype: Word64 Q6_P_vmpywouhacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3385.    Instruction Type:      M
  3386.    Execution Slots:       SLOT23
  3387.    ========================================================================== */
  3388.  
  3389. #define Q6_P_vmpywouhacc_PP_s1_sat __builtin_HEXAGON_M2_mmacuhs_s1
  3390.  
  3391. /* ==========================================================================
  3392.    Assembly Syntax:       Rxx32+=vmpyweuh(Rss32,Rtt32):rnd:sat
  3393.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3394.    Instruction Type:      M
  3395.    Execution Slots:       SLOT23
  3396.    ========================================================================== */
  3397.  
  3398. #define Q6_P_vmpyweuhacc_PP_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs0
  3399.  
  3400. /* ==========================================================================
  3401.    Assembly Syntax:       Rxx32+=vmpyweuh(Rss32,Rtt32):<<1:rnd:sat
  3402.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_s1_rnd_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3403.    Instruction Type:      M
  3404.    Execution Slots:       SLOT23
  3405.    ========================================================================== */
  3406.  
  3407. #define Q6_P_vmpyweuhacc_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmaculs_rs1
  3408.  
  3409. /* ==========================================================================
  3410.    Assembly Syntax:       Rxx32+=vmpyweuh(Rss32,Rtt32):sat
  3411.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3412.    Instruction Type:      M
  3413.    Execution Slots:       SLOT23
  3414.    ========================================================================== */
  3415.  
  3416. #define Q6_P_vmpyweuhacc_PP_sat __builtin_HEXAGON_M2_mmaculs_s0
  3417.  
  3418. /* ==========================================================================
  3419.    Assembly Syntax:       Rxx32+=vmpyweuh(Rss32,Rtt32):<<1:sat
  3420.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuhacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  3421.    Instruction Type:      M
  3422.    Execution Slots:       SLOT23
  3423.    ========================================================================== */
  3424.  
  3425. #define Q6_P_vmpyweuhacc_PP_s1_sat __builtin_HEXAGON_M2_mmaculs_s1
  3426.  
  3427. /* ==========================================================================
  3428.    Assembly Syntax:       Rdd32=vmpywoh(Rss32,Rtt32):rnd:sat
  3429.    C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
  3430.    Instruction Type:      M
  3431.    Execution Slots:       SLOT23
  3432.    ========================================================================== */
  3433.  
  3434. #define Q6_P_vmpywoh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs0
  3435.  
  3436. /* ==========================================================================
  3437.    Assembly Syntax:       Rdd32=vmpywoh(Rss32,Rtt32):<<1:rnd:sat
  3438.    C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  3439.    Instruction Type:      M
  3440.    Execution Slots:       SLOT23
  3441.    ========================================================================== */
  3442.  
  3443. #define Q6_P_vmpywoh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyh_rs1
  3444.  
  3445. /* ==========================================================================
  3446.    Assembly Syntax:       Rdd32=vmpywoh(Rss32,Rtt32):sat
  3447.    C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_sat(Word64 Rss, Word64 Rtt)
  3448.    Instruction Type:      M
  3449.    Execution Slots:       SLOT23
  3450.    ========================================================================== */
  3451.  
  3452. #define Q6_P_vmpywoh_PP_sat __builtin_HEXAGON_M2_mmpyh_s0
  3453.  
  3454. /* ==========================================================================
  3455.    Assembly Syntax:       Rdd32=vmpywoh(Rss32,Rtt32):<<1:sat
  3456.    C Intrinsic Prototype: Word64 Q6_P_vmpywoh_PP_s1_sat(Word64 Rss, Word64 Rtt)
  3457.    Instruction Type:      M
  3458.    Execution Slots:       SLOT23
  3459.    ========================================================================== */
  3460.  
  3461. #define Q6_P_vmpywoh_PP_s1_sat __builtin_HEXAGON_M2_mmpyh_s1
  3462.  
  3463. /* ==========================================================================
  3464.    Assembly Syntax:       Rdd32=vmpyweh(Rss32,Rtt32):rnd:sat
  3465.    C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
  3466.    Instruction Type:      M
  3467.    Execution Slots:       SLOT23
  3468.    ========================================================================== */
  3469.  
  3470. #define Q6_P_vmpyweh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs0
  3471.  
  3472. /* ==========================================================================
  3473.    Assembly Syntax:       Rdd32=vmpyweh(Rss32,Rtt32):<<1:rnd:sat
  3474.    C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  3475.    Instruction Type:      M
  3476.    Execution Slots:       SLOT23
  3477.    ========================================================================== */
  3478.  
  3479. #define Q6_P_vmpyweh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyl_rs1
  3480.  
  3481. /* ==========================================================================
  3482.    Assembly Syntax:       Rdd32=vmpyweh(Rss32,Rtt32):sat
  3483.    C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_sat(Word64 Rss, Word64 Rtt)
  3484.    Instruction Type:      M
  3485.    Execution Slots:       SLOT23
  3486.    ========================================================================== */
  3487.  
  3488. #define Q6_P_vmpyweh_PP_sat __builtin_HEXAGON_M2_mmpyl_s0
  3489.  
  3490. /* ==========================================================================
  3491.    Assembly Syntax:       Rdd32=vmpyweh(Rss32,Rtt32):<<1:sat
  3492.    C Intrinsic Prototype: Word64 Q6_P_vmpyweh_PP_s1_sat(Word64 Rss, Word64 Rtt)
  3493.    Instruction Type:      M
  3494.    Execution Slots:       SLOT23
  3495.    ========================================================================== */
  3496.  
  3497. #define Q6_P_vmpyweh_PP_s1_sat __builtin_HEXAGON_M2_mmpyl_s1
  3498.  
  3499. /* ==========================================================================
  3500.    Assembly Syntax:       Rdd32=vmpywouh(Rss32,Rtt32):rnd:sat
  3501.    C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
  3502.    Instruction Type:      M
  3503.    Execution Slots:       SLOT23
  3504.    ========================================================================== */
  3505.  
  3506. #define Q6_P_vmpywouh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs0
  3507.  
  3508. /* ==========================================================================
  3509.    Assembly Syntax:       Rdd32=vmpywouh(Rss32,Rtt32):<<1:rnd:sat
  3510.    C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  3511.    Instruction Type:      M
  3512.    Execution Slots:       SLOT23
  3513.    ========================================================================== */
  3514.  
  3515. #define Q6_P_vmpywouh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyuh_rs1
  3516.  
  3517. /* ==========================================================================
  3518.    Assembly Syntax:       Rdd32=vmpywouh(Rss32,Rtt32):sat
  3519.    C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_sat(Word64 Rss, Word64 Rtt)
  3520.    Instruction Type:      M
  3521.    Execution Slots:       SLOT23
  3522.    ========================================================================== */
  3523.  
  3524. #define Q6_P_vmpywouh_PP_sat __builtin_HEXAGON_M2_mmpyuh_s0
  3525.  
  3526. /* ==========================================================================
  3527.    Assembly Syntax:       Rdd32=vmpywouh(Rss32,Rtt32):<<1:sat
  3528.    C Intrinsic Prototype: Word64 Q6_P_vmpywouh_PP_s1_sat(Word64 Rss, Word64 Rtt)
  3529.    Instruction Type:      M
  3530.    Execution Slots:       SLOT23
  3531.    ========================================================================== */
  3532.  
  3533. #define Q6_P_vmpywouh_PP_s1_sat __builtin_HEXAGON_M2_mmpyuh_s1
  3534.  
  3535. /* ==========================================================================
  3536.    Assembly Syntax:       Rdd32=vmpyweuh(Rss32,Rtt32):rnd:sat
  3537.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_rnd_sat(Word64 Rss, Word64 Rtt)
  3538.    Instruction Type:      M
  3539.    Execution Slots:       SLOT23
  3540.    ========================================================================== */
  3541.  
  3542. #define Q6_P_vmpyweuh_PP_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs0
  3543.  
  3544. /* ==========================================================================
  3545.    Assembly Syntax:       Rdd32=vmpyweuh(Rss32,Rtt32):<<1:rnd:sat
  3546.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  3547.    Instruction Type:      M
  3548.    Execution Slots:       SLOT23
  3549.    ========================================================================== */
  3550.  
  3551. #define Q6_P_vmpyweuh_PP_s1_rnd_sat __builtin_HEXAGON_M2_mmpyul_rs1
  3552.  
  3553. /* ==========================================================================
  3554.    Assembly Syntax:       Rdd32=vmpyweuh(Rss32,Rtt32):sat
  3555.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_sat(Word64 Rss, Word64 Rtt)
  3556.    Instruction Type:      M
  3557.    Execution Slots:       SLOT23
  3558.    ========================================================================== */
  3559.  
  3560. #define Q6_P_vmpyweuh_PP_sat __builtin_HEXAGON_M2_mmpyul_s0
  3561.  
  3562. /* ==========================================================================
  3563.    Assembly Syntax:       Rdd32=vmpyweuh(Rss32,Rtt32):<<1:sat
  3564.    C Intrinsic Prototype: Word64 Q6_P_vmpyweuh_PP_s1_sat(Word64 Rss, Word64 Rtt)
  3565.    Instruction Type:      M
  3566.    Execution Slots:       SLOT23
  3567.    ========================================================================== */
  3568.  
  3569. #define Q6_P_vmpyweuh_PP_s1_sat __builtin_HEXAGON_M2_mmpyul_s1
  3570.  
  3571. /* ==========================================================================
  3572.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.h)
  3573.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
  3574.    Instruction Type:      M
  3575.    Execution Slots:       SLOT23
  3576.    ========================================================================== */
  3577.  
  3578. #define Q6_R_mpyacc_RhRh __builtin_HEXAGON_M2_mpy_acc_hh_s0
  3579.  
  3580. /* ==========================================================================
  3581.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.h):<<1
  3582.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3583.    Instruction Type:      M
  3584.    Execution Slots:       SLOT23
  3585.    ========================================================================== */
  3586.  
  3587. #define Q6_R_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpy_acc_hh_s1
  3588.  
  3589. /* ==========================================================================
  3590.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.l)
  3591.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
  3592.    Instruction Type:      M
  3593.    Execution Slots:       SLOT23
  3594.    ========================================================================== */
  3595.  
  3596. #define Q6_R_mpyacc_RhRl __builtin_HEXAGON_M2_mpy_acc_hl_s0
  3597.  
  3598. /* ==========================================================================
  3599.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.l):<<1
  3600.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3601.    Instruction Type:      M
  3602.    Execution Slots:       SLOT23
  3603.    ========================================================================== */
  3604.  
  3605. #define Q6_R_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpy_acc_hl_s1
  3606.  
  3607. /* ==========================================================================
  3608.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.h)
  3609.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
  3610.    Instruction Type:      M
  3611.    Execution Slots:       SLOT23
  3612.    ========================================================================== */
  3613.  
  3614. #define Q6_R_mpyacc_RlRh __builtin_HEXAGON_M2_mpy_acc_lh_s0
  3615.  
  3616. /* ==========================================================================
  3617.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.h):<<1
  3618.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3619.    Instruction Type:      M
  3620.    Execution Slots:       SLOT23
  3621.    ========================================================================== */
  3622.  
  3623. #define Q6_R_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpy_acc_lh_s1
  3624.  
  3625. /* ==========================================================================
  3626.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.l)
  3627.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
  3628.    Instruction Type:      M
  3629.    Execution Slots:       SLOT23
  3630.    ========================================================================== */
  3631.  
  3632. #define Q6_R_mpyacc_RlRl __builtin_HEXAGON_M2_mpy_acc_ll_s0
  3633.  
  3634. /* ==========================================================================
  3635.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.l):<<1
  3636.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3637.    Instruction Type:      M
  3638.    Execution Slots:       SLOT23
  3639.    ========================================================================== */
  3640.  
  3641. #define Q6_R_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpy_acc_ll_s1
  3642.  
  3643. /* ==========================================================================
  3644.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.h):sat
  3645.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3646.    Instruction Type:      M
  3647.    Execution Slots:       SLOT23
  3648.    ========================================================================== */
  3649.  
  3650. #define Q6_R_mpyacc_RhRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0
  3651.  
  3652. /* ==========================================================================
  3653.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.h):<<1:sat
  3654.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3655.    Instruction Type:      M
  3656.    Execution Slots:       SLOT23
  3657.    ========================================================================== */
  3658.  
  3659. #define Q6_R_mpyacc_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1
  3660.  
  3661. /* ==========================================================================
  3662.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.l):sat
  3663.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3664.    Instruction Type:      M
  3665.    Execution Slots:       SLOT23
  3666.    ========================================================================== */
  3667.  
  3668. #define Q6_R_mpyacc_RhRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0
  3669.  
  3670. /* ==========================================================================
  3671.    Assembly Syntax:       Rx32+=mpy(Rs32.h,Rt32.l):<<1:sat
  3672.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RhRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3673.    Instruction Type:      M
  3674.    Execution Slots:       SLOT23
  3675.    ========================================================================== */
  3676.  
  3677. #define Q6_R_mpyacc_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1
  3678.  
  3679. /* ==========================================================================
  3680.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.h):sat
  3681.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3682.    Instruction Type:      M
  3683.    Execution Slots:       SLOT23
  3684.    ========================================================================== */
  3685.  
  3686. #define Q6_R_mpyacc_RlRh_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0
  3687.  
  3688. /* ==========================================================================
  3689.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.h):<<1:sat
  3690.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3691.    Instruction Type:      M
  3692.    Execution Slots:       SLOT23
  3693.    ========================================================================== */
  3694.  
  3695. #define Q6_R_mpyacc_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1
  3696.  
  3697. /* ==========================================================================
  3698.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.l):sat
  3699.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3700.    Instruction Type:      M
  3701.    Execution Slots:       SLOT23
  3702.    ========================================================================== */
  3703.  
  3704. #define Q6_R_mpyacc_RlRl_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0
  3705.  
  3706. /* ==========================================================================
  3707.    Assembly Syntax:       Rx32+=mpy(Rs32.l,Rt32.l):<<1:sat
  3708.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RlRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3709.    Instruction Type:      M
  3710.    Execution Slots:       SLOT23
  3711.    ========================================================================== */
  3712.  
  3713. #define Q6_R_mpyacc_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1
  3714.  
  3715. /* ==========================================================================
  3716.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h)
  3717.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh(Word32 Rs, Word32 Rt)
  3718.    Instruction Type:      M
  3719.    Execution Slots:       SLOT23
  3720.    ========================================================================== */
  3721.  
  3722. #define Q6_R_mpy_RhRh __builtin_HEXAGON_M2_mpy_hh_s0
  3723.  
  3724. /* ==========================================================================
  3725.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):<<1
  3726.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1(Word32 Rs, Word32 Rt)
  3727.    Instruction Type:      M
  3728.    Execution Slots:       SLOT23
  3729.    ========================================================================== */
  3730.  
  3731. #define Q6_R_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpy_hh_s1
  3732.  
  3733. /* ==========================================================================
  3734.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l)
  3735.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl(Word32 Rs, Word32 Rt)
  3736.    Instruction Type:      M
  3737.    Execution Slots:       SLOT23
  3738.    ========================================================================== */
  3739.  
  3740. #define Q6_R_mpy_RhRl __builtin_HEXAGON_M2_mpy_hl_s0
  3741.  
  3742. /* ==========================================================================
  3743.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):<<1
  3744.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1(Word32 Rs, Word32 Rt)
  3745.    Instruction Type:      M
  3746.    Execution Slots:       SLOT23
  3747.    ========================================================================== */
  3748.  
  3749. #define Q6_R_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpy_hl_s1
  3750.  
  3751. /* ==========================================================================
  3752.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h)
  3753.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh(Word32 Rs, Word32 Rt)
  3754.    Instruction Type:      M
  3755.    Execution Slots:       SLOT23
  3756.    ========================================================================== */
  3757.  
  3758. #define Q6_R_mpy_RlRh __builtin_HEXAGON_M2_mpy_lh_s0
  3759.  
  3760. /* ==========================================================================
  3761.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):<<1
  3762.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1(Word32 Rs, Word32 Rt)
  3763.    Instruction Type:      M
  3764.    Execution Slots:       SLOT23
  3765.    ========================================================================== */
  3766.  
  3767. #define Q6_R_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpy_lh_s1
  3768.  
  3769. /* ==========================================================================
  3770.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l)
  3771.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl(Word32 Rs, Word32 Rt)
  3772.    Instruction Type:      M
  3773.    Execution Slots:       SLOT23
  3774.    ========================================================================== */
  3775.  
  3776. #define Q6_R_mpy_RlRl __builtin_HEXAGON_M2_mpy_ll_s0
  3777.  
  3778. /* ==========================================================================
  3779.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):<<1
  3780.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1(Word32 Rs, Word32 Rt)
  3781.    Instruction Type:      M
  3782.    Execution Slots:       SLOT23
  3783.    ========================================================================== */
  3784.  
  3785. #define Q6_R_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpy_ll_s1
  3786.  
  3787. /* ==========================================================================
  3788.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.h)
  3789.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
  3790.    Instruction Type:      M
  3791.    Execution Slots:       SLOT23
  3792.    ========================================================================== */
  3793.  
  3794. #define Q6_R_mpynac_RhRh __builtin_HEXAGON_M2_mpy_nac_hh_s0
  3795.  
  3796. /* ==========================================================================
  3797.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.h):<<1
  3798.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3799.    Instruction Type:      M
  3800.    Execution Slots:       SLOT23
  3801.    ========================================================================== */
  3802.  
  3803. #define Q6_R_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpy_nac_hh_s1
  3804.  
  3805. /* ==========================================================================
  3806.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.l)
  3807.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
  3808.    Instruction Type:      M
  3809.    Execution Slots:       SLOT23
  3810.    ========================================================================== */
  3811.  
  3812. #define Q6_R_mpynac_RhRl __builtin_HEXAGON_M2_mpy_nac_hl_s0
  3813.  
  3814. /* ==========================================================================
  3815.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.l):<<1
  3816.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3817.    Instruction Type:      M
  3818.    Execution Slots:       SLOT23
  3819.    ========================================================================== */
  3820.  
  3821. #define Q6_R_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpy_nac_hl_s1
  3822.  
  3823. /* ==========================================================================
  3824.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.h)
  3825.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
  3826.    Instruction Type:      M
  3827.    Execution Slots:       SLOT23
  3828.    ========================================================================== */
  3829.  
  3830. #define Q6_R_mpynac_RlRh __builtin_HEXAGON_M2_mpy_nac_lh_s0
  3831.  
  3832. /* ==========================================================================
  3833.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.h):<<1
  3834.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3835.    Instruction Type:      M
  3836.    Execution Slots:       SLOT23
  3837.    ========================================================================== */
  3838.  
  3839. #define Q6_R_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpy_nac_lh_s1
  3840.  
  3841. /* ==========================================================================
  3842.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.l)
  3843.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
  3844.    Instruction Type:      M
  3845.    Execution Slots:       SLOT23
  3846.    ========================================================================== */
  3847.  
  3848. #define Q6_R_mpynac_RlRl __builtin_HEXAGON_M2_mpy_nac_ll_s0
  3849.  
  3850. /* ==========================================================================
  3851.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.l):<<1
  3852.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  3853.    Instruction Type:      M
  3854.    Execution Slots:       SLOT23
  3855.    ========================================================================== */
  3856.  
  3857. #define Q6_R_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpy_nac_ll_s1
  3858.  
  3859. /* ==========================================================================
  3860.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.h):sat
  3861.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3862.    Instruction Type:      M
  3863.    Execution Slots:       SLOT23
  3864.    ========================================================================== */
  3865.  
  3866. #define Q6_R_mpynac_RhRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0
  3867.  
  3868. /* ==========================================================================
  3869.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.h):<<1:sat
  3870.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3871.    Instruction Type:      M
  3872.    Execution Slots:       SLOT23
  3873.    ========================================================================== */
  3874.  
  3875. #define Q6_R_mpynac_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1
  3876.  
  3877. /* ==========================================================================
  3878.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.l):sat
  3879.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3880.    Instruction Type:      M
  3881.    Execution Slots:       SLOT23
  3882.    ========================================================================== */
  3883.  
  3884. #define Q6_R_mpynac_RhRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0
  3885.  
  3886. /* ==========================================================================
  3887.    Assembly Syntax:       Rx32-=mpy(Rs32.h,Rt32.l):<<1:sat
  3888.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RhRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3889.    Instruction Type:      M
  3890.    Execution Slots:       SLOT23
  3891.    ========================================================================== */
  3892.  
  3893. #define Q6_R_mpynac_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1
  3894.  
  3895. /* ==========================================================================
  3896.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.h):sat
  3897.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3898.    Instruction Type:      M
  3899.    Execution Slots:       SLOT23
  3900.    ========================================================================== */
  3901.  
  3902. #define Q6_R_mpynac_RlRh_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0
  3903.  
  3904. /* ==========================================================================
  3905.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.h):<<1:sat
  3906.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRh_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3907.    Instruction Type:      M
  3908.    Execution Slots:       SLOT23
  3909.    ========================================================================== */
  3910.  
  3911. #define Q6_R_mpynac_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1
  3912.  
  3913. /* ==========================================================================
  3914.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.l):sat
  3915.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3916.    Instruction Type:      M
  3917.    Execution Slots:       SLOT23
  3918.    ========================================================================== */
  3919.  
  3920. #define Q6_R_mpynac_RlRl_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0
  3921.  
  3922. /* ==========================================================================
  3923.    Assembly Syntax:       Rx32-=mpy(Rs32.l,Rt32.l):<<1:sat
  3924.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RlRl_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  3925.    Instruction Type:      M
  3926.    Execution Slots:       SLOT23
  3927.    ========================================================================== */
  3928.  
  3929. #define Q6_R_mpynac_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1
  3930.  
  3931. /* ==========================================================================
  3932.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):rnd
  3933.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_rnd(Word32 Rs, Word32 Rt)
  3934.    Instruction Type:      M
  3935.    Execution Slots:       SLOT23
  3936.    ========================================================================== */
  3937.  
  3938. #define Q6_R_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s0
  3939.  
  3940. /* ==========================================================================
  3941.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):<<1:rnd
  3942.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_rnd(Word32 Rs, Word32 Rt)
  3943.    Instruction Type:      M
  3944.    Execution Slots:       SLOT23
  3945.    ========================================================================== */
  3946.  
  3947. #define Q6_R_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hh_s1
  3948.  
  3949. /* ==========================================================================
  3950.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):rnd
  3951.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_rnd(Word32 Rs, Word32 Rt)
  3952.    Instruction Type:      M
  3953.    Execution Slots:       SLOT23
  3954.    ========================================================================== */
  3955.  
  3956. #define Q6_R_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s0
  3957.  
  3958. /* ==========================================================================
  3959.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):<<1:rnd
  3960.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_rnd(Word32 Rs, Word32 Rt)
  3961.    Instruction Type:      M
  3962.    Execution Slots:       SLOT23
  3963.    ========================================================================== */
  3964.  
  3965. #define Q6_R_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_hl_s1
  3966.  
  3967. /* ==========================================================================
  3968.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):rnd
  3969.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_rnd(Word32 Rs, Word32 Rt)
  3970.    Instruction Type:      M
  3971.    Execution Slots:       SLOT23
  3972.    ========================================================================== */
  3973.  
  3974. #define Q6_R_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s0
  3975.  
  3976. /* ==========================================================================
  3977.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):<<1:rnd
  3978.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_rnd(Word32 Rs, Word32 Rt)
  3979.    Instruction Type:      M
  3980.    Execution Slots:       SLOT23
  3981.    ========================================================================== */
  3982.  
  3983. #define Q6_R_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_lh_s1
  3984.  
  3985. /* ==========================================================================
  3986.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):rnd
  3987.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_rnd(Word32 Rs, Word32 Rt)
  3988.    Instruction Type:      M
  3989.    Execution Slots:       SLOT23
  3990.    ========================================================================== */
  3991.  
  3992. #define Q6_R_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s0
  3993.  
  3994. /* ==========================================================================
  3995.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):<<1:rnd
  3996.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_rnd(Word32 Rs, Word32 Rt)
  3997.    Instruction Type:      M
  3998.    Execution Slots:       SLOT23
  3999.    ========================================================================== */
  4000.  
  4001. #define Q6_R_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpy_rnd_ll_s1
  4002.  
  4003. /* ==========================================================================
  4004.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):sat
  4005.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_sat(Word32 Rs, Word32 Rt)
  4006.    Instruction Type:      M
  4007.    Execution Slots:       SLOT23
  4008.    ========================================================================== */
  4009.  
  4010. #define Q6_R_mpy_RhRh_sat __builtin_HEXAGON_M2_mpy_sat_hh_s0
  4011.  
  4012. /* ==========================================================================
  4013.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):<<1:sat
  4014.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_sat(Word32 Rs, Word32 Rt)
  4015.    Instruction Type:      M
  4016.    Execution Slots:       SLOT23
  4017.    ========================================================================== */
  4018.  
  4019. #define Q6_R_mpy_RhRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_hh_s1
  4020.  
  4021. /* ==========================================================================
  4022.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):sat
  4023.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_sat(Word32 Rs, Word32 Rt)
  4024.    Instruction Type:      M
  4025.    Execution Slots:       SLOT23
  4026.    ========================================================================== */
  4027.  
  4028. #define Q6_R_mpy_RhRl_sat __builtin_HEXAGON_M2_mpy_sat_hl_s0
  4029.  
  4030. /* ==========================================================================
  4031.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):<<1:sat
  4032.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_sat(Word32 Rs, Word32 Rt)
  4033.    Instruction Type:      M
  4034.    Execution Slots:       SLOT23
  4035.    ========================================================================== */
  4036.  
  4037. #define Q6_R_mpy_RhRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_hl_s1
  4038.  
  4039. /* ==========================================================================
  4040.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):sat
  4041.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_sat(Word32 Rs, Word32 Rt)
  4042.    Instruction Type:      M
  4043.    Execution Slots:       SLOT23
  4044.    ========================================================================== */
  4045.  
  4046. #define Q6_R_mpy_RlRh_sat __builtin_HEXAGON_M2_mpy_sat_lh_s0
  4047.  
  4048. /* ==========================================================================
  4049.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):<<1:sat
  4050.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_sat(Word32 Rs, Word32 Rt)
  4051.    Instruction Type:      M
  4052.    Execution Slots:       SLOT23
  4053.    ========================================================================== */
  4054.  
  4055. #define Q6_R_mpy_RlRh_s1_sat __builtin_HEXAGON_M2_mpy_sat_lh_s1
  4056.  
  4057. /* ==========================================================================
  4058.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):sat
  4059.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_sat(Word32 Rs, Word32 Rt)
  4060.    Instruction Type:      M
  4061.    Execution Slots:       SLOT23
  4062.    ========================================================================== */
  4063.  
  4064. #define Q6_R_mpy_RlRl_sat __builtin_HEXAGON_M2_mpy_sat_ll_s0
  4065.  
  4066. /* ==========================================================================
  4067.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):<<1:sat
  4068.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_sat(Word32 Rs, Word32 Rt)
  4069.    Instruction Type:      M
  4070.    Execution Slots:       SLOT23
  4071.    ========================================================================== */
  4072.  
  4073. #define Q6_R_mpy_RlRl_s1_sat __builtin_HEXAGON_M2_mpy_sat_ll_s1
  4074.  
  4075. /* ==========================================================================
  4076.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):rnd:sat
  4077.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_rnd_sat(Word32 Rs, Word32 Rt)
  4078.    Instruction Type:      M
  4079.    Execution Slots:       SLOT23
  4080.    ========================================================================== */
  4081.  
  4082. #define Q6_R_mpy_RhRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0
  4083.  
  4084. /* ==========================================================================
  4085.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.h):<<1:rnd:sat
  4086.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
  4087.    Instruction Type:      M
  4088.    Execution Slots:       SLOT23
  4089.    ========================================================================== */
  4090.  
  4091. #define Q6_R_mpy_RhRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1
  4092.  
  4093. /* ==========================================================================
  4094.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):rnd:sat
  4095.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_rnd_sat(Word32 Rs, Word32 Rt)
  4096.    Instruction Type:      M
  4097.    Execution Slots:       SLOT23
  4098.    ========================================================================== */
  4099.  
  4100. #define Q6_R_mpy_RhRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0
  4101.  
  4102. /* ==========================================================================
  4103.    Assembly Syntax:       Rd32=mpy(Rs32.h,Rt32.l):<<1:rnd:sat
  4104.    C Intrinsic Prototype: Word32 Q6_R_mpy_RhRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
  4105.    Instruction Type:      M
  4106.    Execution Slots:       SLOT23
  4107.    ========================================================================== */
  4108.  
  4109. #define Q6_R_mpy_RhRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1
  4110.  
  4111. /* ==========================================================================
  4112.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):rnd:sat
  4113.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_rnd_sat(Word32 Rs, Word32 Rt)
  4114.    Instruction Type:      M
  4115.    Execution Slots:       SLOT23
  4116.    ========================================================================== */
  4117.  
  4118. #define Q6_R_mpy_RlRh_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0
  4119.  
  4120. /* ==========================================================================
  4121.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.h):<<1:rnd:sat
  4122.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRh_s1_rnd_sat(Word32 Rs, Word32 Rt)
  4123.    Instruction Type:      M
  4124.    Execution Slots:       SLOT23
  4125.    ========================================================================== */
  4126.  
  4127. #define Q6_R_mpy_RlRh_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1
  4128.  
  4129. /* ==========================================================================
  4130.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):rnd:sat
  4131.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_rnd_sat(Word32 Rs, Word32 Rt)
  4132.    Instruction Type:      M
  4133.    Execution Slots:       SLOT23
  4134.    ========================================================================== */
  4135.  
  4136. #define Q6_R_mpy_RlRl_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0
  4137.  
  4138. /* ==========================================================================
  4139.    Assembly Syntax:       Rd32=mpy(Rs32.l,Rt32.l):<<1:rnd:sat
  4140.    C Intrinsic Prototype: Word32 Q6_R_mpy_RlRl_s1_rnd_sat(Word32 Rs, Word32 Rt)
  4141.    Instruction Type:      M
  4142.    Execution Slots:       SLOT23
  4143.    ========================================================================== */
  4144.  
  4145. #define Q6_R_mpy_RlRl_s1_rnd_sat __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1
  4146.  
  4147. /* ==========================================================================
  4148.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32)
  4149.    C Intrinsic Prototype: Word32 Q6_R_mpy_RR(Word32 Rs, Word32 Rt)
  4150.    Instruction Type:      M
  4151.    Execution Slots:       SLOT23
  4152.    ========================================================================== */
  4153.  
  4154. #define Q6_R_mpy_RR __builtin_HEXAGON_M2_mpy_up
  4155.  
  4156. /* ==========================================================================
  4157.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32):<<1
  4158.    C Intrinsic Prototype: Word32 Q6_R_mpy_RR_s1(Word32 Rs, Word32 Rt)
  4159.    Instruction Type:      M
  4160.    Execution Slots:       SLOT23
  4161.    ========================================================================== */
  4162.  
  4163. #define Q6_R_mpy_RR_s1 __builtin_HEXAGON_M2_mpy_up_s1
  4164.  
  4165. /* ==========================================================================
  4166.    Assembly Syntax:       Rd32=mpy(Rs32,Rt32):<<1:sat
  4167.    C Intrinsic Prototype: Word32 Q6_R_mpy_RR_s1_sat(Word32 Rs, Word32 Rt)
  4168.    Instruction Type:      M
  4169.    Execution Slots:       SLOT23
  4170.    ========================================================================== */
  4171.  
  4172. #define Q6_R_mpy_RR_s1_sat __builtin_HEXAGON_M2_mpy_up_s1_sat
  4173.  
  4174. /* ==========================================================================
  4175.    Assembly Syntax:       Rxx32+=mpy(Rs32.h,Rt32.h)
  4176.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4177.    Instruction Type:      M
  4178.    Execution Slots:       SLOT23
  4179.    ========================================================================== */
  4180.  
  4181. #define Q6_P_mpyacc_RhRh __builtin_HEXAGON_M2_mpyd_acc_hh_s0
  4182.  
  4183. /* ==========================================================================
  4184.    Assembly Syntax:       Rxx32+=mpy(Rs32.h,Rt32.h):<<1
  4185.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4186.    Instruction Type:      M
  4187.    Execution Slots:       SLOT23
  4188.    ========================================================================== */
  4189.  
  4190. #define Q6_P_mpyacc_RhRh_s1 __builtin_HEXAGON_M2_mpyd_acc_hh_s1
  4191.  
  4192. /* ==========================================================================
  4193.    Assembly Syntax:       Rxx32+=mpy(Rs32.h,Rt32.l)
  4194.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4195.    Instruction Type:      M
  4196.    Execution Slots:       SLOT23
  4197.    ========================================================================== */
  4198.  
  4199. #define Q6_P_mpyacc_RhRl __builtin_HEXAGON_M2_mpyd_acc_hl_s0
  4200.  
  4201. /* ==========================================================================
  4202.    Assembly Syntax:       Rxx32+=mpy(Rs32.h,Rt32.l):<<1
  4203.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4204.    Instruction Type:      M
  4205.    Execution Slots:       SLOT23
  4206.    ========================================================================== */
  4207.  
  4208. #define Q6_P_mpyacc_RhRl_s1 __builtin_HEXAGON_M2_mpyd_acc_hl_s1
  4209.  
  4210. /* ==========================================================================
  4211.    Assembly Syntax:       Rxx32+=mpy(Rs32.l,Rt32.h)
  4212.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4213.    Instruction Type:      M
  4214.    Execution Slots:       SLOT23
  4215.    ========================================================================== */
  4216.  
  4217. #define Q6_P_mpyacc_RlRh __builtin_HEXAGON_M2_mpyd_acc_lh_s0
  4218.  
  4219. /* ==========================================================================
  4220.    Assembly Syntax:       Rxx32+=mpy(Rs32.l,Rt32.h):<<1
  4221.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4222.    Instruction Type:      M
  4223.    Execution Slots:       SLOT23
  4224.    ========================================================================== */
  4225.  
  4226. #define Q6_P_mpyacc_RlRh_s1 __builtin_HEXAGON_M2_mpyd_acc_lh_s1
  4227.  
  4228. /* ==========================================================================
  4229.    Assembly Syntax:       Rxx32+=mpy(Rs32.l,Rt32.l)
  4230.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4231.    Instruction Type:      M
  4232.    Execution Slots:       SLOT23
  4233.    ========================================================================== */
  4234.  
  4235. #define Q6_P_mpyacc_RlRl __builtin_HEXAGON_M2_mpyd_acc_ll_s0
  4236.  
  4237. /* ==========================================================================
  4238.    Assembly Syntax:       Rxx32+=mpy(Rs32.l,Rt32.l):<<1
  4239.    C Intrinsic Prototype: Word64 Q6_P_mpyacc_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4240.    Instruction Type:      M
  4241.    Execution Slots:       SLOT23
  4242.    ========================================================================== */
  4243.  
  4244. #define Q6_P_mpyacc_RlRl_s1 __builtin_HEXAGON_M2_mpyd_acc_ll_s1
  4245.  
  4246. /* ==========================================================================
  4247.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.h)
  4248.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh(Word32 Rs, Word32 Rt)
  4249.    Instruction Type:      M
  4250.    Execution Slots:       SLOT23
  4251.    ========================================================================== */
  4252.  
  4253. #define Q6_P_mpy_RhRh __builtin_HEXAGON_M2_mpyd_hh_s0
  4254.  
  4255. /* ==========================================================================
  4256.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.h):<<1
  4257.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_s1(Word32 Rs, Word32 Rt)
  4258.    Instruction Type:      M
  4259.    Execution Slots:       SLOT23
  4260.    ========================================================================== */
  4261.  
  4262. #define Q6_P_mpy_RhRh_s1 __builtin_HEXAGON_M2_mpyd_hh_s1
  4263.  
  4264. /* ==========================================================================
  4265.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.l)
  4266.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl(Word32 Rs, Word32 Rt)
  4267.    Instruction Type:      M
  4268.    Execution Slots:       SLOT23
  4269.    ========================================================================== */
  4270.  
  4271. #define Q6_P_mpy_RhRl __builtin_HEXAGON_M2_mpyd_hl_s0
  4272.  
  4273. /* ==========================================================================
  4274.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.l):<<1
  4275.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_s1(Word32 Rs, Word32 Rt)
  4276.    Instruction Type:      M
  4277.    Execution Slots:       SLOT23
  4278.    ========================================================================== */
  4279.  
  4280. #define Q6_P_mpy_RhRl_s1 __builtin_HEXAGON_M2_mpyd_hl_s1
  4281.  
  4282. /* ==========================================================================
  4283.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.h)
  4284.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh(Word32 Rs, Word32 Rt)
  4285.    Instruction Type:      M
  4286.    Execution Slots:       SLOT23
  4287.    ========================================================================== */
  4288.  
  4289. #define Q6_P_mpy_RlRh __builtin_HEXAGON_M2_mpyd_lh_s0
  4290.  
  4291. /* ==========================================================================
  4292.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.h):<<1
  4293.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_s1(Word32 Rs, Word32 Rt)
  4294.    Instruction Type:      M
  4295.    Execution Slots:       SLOT23
  4296.    ========================================================================== */
  4297.  
  4298. #define Q6_P_mpy_RlRh_s1 __builtin_HEXAGON_M2_mpyd_lh_s1
  4299.  
  4300. /* ==========================================================================
  4301.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.l)
  4302.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl(Word32 Rs, Word32 Rt)
  4303.    Instruction Type:      M
  4304.    Execution Slots:       SLOT23
  4305.    ========================================================================== */
  4306.  
  4307. #define Q6_P_mpy_RlRl __builtin_HEXAGON_M2_mpyd_ll_s0
  4308.  
  4309. /* ==========================================================================
  4310.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.l):<<1
  4311.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_s1(Word32 Rs, Word32 Rt)
  4312.    Instruction Type:      M
  4313.    Execution Slots:       SLOT23
  4314.    ========================================================================== */
  4315.  
  4316. #define Q6_P_mpy_RlRl_s1 __builtin_HEXAGON_M2_mpyd_ll_s1
  4317.  
  4318. /* ==========================================================================
  4319.    Assembly Syntax:       Rxx32-=mpy(Rs32.h,Rt32.h)
  4320.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4321.    Instruction Type:      M
  4322.    Execution Slots:       SLOT23
  4323.    ========================================================================== */
  4324.  
  4325. #define Q6_P_mpynac_RhRh __builtin_HEXAGON_M2_mpyd_nac_hh_s0
  4326.  
  4327. /* ==========================================================================
  4328.    Assembly Syntax:       Rxx32-=mpy(Rs32.h,Rt32.h):<<1
  4329.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4330.    Instruction Type:      M
  4331.    Execution Slots:       SLOT23
  4332.    ========================================================================== */
  4333.  
  4334. #define Q6_P_mpynac_RhRh_s1 __builtin_HEXAGON_M2_mpyd_nac_hh_s1
  4335.  
  4336. /* ==========================================================================
  4337.    Assembly Syntax:       Rxx32-=mpy(Rs32.h,Rt32.l)
  4338.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4339.    Instruction Type:      M
  4340.    Execution Slots:       SLOT23
  4341.    ========================================================================== */
  4342.  
  4343. #define Q6_P_mpynac_RhRl __builtin_HEXAGON_M2_mpyd_nac_hl_s0
  4344.  
  4345. /* ==========================================================================
  4346.    Assembly Syntax:       Rxx32-=mpy(Rs32.h,Rt32.l):<<1
  4347.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4348.    Instruction Type:      M
  4349.    Execution Slots:       SLOT23
  4350.    ========================================================================== */
  4351.  
  4352. #define Q6_P_mpynac_RhRl_s1 __builtin_HEXAGON_M2_mpyd_nac_hl_s1
  4353.  
  4354. /* ==========================================================================
  4355.    Assembly Syntax:       Rxx32-=mpy(Rs32.l,Rt32.h)
  4356.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4357.    Instruction Type:      M
  4358.    Execution Slots:       SLOT23
  4359.    ========================================================================== */
  4360.  
  4361. #define Q6_P_mpynac_RlRh __builtin_HEXAGON_M2_mpyd_nac_lh_s0
  4362.  
  4363. /* ==========================================================================
  4364.    Assembly Syntax:       Rxx32-=mpy(Rs32.l,Rt32.h):<<1
  4365.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4366.    Instruction Type:      M
  4367.    Execution Slots:       SLOT23
  4368.    ========================================================================== */
  4369.  
  4370. #define Q6_P_mpynac_RlRh_s1 __builtin_HEXAGON_M2_mpyd_nac_lh_s1
  4371.  
  4372. /* ==========================================================================
  4373.    Assembly Syntax:       Rxx32-=mpy(Rs32.l,Rt32.l)
  4374.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4375.    Instruction Type:      M
  4376.    Execution Slots:       SLOT23
  4377.    ========================================================================== */
  4378.  
  4379. #define Q6_P_mpynac_RlRl __builtin_HEXAGON_M2_mpyd_nac_ll_s0
  4380.  
  4381. /* ==========================================================================
  4382.    Assembly Syntax:       Rxx32-=mpy(Rs32.l,Rt32.l):<<1
  4383.    C Intrinsic Prototype: Word64 Q6_P_mpynac_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4384.    Instruction Type:      M
  4385.    Execution Slots:       SLOT23
  4386.    ========================================================================== */
  4387.  
  4388. #define Q6_P_mpynac_RlRl_s1 __builtin_HEXAGON_M2_mpyd_nac_ll_s1
  4389.  
  4390. /* ==========================================================================
  4391.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.h):rnd
  4392.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_rnd(Word32 Rs, Word32 Rt)
  4393.    Instruction Type:      M
  4394.    Execution Slots:       SLOT23
  4395.    ========================================================================== */
  4396.  
  4397. #define Q6_P_mpy_RhRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s0
  4398.  
  4399. /* ==========================================================================
  4400.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.h):<<1:rnd
  4401.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRh_s1_rnd(Word32 Rs, Word32 Rt)
  4402.    Instruction Type:      M
  4403.    Execution Slots:       SLOT23
  4404.    ========================================================================== */
  4405.  
  4406. #define Q6_P_mpy_RhRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hh_s1
  4407.  
  4408. /* ==========================================================================
  4409.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.l):rnd
  4410.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_rnd(Word32 Rs, Word32 Rt)
  4411.    Instruction Type:      M
  4412.    Execution Slots:       SLOT23
  4413.    ========================================================================== */
  4414.  
  4415. #define Q6_P_mpy_RhRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s0
  4416.  
  4417. /* ==========================================================================
  4418.    Assembly Syntax:       Rdd32=mpy(Rs32.h,Rt32.l):<<1:rnd
  4419.    C Intrinsic Prototype: Word64 Q6_P_mpy_RhRl_s1_rnd(Word32 Rs, Word32 Rt)
  4420.    Instruction Type:      M
  4421.    Execution Slots:       SLOT23
  4422.    ========================================================================== */
  4423.  
  4424. #define Q6_P_mpy_RhRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_hl_s1
  4425.  
  4426. /* ==========================================================================
  4427.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.h):rnd
  4428.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_rnd(Word32 Rs, Word32 Rt)
  4429.    Instruction Type:      M
  4430.    Execution Slots:       SLOT23
  4431.    ========================================================================== */
  4432.  
  4433. #define Q6_P_mpy_RlRh_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s0
  4434.  
  4435. /* ==========================================================================
  4436.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.h):<<1:rnd
  4437.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRh_s1_rnd(Word32 Rs, Word32 Rt)
  4438.    Instruction Type:      M
  4439.    Execution Slots:       SLOT23
  4440.    ========================================================================== */
  4441.  
  4442. #define Q6_P_mpy_RlRh_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_lh_s1
  4443.  
  4444. /* ==========================================================================
  4445.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.l):rnd
  4446.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_rnd(Word32 Rs, Word32 Rt)
  4447.    Instruction Type:      M
  4448.    Execution Slots:       SLOT23
  4449.    ========================================================================== */
  4450.  
  4451. #define Q6_P_mpy_RlRl_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s0
  4452.  
  4453. /* ==========================================================================
  4454.    Assembly Syntax:       Rdd32=mpy(Rs32.l,Rt32.l):<<1:rnd
  4455.    C Intrinsic Prototype: Word64 Q6_P_mpy_RlRl_s1_rnd(Word32 Rs, Word32 Rt)
  4456.    Instruction Type:      M
  4457.    Execution Slots:       SLOT23
  4458.    ========================================================================== */
  4459.  
  4460. #define Q6_P_mpy_RlRl_s1_rnd __builtin_HEXAGON_M2_mpyd_rnd_ll_s1
  4461.  
  4462. /* ==========================================================================
  4463.    Assembly Syntax:       Rd32=mpyi(Rs32,Rt32)
  4464.    C Intrinsic Prototype: Word32 Q6_R_mpyi_RR(Word32 Rs, Word32 Rt)
  4465.    Instruction Type:      M
  4466.    Execution Slots:       SLOT23
  4467.    ========================================================================== */
  4468.  
  4469. #define Q6_R_mpyi_RR __builtin_HEXAGON_M2_mpyi
  4470.  
  4471. /* ==========================================================================
  4472.    Assembly Syntax:       Rd32=mpyi(Rs32,#m9)
  4473.    C Intrinsic Prototype: Word32 Q6_R_mpyi_RI(Word32 Rs, Word32 Im9)
  4474.    Instruction Type:      M
  4475.    Execution Slots:       SLOT0123
  4476.    ========================================================================== */
  4477.  
  4478. #define Q6_R_mpyi_RI __builtin_HEXAGON_M2_mpysmi
  4479.  
  4480. /* ==========================================================================
  4481.    Assembly Syntax:       Rd32=mpysu(Rs32,Rt32)
  4482.    C Intrinsic Prototype: Word32 Q6_R_mpysu_RR(Word32 Rs, Word32 Rt)
  4483.    Instruction Type:      M
  4484.    Execution Slots:       SLOT23
  4485.    ========================================================================== */
  4486.  
  4487. #define Q6_R_mpysu_RR __builtin_HEXAGON_M2_mpysu_up
  4488.  
  4489. /* ==========================================================================
  4490.    Assembly Syntax:       Rx32+=mpyu(Rs32.h,Rt32.h)
  4491.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
  4492.    Instruction Type:      M
  4493.    Execution Slots:       SLOT23
  4494.    ========================================================================== */
  4495.  
  4496. #define Q6_R_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyu_acc_hh_s0
  4497.  
  4498. /* ==========================================================================
  4499.    Assembly Syntax:       Rx32+=mpyu(Rs32.h,Rt32.h):<<1
  4500.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4501.    Instruction Type:      M
  4502.    Execution Slots:       SLOT23
  4503.    ========================================================================== */
  4504.  
  4505. #define Q6_R_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyu_acc_hh_s1
  4506.  
  4507. /* ==========================================================================
  4508.    Assembly Syntax:       Rx32+=mpyu(Rs32.h,Rt32.l)
  4509.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
  4510.    Instruction Type:      M
  4511.    Execution Slots:       SLOT23
  4512.    ========================================================================== */
  4513.  
  4514. #define Q6_R_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyu_acc_hl_s0
  4515.  
  4516. /* ==========================================================================
  4517.    Assembly Syntax:       Rx32+=mpyu(Rs32.h,Rt32.l):<<1
  4518.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4519.    Instruction Type:      M
  4520.    Execution Slots:       SLOT23
  4521.    ========================================================================== */
  4522.  
  4523. #define Q6_R_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyu_acc_hl_s1
  4524.  
  4525. /* ==========================================================================
  4526.    Assembly Syntax:       Rx32+=mpyu(Rs32.l,Rt32.h)
  4527.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
  4528.    Instruction Type:      M
  4529.    Execution Slots:       SLOT23
  4530.    ========================================================================== */
  4531.  
  4532. #define Q6_R_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyu_acc_lh_s0
  4533.  
  4534. /* ==========================================================================
  4535.    Assembly Syntax:       Rx32+=mpyu(Rs32.l,Rt32.h):<<1
  4536.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4537.    Instruction Type:      M
  4538.    Execution Slots:       SLOT23
  4539.    ========================================================================== */
  4540.  
  4541. #define Q6_R_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyu_acc_lh_s1
  4542.  
  4543. /* ==========================================================================
  4544.    Assembly Syntax:       Rx32+=mpyu(Rs32.l,Rt32.l)
  4545.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
  4546.    Instruction Type:      M
  4547.    Execution Slots:       SLOT23
  4548.    ========================================================================== */
  4549.  
  4550. #define Q6_R_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyu_acc_ll_s0
  4551.  
  4552. /* ==========================================================================
  4553.    Assembly Syntax:       Rx32+=mpyu(Rs32.l,Rt32.l):<<1
  4554.    C Intrinsic Prototype: Word32 Q6_R_mpyuacc_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4555.    Instruction Type:      M
  4556.    Execution Slots:       SLOT23
  4557.    ========================================================================== */
  4558.  
  4559. #define Q6_R_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyu_acc_ll_s1
  4560.  
  4561. /* ==========================================================================
  4562.    Assembly Syntax:       Rd32=mpyu(Rs32.h,Rt32.h)
  4563.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRh(Word32 Rs, Word32 Rt)
  4564.    Instruction Type:      M
  4565.    Execution Slots:       SLOT23
  4566.    ========================================================================== */
  4567.  
  4568. #define Q6_R_mpyu_RhRh __builtin_HEXAGON_M2_mpyu_hh_s0
  4569.  
  4570. /* ==========================================================================
  4571.    Assembly Syntax:       Rd32=mpyu(Rs32.h,Rt32.h):<<1
  4572.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRh_s1(Word32 Rs, Word32 Rt)
  4573.    Instruction Type:      M
  4574.    Execution Slots:       SLOT23
  4575.    ========================================================================== */
  4576.  
  4577. #define Q6_R_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyu_hh_s1
  4578.  
  4579. /* ==========================================================================
  4580.    Assembly Syntax:       Rd32=mpyu(Rs32.h,Rt32.l)
  4581.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRl(Word32 Rs, Word32 Rt)
  4582.    Instruction Type:      M
  4583.    Execution Slots:       SLOT23
  4584.    ========================================================================== */
  4585.  
  4586. #define Q6_R_mpyu_RhRl __builtin_HEXAGON_M2_mpyu_hl_s0
  4587.  
  4588. /* ==========================================================================
  4589.    Assembly Syntax:       Rd32=mpyu(Rs32.h,Rt32.l):<<1
  4590.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RhRl_s1(Word32 Rs, Word32 Rt)
  4591.    Instruction Type:      M
  4592.    Execution Slots:       SLOT23
  4593.    ========================================================================== */
  4594.  
  4595. #define Q6_R_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyu_hl_s1
  4596.  
  4597. /* ==========================================================================
  4598.    Assembly Syntax:       Rd32=mpyu(Rs32.l,Rt32.h)
  4599.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRh(Word32 Rs, Word32 Rt)
  4600.    Instruction Type:      M
  4601.    Execution Slots:       SLOT23
  4602.    ========================================================================== */
  4603.  
  4604. #define Q6_R_mpyu_RlRh __builtin_HEXAGON_M2_mpyu_lh_s0
  4605.  
  4606. /* ==========================================================================
  4607.    Assembly Syntax:       Rd32=mpyu(Rs32.l,Rt32.h):<<1
  4608.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRh_s1(Word32 Rs, Word32 Rt)
  4609.    Instruction Type:      M
  4610.    Execution Slots:       SLOT23
  4611.    ========================================================================== */
  4612.  
  4613. #define Q6_R_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyu_lh_s1
  4614.  
  4615. /* ==========================================================================
  4616.    Assembly Syntax:       Rd32=mpyu(Rs32.l,Rt32.l)
  4617.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRl(Word32 Rs, Word32 Rt)
  4618.    Instruction Type:      M
  4619.    Execution Slots:       SLOT23
  4620.    ========================================================================== */
  4621.  
  4622. #define Q6_R_mpyu_RlRl __builtin_HEXAGON_M2_mpyu_ll_s0
  4623.  
  4624. /* ==========================================================================
  4625.    Assembly Syntax:       Rd32=mpyu(Rs32.l,Rt32.l):<<1
  4626.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RlRl_s1(Word32 Rs, Word32 Rt)
  4627.    Instruction Type:      M
  4628.    Execution Slots:       SLOT23
  4629.    ========================================================================== */
  4630.  
  4631. #define Q6_R_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyu_ll_s1
  4632.  
  4633. /* ==========================================================================
  4634.    Assembly Syntax:       Rx32-=mpyu(Rs32.h,Rt32.h)
  4635.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRh(Word32 Rx, Word32 Rs, Word32 Rt)
  4636.    Instruction Type:      M
  4637.    Execution Slots:       SLOT23
  4638.    ========================================================================== */
  4639.  
  4640. #define Q6_R_mpyunac_RhRh __builtin_HEXAGON_M2_mpyu_nac_hh_s0
  4641.  
  4642. /* ==========================================================================
  4643.    Assembly Syntax:       Rx32-=mpyu(Rs32.h,Rt32.h):<<1
  4644.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4645.    Instruction Type:      M
  4646.    Execution Slots:       SLOT23
  4647.    ========================================================================== */
  4648.  
  4649. #define Q6_R_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyu_nac_hh_s1
  4650.  
  4651. /* ==========================================================================
  4652.    Assembly Syntax:       Rx32-=mpyu(Rs32.h,Rt32.l)
  4653.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRl(Word32 Rx, Word32 Rs, Word32 Rt)
  4654.    Instruction Type:      M
  4655.    Execution Slots:       SLOT23
  4656.    ========================================================================== */
  4657.  
  4658. #define Q6_R_mpyunac_RhRl __builtin_HEXAGON_M2_mpyu_nac_hl_s0
  4659.  
  4660. /* ==========================================================================
  4661.    Assembly Syntax:       Rx32-=mpyu(Rs32.h,Rt32.l):<<1
  4662.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RhRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4663.    Instruction Type:      M
  4664.    Execution Slots:       SLOT23
  4665.    ========================================================================== */
  4666.  
  4667. #define Q6_R_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyu_nac_hl_s1
  4668.  
  4669. /* ==========================================================================
  4670.    Assembly Syntax:       Rx32-=mpyu(Rs32.l,Rt32.h)
  4671.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRh(Word32 Rx, Word32 Rs, Word32 Rt)
  4672.    Instruction Type:      M
  4673.    Execution Slots:       SLOT23
  4674.    ========================================================================== */
  4675.  
  4676. #define Q6_R_mpyunac_RlRh __builtin_HEXAGON_M2_mpyu_nac_lh_s0
  4677.  
  4678. /* ==========================================================================
  4679.    Assembly Syntax:       Rx32-=mpyu(Rs32.l,Rt32.h):<<1
  4680.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRh_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4681.    Instruction Type:      M
  4682.    Execution Slots:       SLOT23
  4683.    ========================================================================== */
  4684.  
  4685. #define Q6_R_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyu_nac_lh_s1
  4686.  
  4687. /* ==========================================================================
  4688.    Assembly Syntax:       Rx32-=mpyu(Rs32.l,Rt32.l)
  4689.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRl(Word32 Rx, Word32 Rs, Word32 Rt)
  4690.    Instruction Type:      M
  4691.    Execution Slots:       SLOT23
  4692.    ========================================================================== */
  4693.  
  4694. #define Q6_R_mpyunac_RlRl __builtin_HEXAGON_M2_mpyu_nac_ll_s0
  4695.  
  4696. /* ==========================================================================
  4697.    Assembly Syntax:       Rx32-=mpyu(Rs32.l,Rt32.l):<<1
  4698.    C Intrinsic Prototype: Word32 Q6_R_mpyunac_RlRl_s1(Word32 Rx, Word32 Rs, Word32 Rt)
  4699.    Instruction Type:      M
  4700.    Execution Slots:       SLOT23
  4701.    ========================================================================== */
  4702.  
  4703. #define Q6_R_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyu_nac_ll_s1
  4704.  
  4705. /* ==========================================================================
  4706.    Assembly Syntax:       Rd32=mpyu(Rs32,Rt32)
  4707.    C Intrinsic Prototype: UWord32 Q6_R_mpyu_RR(Word32 Rs, Word32 Rt)
  4708.    Instruction Type:      M
  4709.    Execution Slots:       SLOT23
  4710.    ========================================================================== */
  4711.  
  4712. #define Q6_R_mpyu_RR __builtin_HEXAGON_M2_mpyu_up
  4713.  
  4714. /* ==========================================================================
  4715.    Assembly Syntax:       Rxx32+=mpyu(Rs32.h,Rt32.h)
  4716.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4717.    Instruction Type:      M
  4718.    Execution Slots:       SLOT23
  4719.    ========================================================================== */
  4720.  
  4721. #define Q6_P_mpyuacc_RhRh __builtin_HEXAGON_M2_mpyud_acc_hh_s0
  4722.  
  4723. /* ==========================================================================
  4724.    Assembly Syntax:       Rxx32+=mpyu(Rs32.h,Rt32.h):<<1
  4725.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4726.    Instruction Type:      M
  4727.    Execution Slots:       SLOT23
  4728.    ========================================================================== */
  4729.  
  4730. #define Q6_P_mpyuacc_RhRh_s1 __builtin_HEXAGON_M2_mpyud_acc_hh_s1
  4731.  
  4732. /* ==========================================================================
  4733.    Assembly Syntax:       Rxx32+=mpyu(Rs32.h,Rt32.l)
  4734.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4735.    Instruction Type:      M
  4736.    Execution Slots:       SLOT23
  4737.    ========================================================================== */
  4738.  
  4739. #define Q6_P_mpyuacc_RhRl __builtin_HEXAGON_M2_mpyud_acc_hl_s0
  4740.  
  4741. /* ==========================================================================
  4742.    Assembly Syntax:       Rxx32+=mpyu(Rs32.h,Rt32.l):<<1
  4743.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4744.    Instruction Type:      M
  4745.    Execution Slots:       SLOT23
  4746.    ========================================================================== */
  4747.  
  4748. #define Q6_P_mpyuacc_RhRl_s1 __builtin_HEXAGON_M2_mpyud_acc_hl_s1
  4749.  
  4750. /* ==========================================================================
  4751.    Assembly Syntax:       Rxx32+=mpyu(Rs32.l,Rt32.h)
  4752.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4753.    Instruction Type:      M
  4754.    Execution Slots:       SLOT23
  4755.    ========================================================================== */
  4756.  
  4757. #define Q6_P_mpyuacc_RlRh __builtin_HEXAGON_M2_mpyud_acc_lh_s0
  4758.  
  4759. /* ==========================================================================
  4760.    Assembly Syntax:       Rxx32+=mpyu(Rs32.l,Rt32.h):<<1
  4761.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4762.    Instruction Type:      M
  4763.    Execution Slots:       SLOT23
  4764.    ========================================================================== */
  4765.  
  4766. #define Q6_P_mpyuacc_RlRh_s1 __builtin_HEXAGON_M2_mpyud_acc_lh_s1
  4767.  
  4768. /* ==========================================================================
  4769.    Assembly Syntax:       Rxx32+=mpyu(Rs32.l,Rt32.l)
  4770.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4771.    Instruction Type:      M
  4772.    Execution Slots:       SLOT23
  4773.    ========================================================================== */
  4774.  
  4775. #define Q6_P_mpyuacc_RlRl __builtin_HEXAGON_M2_mpyud_acc_ll_s0
  4776.  
  4777. /* ==========================================================================
  4778.    Assembly Syntax:       Rxx32+=mpyu(Rs32.l,Rt32.l):<<1
  4779.    C Intrinsic Prototype: Word64 Q6_P_mpyuacc_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4780.    Instruction Type:      M
  4781.    Execution Slots:       SLOT23
  4782.    ========================================================================== */
  4783.  
  4784. #define Q6_P_mpyuacc_RlRl_s1 __builtin_HEXAGON_M2_mpyud_acc_ll_s1
  4785.  
  4786. /* ==========================================================================
  4787.    Assembly Syntax:       Rdd32=mpyu(Rs32.h,Rt32.h)
  4788.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRh(Word32 Rs, Word32 Rt)
  4789.    Instruction Type:      M
  4790.    Execution Slots:       SLOT23
  4791.    ========================================================================== */
  4792.  
  4793. #define Q6_P_mpyu_RhRh __builtin_HEXAGON_M2_mpyud_hh_s0
  4794.  
  4795. /* ==========================================================================
  4796.    Assembly Syntax:       Rdd32=mpyu(Rs32.h,Rt32.h):<<1
  4797.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRh_s1(Word32 Rs, Word32 Rt)
  4798.    Instruction Type:      M
  4799.    Execution Slots:       SLOT23
  4800.    ========================================================================== */
  4801.  
  4802. #define Q6_P_mpyu_RhRh_s1 __builtin_HEXAGON_M2_mpyud_hh_s1
  4803.  
  4804. /* ==========================================================================
  4805.    Assembly Syntax:       Rdd32=mpyu(Rs32.h,Rt32.l)
  4806.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRl(Word32 Rs, Word32 Rt)
  4807.    Instruction Type:      M
  4808.    Execution Slots:       SLOT23
  4809.    ========================================================================== */
  4810.  
  4811. #define Q6_P_mpyu_RhRl __builtin_HEXAGON_M2_mpyud_hl_s0
  4812.  
  4813. /* ==========================================================================
  4814.    Assembly Syntax:       Rdd32=mpyu(Rs32.h,Rt32.l):<<1
  4815.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RhRl_s1(Word32 Rs, Word32 Rt)
  4816.    Instruction Type:      M
  4817.    Execution Slots:       SLOT23
  4818.    ========================================================================== */
  4819.  
  4820. #define Q6_P_mpyu_RhRl_s1 __builtin_HEXAGON_M2_mpyud_hl_s1
  4821.  
  4822. /* ==========================================================================
  4823.    Assembly Syntax:       Rdd32=mpyu(Rs32.l,Rt32.h)
  4824.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRh(Word32 Rs, Word32 Rt)
  4825.    Instruction Type:      M
  4826.    Execution Slots:       SLOT23
  4827.    ========================================================================== */
  4828.  
  4829. #define Q6_P_mpyu_RlRh __builtin_HEXAGON_M2_mpyud_lh_s0
  4830.  
  4831. /* ==========================================================================
  4832.    Assembly Syntax:       Rdd32=mpyu(Rs32.l,Rt32.h):<<1
  4833.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRh_s1(Word32 Rs, Word32 Rt)
  4834.    Instruction Type:      M
  4835.    Execution Slots:       SLOT23
  4836.    ========================================================================== */
  4837.  
  4838. #define Q6_P_mpyu_RlRh_s1 __builtin_HEXAGON_M2_mpyud_lh_s1
  4839.  
  4840. /* ==========================================================================
  4841.    Assembly Syntax:       Rdd32=mpyu(Rs32.l,Rt32.l)
  4842.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRl(Word32 Rs, Word32 Rt)
  4843.    Instruction Type:      M
  4844.    Execution Slots:       SLOT23
  4845.    ========================================================================== */
  4846.  
  4847. #define Q6_P_mpyu_RlRl __builtin_HEXAGON_M2_mpyud_ll_s0
  4848.  
  4849. /* ==========================================================================
  4850.    Assembly Syntax:       Rdd32=mpyu(Rs32.l,Rt32.l):<<1
  4851.    C Intrinsic Prototype: UWord64 Q6_P_mpyu_RlRl_s1(Word32 Rs, Word32 Rt)
  4852.    Instruction Type:      M
  4853.    Execution Slots:       SLOT23
  4854.    ========================================================================== */
  4855.  
  4856. #define Q6_P_mpyu_RlRl_s1 __builtin_HEXAGON_M2_mpyud_ll_s1
  4857.  
  4858. /* ==========================================================================
  4859.    Assembly Syntax:       Rxx32-=mpyu(Rs32.h,Rt32.h)
  4860.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4861.    Instruction Type:      M
  4862.    Execution Slots:       SLOT23
  4863.    ========================================================================== */
  4864.  
  4865. #define Q6_P_mpyunac_RhRh __builtin_HEXAGON_M2_mpyud_nac_hh_s0
  4866.  
  4867. /* ==========================================================================
  4868.    Assembly Syntax:       Rxx32-=mpyu(Rs32.h,Rt32.h):<<1
  4869.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4870.    Instruction Type:      M
  4871.    Execution Slots:       SLOT23
  4872.    ========================================================================== */
  4873.  
  4874. #define Q6_P_mpyunac_RhRh_s1 __builtin_HEXAGON_M2_mpyud_nac_hh_s1
  4875.  
  4876. /* ==========================================================================
  4877.    Assembly Syntax:       Rxx32-=mpyu(Rs32.h,Rt32.l)
  4878.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4879.    Instruction Type:      M
  4880.    Execution Slots:       SLOT23
  4881.    ========================================================================== */
  4882.  
  4883. #define Q6_P_mpyunac_RhRl __builtin_HEXAGON_M2_mpyud_nac_hl_s0
  4884.  
  4885. /* ==========================================================================
  4886.    Assembly Syntax:       Rxx32-=mpyu(Rs32.h,Rt32.l):<<1
  4887.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RhRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4888.    Instruction Type:      M
  4889.    Execution Slots:       SLOT23
  4890.    ========================================================================== */
  4891.  
  4892. #define Q6_P_mpyunac_RhRl_s1 __builtin_HEXAGON_M2_mpyud_nac_hl_s1
  4893.  
  4894. /* ==========================================================================
  4895.    Assembly Syntax:       Rxx32-=mpyu(Rs32.l,Rt32.h)
  4896.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRh(Word64 Rxx, Word32 Rs, Word32 Rt)
  4897.    Instruction Type:      M
  4898.    Execution Slots:       SLOT23
  4899.    ========================================================================== */
  4900.  
  4901. #define Q6_P_mpyunac_RlRh __builtin_HEXAGON_M2_mpyud_nac_lh_s0
  4902.  
  4903. /* ==========================================================================
  4904.    Assembly Syntax:       Rxx32-=mpyu(Rs32.l,Rt32.h):<<1
  4905.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRh_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4906.    Instruction Type:      M
  4907.    Execution Slots:       SLOT23
  4908.    ========================================================================== */
  4909.  
  4910. #define Q6_P_mpyunac_RlRh_s1 __builtin_HEXAGON_M2_mpyud_nac_lh_s1
  4911.  
  4912. /* ==========================================================================
  4913.    Assembly Syntax:       Rxx32-=mpyu(Rs32.l,Rt32.l)
  4914.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRl(Word64 Rxx, Word32 Rs, Word32 Rt)
  4915.    Instruction Type:      M
  4916.    Execution Slots:       SLOT23
  4917.    ========================================================================== */
  4918.  
  4919. #define Q6_P_mpyunac_RlRl __builtin_HEXAGON_M2_mpyud_nac_ll_s0
  4920.  
  4921. /* ==========================================================================
  4922.    Assembly Syntax:       Rxx32-=mpyu(Rs32.l,Rt32.l):<<1
  4923.    C Intrinsic Prototype: Word64 Q6_P_mpyunac_RlRl_s1(Word64 Rxx, Word32 Rs, Word32 Rt)
  4924.    Instruction Type:      M
  4925.    Execution Slots:       SLOT23
  4926.    ========================================================================== */
  4927.  
  4928. #define Q6_P_mpyunac_RlRl_s1 __builtin_HEXAGON_M2_mpyud_nac_ll_s1
  4929.  
  4930. /* ==========================================================================
  4931.    Assembly Syntax:       Rd32=mpyui(Rs32,Rt32)
  4932.    C Intrinsic Prototype: Word32 Q6_R_mpyui_RR(Word32 Rs, Word32 Rt)
  4933.    Instruction Type:      M
  4934.    Execution Slots:       SLOT0123
  4935.    ========================================================================== */
  4936.  
  4937. #define Q6_R_mpyui_RR __builtin_HEXAGON_M2_mpyui
  4938.  
  4939. /* ==========================================================================
  4940.    Assembly Syntax:       Rx32-=add(Rs32,Rt32)
  4941.    C Intrinsic Prototype: Word32 Q6_R_addnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  4942.    Instruction Type:      M
  4943.    Execution Slots:       SLOT23
  4944.    ========================================================================== */
  4945.  
  4946. #define Q6_R_addnac_RR __builtin_HEXAGON_M2_nacci
  4947.  
  4948. /* ==========================================================================
  4949.    Assembly Syntax:       Rx32-=add(Rs32,#s8)
  4950.    C Intrinsic Prototype: Word32 Q6_R_addnac_RI(Word32 Rx, Word32 Rs, Word32 Is8)
  4951.    Instruction Type:      M
  4952.    Execution Slots:       SLOT23
  4953.    ========================================================================== */
  4954.  
  4955. #define Q6_R_addnac_RI __builtin_HEXAGON_M2_naccii
  4956.  
  4957. /* ==========================================================================
  4958.    Assembly Syntax:       Rx32+=sub(Rt32,Rs32)
  4959.    C Intrinsic Prototype: Word32 Q6_R_subacc_RR(Word32 Rx, Word32 Rt, Word32 Rs)
  4960.    Instruction Type:      M
  4961.    Execution Slots:       SLOT23
  4962.    ========================================================================== */
  4963.  
  4964. #define Q6_R_subacc_RR __builtin_HEXAGON_M2_subacc
  4965.  
  4966. /* ==========================================================================
  4967.    Assembly Syntax:       Rdd32=vabsdiffh(Rtt32,Rss32)
  4968.    C Intrinsic Prototype: Word64 Q6_P_vabsdiffh_PP(Word64 Rtt, Word64 Rss)
  4969.    Instruction Type:      M
  4970.    Execution Slots:       SLOT23
  4971.    ========================================================================== */
  4972.  
  4973. #define Q6_P_vabsdiffh_PP __builtin_HEXAGON_M2_vabsdiffh
  4974.  
  4975. /* ==========================================================================
  4976.    Assembly Syntax:       Rdd32=vabsdiffw(Rtt32,Rss32)
  4977.    C Intrinsic Prototype: Word64 Q6_P_vabsdiffw_PP(Word64 Rtt, Word64 Rss)
  4978.    Instruction Type:      M
  4979.    Execution Slots:       SLOT23
  4980.    ========================================================================== */
  4981.  
  4982. #define Q6_P_vabsdiffw_PP __builtin_HEXAGON_M2_vabsdiffw
  4983.  
  4984. /* ==========================================================================
  4985.    Assembly Syntax:       Rxx32+=vcmpyi(Rss32,Rtt32):sat
  4986.    C Intrinsic Prototype: Word64 Q6_P_vcmpyiacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  4987.    Instruction Type:      M
  4988.    Execution Slots:       SLOT23
  4989.    ========================================================================== */
  4990.  
  4991. #define Q6_P_vcmpyiacc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_i
  4992.  
  4993. /* ==========================================================================
  4994.    Assembly Syntax:       Rxx32+=vcmpyr(Rss32,Rtt32):sat
  4995.    C Intrinsic Prototype: Word64 Q6_P_vcmpyracc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  4996.    Instruction Type:      M
  4997.    Execution Slots:       SLOT23
  4998.    ========================================================================== */
  4999.  
  5000. #define Q6_P_vcmpyracc_PP_sat __builtin_HEXAGON_M2_vcmac_s0_sat_r
  5001.  
  5002. /* ==========================================================================
  5003.    Assembly Syntax:       Rdd32=vcmpyi(Rss32,Rtt32):sat
  5004.    C Intrinsic Prototype: Word64 Q6_P_vcmpyi_PP_sat(Word64 Rss, Word64 Rtt)
  5005.    Instruction Type:      M
  5006.    Execution Slots:       SLOT23
  5007.    ========================================================================== */
  5008.  
  5009. #define Q6_P_vcmpyi_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_i
  5010.  
  5011. /* ==========================================================================
  5012.    Assembly Syntax:       Rdd32=vcmpyr(Rss32,Rtt32):sat
  5013.    C Intrinsic Prototype: Word64 Q6_P_vcmpyr_PP_sat(Word64 Rss, Word64 Rtt)
  5014.    Instruction Type:      M
  5015.    Execution Slots:       SLOT23
  5016.    ========================================================================== */
  5017.  
  5018. #define Q6_P_vcmpyr_PP_sat __builtin_HEXAGON_M2_vcmpy_s0_sat_r
  5019.  
  5020. /* ==========================================================================
  5021.    Assembly Syntax:       Rdd32=vcmpyi(Rss32,Rtt32):<<1:sat
  5022.    C Intrinsic Prototype: Word64 Q6_P_vcmpyi_PP_s1_sat(Word64 Rss, Word64 Rtt)
  5023.    Instruction Type:      M
  5024.    Execution Slots:       SLOT23
  5025.    ========================================================================== */
  5026.  
  5027. #define Q6_P_vcmpyi_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_i
  5028.  
  5029. /* ==========================================================================
  5030.    Assembly Syntax:       Rdd32=vcmpyr(Rss32,Rtt32):<<1:sat
  5031.    C Intrinsic Prototype: Word64 Q6_P_vcmpyr_PP_s1_sat(Word64 Rss, Word64 Rtt)
  5032.    Instruction Type:      M
  5033.    Execution Slots:       SLOT23
  5034.    ========================================================================== */
  5035.  
  5036. #define Q6_P_vcmpyr_PP_s1_sat __builtin_HEXAGON_M2_vcmpy_s1_sat_r
  5037.  
  5038. /* ==========================================================================
  5039.    Assembly Syntax:       Rxx32+=vdmpy(Rss32,Rtt32):sat
  5040.    C Intrinsic Prototype: Word64 Q6_P_vdmpyacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5041.    Instruction Type:      M
  5042.    Execution Slots:       SLOT23
  5043.    ========================================================================== */
  5044.  
  5045. #define Q6_P_vdmpyacc_PP_sat __builtin_HEXAGON_M2_vdmacs_s0
  5046.  
  5047. /* ==========================================================================
  5048.    Assembly Syntax:       Rxx32+=vdmpy(Rss32,Rtt32):<<1:sat
  5049.    C Intrinsic Prototype: Word64 Q6_P_vdmpyacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5050.    Instruction Type:      M
  5051.    Execution Slots:       SLOT23
  5052.    ========================================================================== */
  5053.  
  5054. #define Q6_P_vdmpyacc_PP_s1_sat __builtin_HEXAGON_M2_vdmacs_s1
  5055.  
  5056. /* ==========================================================================
  5057.    Assembly Syntax:       Rd32=vdmpy(Rss32,Rtt32):rnd:sat
  5058.    C Intrinsic Prototype: Word32 Q6_R_vdmpy_PP_rnd_sat(Word64 Rss, Word64 Rtt)
  5059.    Instruction Type:      M
  5060.    Execution Slots:       SLOT23
  5061.    ========================================================================== */
  5062.  
  5063. #define Q6_R_vdmpy_PP_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s0
  5064.  
  5065. /* ==========================================================================
  5066.    Assembly Syntax:       Rd32=vdmpy(Rss32,Rtt32):<<1:rnd:sat
  5067.    C Intrinsic Prototype: Word32 Q6_R_vdmpy_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  5068.    Instruction Type:      M
  5069.    Execution Slots:       SLOT23
  5070.    ========================================================================== */
  5071.  
  5072. #define Q6_R_vdmpy_PP_s1_rnd_sat __builtin_HEXAGON_M2_vdmpyrs_s1
  5073.  
  5074. /* ==========================================================================
  5075.    Assembly Syntax:       Rdd32=vdmpy(Rss32,Rtt32):sat
  5076.    C Intrinsic Prototype: Word64 Q6_P_vdmpy_PP_sat(Word64 Rss, Word64 Rtt)
  5077.    Instruction Type:      M
  5078.    Execution Slots:       SLOT23
  5079.    ========================================================================== */
  5080.  
  5081. #define Q6_P_vdmpy_PP_sat __builtin_HEXAGON_M2_vdmpys_s0
  5082.  
  5083. /* ==========================================================================
  5084.    Assembly Syntax:       Rdd32=vdmpy(Rss32,Rtt32):<<1:sat
  5085.    C Intrinsic Prototype: Word64 Q6_P_vdmpy_PP_s1_sat(Word64 Rss, Word64 Rtt)
  5086.    Instruction Type:      M
  5087.    Execution Slots:       SLOT23
  5088.    ========================================================================== */
  5089.  
  5090. #define Q6_P_vdmpy_PP_s1_sat __builtin_HEXAGON_M2_vdmpys_s1
  5091.  
  5092. /* ==========================================================================
  5093.    Assembly Syntax:       Rxx32+=vmpyh(Rs32,Rt32)
  5094.    C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  5095.    Instruction Type:      M
  5096.    Execution Slots:       SLOT23
  5097.    ========================================================================== */
  5098.  
  5099. #define Q6_P_vmpyhacc_RR __builtin_HEXAGON_M2_vmac2
  5100.  
  5101. /* ==========================================================================
  5102.    Assembly Syntax:       Rxx32+=vmpyeh(Rss32,Rtt32)
  5103.    C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5104.    Instruction Type:      M
  5105.    Execution Slots:       SLOT23
  5106.    ========================================================================== */
  5107.  
  5108. #define Q6_P_vmpyehacc_PP __builtin_HEXAGON_M2_vmac2es
  5109.  
  5110. /* ==========================================================================
  5111.    Assembly Syntax:       Rxx32+=vmpyeh(Rss32,Rtt32):sat
  5112.    C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5113.    Instruction Type:      M
  5114.    Execution Slots:       SLOT23
  5115.    ========================================================================== */
  5116.  
  5117. #define Q6_P_vmpyehacc_PP_sat __builtin_HEXAGON_M2_vmac2es_s0
  5118.  
  5119. /* ==========================================================================
  5120.    Assembly Syntax:       Rxx32+=vmpyeh(Rss32,Rtt32):<<1:sat
  5121.    C Intrinsic Prototype: Word64 Q6_P_vmpyehacc_PP_s1_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5122.    Instruction Type:      M
  5123.    Execution Slots:       SLOT23
  5124.    ========================================================================== */
  5125.  
  5126. #define Q6_P_vmpyehacc_PP_s1_sat __builtin_HEXAGON_M2_vmac2es_s1
  5127.  
  5128. /* ==========================================================================
  5129.    Assembly Syntax:       Rxx32+=vmpyh(Rs32,Rt32):sat
  5130.    C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  5131.    Instruction Type:      M
  5132.    Execution Slots:       SLOT23
  5133.    ========================================================================== */
  5134.  
  5135. #define Q6_P_vmpyhacc_RR_sat __builtin_HEXAGON_M2_vmac2s_s0
  5136.  
  5137. /* ==========================================================================
  5138.    Assembly Syntax:       Rxx32+=vmpyh(Rs32,Rt32):<<1:sat
  5139.    C Intrinsic Prototype: Word64 Q6_P_vmpyhacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  5140.    Instruction Type:      M
  5141.    Execution Slots:       SLOT23
  5142.    ========================================================================== */
  5143.  
  5144. #define Q6_P_vmpyhacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2s_s1
  5145.  
  5146. /* ==========================================================================
  5147.    Assembly Syntax:       Rxx32+=vmpyhsu(Rs32,Rt32):sat
  5148.    C Intrinsic Prototype: Word64 Q6_P_vmpyhsuacc_RR_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  5149.    Instruction Type:      M
  5150.    Execution Slots:       SLOT23
  5151.    ========================================================================== */
  5152.  
  5153. #define Q6_P_vmpyhsuacc_RR_sat __builtin_HEXAGON_M2_vmac2su_s0
  5154.  
  5155. /* ==========================================================================
  5156.    Assembly Syntax:       Rxx32+=vmpyhsu(Rs32,Rt32):<<1:sat
  5157.    C Intrinsic Prototype: Word64 Q6_P_vmpyhsuacc_RR_s1_sat(Word64 Rxx, Word32 Rs, Word32 Rt)
  5158.    Instruction Type:      M
  5159.    Execution Slots:       SLOT23
  5160.    ========================================================================== */
  5161.  
  5162. #define Q6_P_vmpyhsuacc_RR_s1_sat __builtin_HEXAGON_M2_vmac2su_s1
  5163.  
  5164. /* ==========================================================================
  5165.    Assembly Syntax:       Rdd32=vmpyeh(Rss32,Rtt32):sat
  5166.    C Intrinsic Prototype: Word64 Q6_P_vmpyeh_PP_sat(Word64 Rss, Word64 Rtt)
  5167.    Instruction Type:      M
  5168.    Execution Slots:       SLOT23
  5169.    ========================================================================== */
  5170.  
  5171. #define Q6_P_vmpyeh_PP_sat __builtin_HEXAGON_M2_vmpy2es_s0
  5172.  
  5173. /* ==========================================================================
  5174.    Assembly Syntax:       Rdd32=vmpyeh(Rss32,Rtt32):<<1:sat
  5175.    C Intrinsic Prototype: Word64 Q6_P_vmpyeh_PP_s1_sat(Word64 Rss, Word64 Rtt)
  5176.    Instruction Type:      M
  5177.    Execution Slots:       SLOT23
  5178.    ========================================================================== */
  5179.  
  5180. #define Q6_P_vmpyeh_PP_s1_sat __builtin_HEXAGON_M2_vmpy2es_s1
  5181.  
  5182. /* ==========================================================================
  5183.    Assembly Syntax:       Rdd32=vmpyh(Rs32,Rt32):sat
  5184.    C Intrinsic Prototype: Word64 Q6_P_vmpyh_RR_sat(Word32 Rs, Word32 Rt)
  5185.    Instruction Type:      M
  5186.    Execution Slots:       SLOT23
  5187.    ========================================================================== */
  5188.  
  5189. #define Q6_P_vmpyh_RR_sat __builtin_HEXAGON_M2_vmpy2s_s0
  5190.  
  5191. /* ==========================================================================
  5192.    Assembly Syntax:       Rd32=vmpyh(Rs32,Rt32):rnd:sat
  5193.    C Intrinsic Prototype: Word32 Q6_R_vmpyh_RR_rnd_sat(Word32 Rs, Word32 Rt)
  5194.    Instruction Type:      M
  5195.    Execution Slots:       SLOT23
  5196.    ========================================================================== */
  5197.  
  5198. #define Q6_R_vmpyh_RR_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s0pack
  5199.  
  5200. /* ==========================================================================
  5201.    Assembly Syntax:       Rdd32=vmpyh(Rs32,Rt32):<<1:sat
  5202.    C Intrinsic Prototype: Word64 Q6_P_vmpyh_RR_s1_sat(Word32 Rs, Word32 Rt)
  5203.    Instruction Type:      M
  5204.    Execution Slots:       SLOT23
  5205.    ========================================================================== */
  5206.  
  5207. #define Q6_P_vmpyh_RR_s1_sat __builtin_HEXAGON_M2_vmpy2s_s1
  5208.  
  5209. /* ==========================================================================
  5210.    Assembly Syntax:       Rd32=vmpyh(Rs32,Rt32):<<1:rnd:sat
  5211.    C Intrinsic Prototype: Word32 Q6_R_vmpyh_RR_s1_rnd_sat(Word32 Rs, Word32 Rt)
  5212.    Instruction Type:      M
  5213.    Execution Slots:       SLOT23
  5214.    ========================================================================== */
  5215.  
  5216. #define Q6_R_vmpyh_RR_s1_rnd_sat __builtin_HEXAGON_M2_vmpy2s_s1pack
  5217.  
  5218. /* ==========================================================================
  5219.    Assembly Syntax:       Rdd32=vmpyhsu(Rs32,Rt32):sat
  5220.    C Intrinsic Prototype: Word64 Q6_P_vmpyhsu_RR_sat(Word32 Rs, Word32 Rt)
  5221.    Instruction Type:      M
  5222.    Execution Slots:       SLOT23
  5223.    ========================================================================== */
  5224.  
  5225. #define Q6_P_vmpyhsu_RR_sat __builtin_HEXAGON_M2_vmpy2su_s0
  5226.  
  5227. /* ==========================================================================
  5228.    Assembly Syntax:       Rdd32=vmpyhsu(Rs32,Rt32):<<1:sat
  5229.    C Intrinsic Prototype: Word64 Q6_P_vmpyhsu_RR_s1_sat(Word32 Rs, Word32 Rt)
  5230.    Instruction Type:      M
  5231.    Execution Slots:       SLOT23
  5232.    ========================================================================== */
  5233.  
  5234. #define Q6_P_vmpyhsu_RR_s1_sat __builtin_HEXAGON_M2_vmpy2su_s1
  5235.  
  5236. /* ==========================================================================
  5237.    Assembly Syntax:       Rd32=vraddh(Rss32,Rtt32)
  5238.    C Intrinsic Prototype: Word32 Q6_R_vraddh_PP(Word64 Rss, Word64 Rtt)
  5239.    Instruction Type:      M
  5240.    Execution Slots:       SLOT23
  5241.    ========================================================================== */
  5242.  
  5243. #define Q6_R_vraddh_PP __builtin_HEXAGON_M2_vraddh
  5244.  
  5245. /* ==========================================================================
  5246.    Assembly Syntax:       Rd32=vradduh(Rss32,Rtt32)
  5247.    C Intrinsic Prototype: Word32 Q6_R_vradduh_PP(Word64 Rss, Word64 Rtt)
  5248.    Instruction Type:      M
  5249.    Execution Slots:       SLOT23
  5250.    ========================================================================== */
  5251.  
  5252. #define Q6_R_vradduh_PP __builtin_HEXAGON_M2_vradduh
  5253.  
  5254. /* ==========================================================================
  5255.    Assembly Syntax:       Rxx32+=vrcmpyi(Rss32,Rtt32)
  5256.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyiacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5257.    Instruction Type:      M
  5258.    Execution Slots:       SLOT23
  5259.    ========================================================================== */
  5260.  
  5261. #define Q6_P_vrcmpyiacc_PP __builtin_HEXAGON_M2_vrcmaci_s0
  5262.  
  5263. /* ==========================================================================
  5264.    Assembly Syntax:       Rxx32+=vrcmpyi(Rss32,Rtt32*)
  5265.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyiacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5266.    Instruction Type:      M
  5267.    Execution Slots:       SLOT23
  5268.    ========================================================================== */
  5269.  
  5270. #define Q6_P_vrcmpyiacc_PP_conj __builtin_HEXAGON_M2_vrcmaci_s0c
  5271.  
  5272. /* ==========================================================================
  5273.    Assembly Syntax:       Rxx32+=vrcmpyr(Rss32,Rtt32)
  5274.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyracc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5275.    Instruction Type:      M
  5276.    Execution Slots:       SLOT23
  5277.    ========================================================================== */
  5278.  
  5279. #define Q6_P_vrcmpyracc_PP __builtin_HEXAGON_M2_vrcmacr_s0
  5280.  
  5281. /* ==========================================================================
  5282.    Assembly Syntax:       Rxx32+=vrcmpyr(Rss32,Rtt32*)
  5283.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyracc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5284.    Instruction Type:      M
  5285.    Execution Slots:       SLOT23
  5286.    ========================================================================== */
  5287.  
  5288. #define Q6_P_vrcmpyracc_PP_conj __builtin_HEXAGON_M2_vrcmacr_s0c
  5289.  
  5290. /* ==========================================================================
  5291.    Assembly Syntax:       Rdd32=vrcmpyi(Rss32,Rtt32)
  5292.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyi_PP(Word64 Rss, Word64 Rtt)
  5293.    Instruction Type:      M
  5294.    Execution Slots:       SLOT23
  5295.    ========================================================================== */
  5296.  
  5297. #define Q6_P_vrcmpyi_PP __builtin_HEXAGON_M2_vrcmpyi_s0
  5298.  
  5299. /* ==========================================================================
  5300.    Assembly Syntax:       Rdd32=vrcmpyi(Rss32,Rtt32*)
  5301.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyi_PP_conj(Word64 Rss, Word64 Rtt)
  5302.    Instruction Type:      M
  5303.    Execution Slots:       SLOT23
  5304.    ========================================================================== */
  5305.  
  5306. #define Q6_P_vrcmpyi_PP_conj __builtin_HEXAGON_M2_vrcmpyi_s0c
  5307.  
  5308. /* ==========================================================================
  5309.    Assembly Syntax:       Rdd32=vrcmpyr(Rss32,Rtt32)
  5310.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyr_PP(Word64 Rss, Word64 Rtt)
  5311.    Instruction Type:      M
  5312.    Execution Slots:       SLOT23
  5313.    ========================================================================== */
  5314.  
  5315. #define Q6_P_vrcmpyr_PP __builtin_HEXAGON_M2_vrcmpyr_s0
  5316.  
  5317. /* ==========================================================================
  5318.    Assembly Syntax:       Rdd32=vrcmpyr(Rss32,Rtt32*)
  5319.    C Intrinsic Prototype: Word64 Q6_P_vrcmpyr_PP_conj(Word64 Rss, Word64 Rtt)
  5320.    Instruction Type:      M
  5321.    Execution Slots:       SLOT23
  5322.    ========================================================================== */
  5323.  
  5324. #define Q6_P_vrcmpyr_PP_conj __builtin_HEXAGON_M2_vrcmpyr_s0c
  5325.  
  5326. /* ==========================================================================
  5327.    Assembly Syntax:       Rxx32+=vrcmpys(Rss32,Rt32):<<1:sat
  5328.    C Intrinsic Prototype: Word64 Q6_P_vrcmpysacc_PR_s1_sat(Word64 Rxx, Word64 Rss, Word32 Rt)
  5329.    Instruction Type:      M
  5330.    Execution Slots:       SLOT0123
  5331.    ========================================================================== */
  5332.  
  5333. #define Q6_P_vrcmpysacc_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_acc_s1
  5334.  
  5335. /* ==========================================================================
  5336.    Assembly Syntax:       Rdd32=vrcmpys(Rss32,Rt32):<<1:sat
  5337.    C Intrinsic Prototype: Word64 Q6_P_vrcmpys_PR_s1_sat(Word64 Rss, Word32 Rt)
  5338.    Instruction Type:      M
  5339.    Execution Slots:       SLOT0123
  5340.    ========================================================================== */
  5341.  
  5342. #define Q6_P_vrcmpys_PR_s1_sat __builtin_HEXAGON_M2_vrcmpys_s1
  5343.  
  5344. /* ==========================================================================
  5345.    Assembly Syntax:       Rd32=vrcmpys(Rss32,Rt32):<<1:rnd:sat
  5346.    C Intrinsic Prototype: Word32 Q6_R_vrcmpys_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
  5347.    Instruction Type:      M
  5348.    Execution Slots:       SLOT0123
  5349.    ========================================================================== */
  5350.  
  5351. #define Q6_R_vrcmpys_PR_s1_rnd_sat __builtin_HEXAGON_M2_vrcmpys_s1rp
  5352.  
  5353. /* ==========================================================================
  5354.    Assembly Syntax:       Rxx32+=vrmpyh(Rss32,Rtt32)
  5355.    C Intrinsic Prototype: Word64 Q6_P_vrmpyhacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5356.    Instruction Type:      M
  5357.    Execution Slots:       SLOT23
  5358.    ========================================================================== */
  5359.  
  5360. #define Q6_P_vrmpyhacc_PP __builtin_HEXAGON_M2_vrmac_s0
  5361.  
  5362. /* ==========================================================================
  5363.    Assembly Syntax:       Rdd32=vrmpyh(Rss32,Rtt32)
  5364.    C Intrinsic Prototype: Word64 Q6_P_vrmpyh_PP(Word64 Rss, Word64 Rtt)
  5365.    Instruction Type:      M
  5366.    Execution Slots:       SLOT23
  5367.    ========================================================================== */
  5368.  
  5369. #define Q6_P_vrmpyh_PP __builtin_HEXAGON_M2_vrmpy_s0
  5370.  
  5371. /* ==========================================================================
  5372.    Assembly Syntax:       Rx32^=xor(Rs32,Rt32)
  5373.    C Intrinsic Prototype: Word32 Q6_R_xorxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5374.    Instruction Type:      M
  5375.    Execution Slots:       SLOT23
  5376.    ========================================================================== */
  5377.  
  5378. #define Q6_R_xorxacc_RR __builtin_HEXAGON_M2_xor_xacc
  5379.  
  5380. /* ==========================================================================
  5381.    Assembly Syntax:       Rx32&=and(Rs32,Rt32)
  5382.    C Intrinsic Prototype: Word32 Q6_R_andand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5383.    Instruction Type:      M
  5384.    Execution Slots:       SLOT23
  5385.    ========================================================================== */
  5386.  
  5387. #define Q6_R_andand_RR __builtin_HEXAGON_M4_and_and
  5388.  
  5389. /* ==========================================================================
  5390.    Assembly Syntax:       Rx32&=and(Rs32,~Rt32)
  5391.    C Intrinsic Prototype: Word32 Q6_R_andand_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
  5392.    Instruction Type:      M
  5393.    Execution Slots:       SLOT23
  5394.    ========================================================================== */
  5395.  
  5396. #define Q6_R_andand_RnR __builtin_HEXAGON_M4_and_andn
  5397.  
  5398. /* ==========================================================================
  5399.    Assembly Syntax:       Rx32&=or(Rs32,Rt32)
  5400.    C Intrinsic Prototype: Word32 Q6_R_orand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5401.    Instruction Type:      M
  5402.    Execution Slots:       SLOT23
  5403.    ========================================================================== */
  5404.  
  5405. #define Q6_R_orand_RR __builtin_HEXAGON_M4_and_or
  5406.  
  5407. /* ==========================================================================
  5408.    Assembly Syntax:       Rx32&=xor(Rs32,Rt32)
  5409.    C Intrinsic Prototype: Word32 Q6_R_xorand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5410.    Instruction Type:      M
  5411.    Execution Slots:       SLOT23
  5412.    ========================================================================== */
  5413.  
  5414. #define Q6_R_xorand_RR __builtin_HEXAGON_M4_and_xor
  5415.  
  5416. /* ==========================================================================
  5417.    Assembly Syntax:       Rd32=cmpyiwh(Rss32,Rt32):<<1:rnd:sat
  5418.    C Intrinsic Prototype: Word32 Q6_R_cmpyiwh_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
  5419.    Instruction Type:      S_3op
  5420.    Execution Slots:       SLOT23
  5421.    ========================================================================== */
  5422.  
  5423. #define Q6_R_cmpyiwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_wh
  5424.  
  5425. /* ==========================================================================
  5426.    Assembly Syntax:       Rd32=cmpyiwh(Rss32,Rt32*):<<1:rnd:sat
  5427.    C Intrinsic Prototype: Word32 Q6_R_cmpyiwh_PR_conj_s1_rnd_sat(Word64 Rss, Word32 Rt)
  5428.    Instruction Type:      S_3op
  5429.    Execution Slots:       SLOT23
  5430.    ========================================================================== */
  5431.  
  5432. #define Q6_R_cmpyiwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyi_whc
  5433.  
  5434. /* ==========================================================================
  5435.    Assembly Syntax:       Rd32=cmpyrwh(Rss32,Rt32):<<1:rnd:sat
  5436.    C Intrinsic Prototype: Word32 Q6_R_cmpyrwh_PR_s1_rnd_sat(Word64 Rss, Word32 Rt)
  5437.    Instruction Type:      S_3op
  5438.    Execution Slots:       SLOT23
  5439.    ========================================================================== */
  5440.  
  5441. #define Q6_R_cmpyrwh_PR_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_wh
  5442.  
  5443. /* ==========================================================================
  5444.    Assembly Syntax:       Rd32=cmpyrwh(Rss32,Rt32*):<<1:rnd:sat
  5445.    C Intrinsic Prototype: Word32 Q6_R_cmpyrwh_PR_conj_s1_rnd_sat(Word64 Rss, Word32 Rt)
  5446.    Instruction Type:      S_3op
  5447.    Execution Slots:       SLOT23
  5448.    ========================================================================== */
  5449.  
  5450. #define Q6_R_cmpyrwh_PR_conj_s1_rnd_sat __builtin_HEXAGON_M4_cmpyr_whc
  5451.  
  5452. /* ==========================================================================
  5453.    Assembly Syntax:       Rx32+=mpy(Rs32,Rt32):<<1:sat
  5454.    C Intrinsic Prototype: Word32 Q6_R_mpyacc_RR_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  5455.    Instruction Type:      M
  5456.    Execution Slots:       SLOT23
  5457.    ========================================================================== */
  5458.  
  5459. #define Q6_R_mpyacc_RR_s1_sat __builtin_HEXAGON_M4_mac_up_s1_sat
  5460.  
  5461. /* ==========================================================================
  5462.    Assembly Syntax:       Rd32=add(#u6,mpyi(Rs32,#U6))
  5463.    C Intrinsic Prototype: Word32 Q6_R_add_mpyi_IRI(Word32 Iu6, Word32 Rs, Word32 IU6)
  5464.    Instruction Type:      ALU64
  5465.    Execution Slots:       SLOT23
  5466.    ========================================================================== */
  5467.  
  5468. #define Q6_R_add_mpyi_IRI __builtin_HEXAGON_M4_mpyri_addi
  5469.  
  5470. /* ==========================================================================
  5471.    Assembly Syntax:       Rd32=add(Ru32,mpyi(Rs32,#u6))
  5472.    C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RRI(Word32 Ru, Word32 Rs, Word32 Iu6)
  5473.    Instruction Type:      ALU64
  5474.    Execution Slots:       SLOT23
  5475.    ========================================================================== */
  5476.  
  5477. #define Q6_R_add_mpyi_RRI __builtin_HEXAGON_M4_mpyri_addr
  5478.  
  5479. /* ==========================================================================
  5480.    Assembly Syntax:       Rd32=add(Ru32,mpyi(#u6:2,Rs32))
  5481.    C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RIR(Word32 Ru, Word32 Iu6_2, Word32 Rs)
  5482.    Instruction Type:      ALU64
  5483.    Execution Slots:       SLOT23
  5484.    ========================================================================== */
  5485.  
  5486. #define Q6_R_add_mpyi_RIR __builtin_HEXAGON_M4_mpyri_addr_u2
  5487.  
  5488. /* ==========================================================================
  5489.    Assembly Syntax:       Rd32=add(#u6,mpyi(Rs32,Rt32))
  5490.    C Intrinsic Prototype: Word32 Q6_R_add_mpyi_IRR(Word32 Iu6, Word32 Rs, Word32 Rt)
  5491.    Instruction Type:      ALU64
  5492.    Execution Slots:       SLOT23
  5493.    ========================================================================== */
  5494.  
  5495. #define Q6_R_add_mpyi_IRR __builtin_HEXAGON_M4_mpyrr_addi
  5496.  
  5497. /* ==========================================================================
  5498.    Assembly Syntax:       Ry32=add(Ru32,mpyi(Ry32,Rs32))
  5499.    C Intrinsic Prototype: Word32 Q6_R_add_mpyi_RRR(Word32 Ru, Word32 Ry, Word32 Rs)
  5500.    Instruction Type:      M
  5501.    Execution Slots:       SLOT23
  5502.    ========================================================================== */
  5503.  
  5504. #define Q6_R_add_mpyi_RRR __builtin_HEXAGON_M4_mpyrr_addr
  5505.  
  5506. /* ==========================================================================
  5507.    Assembly Syntax:       Rx32-=mpy(Rs32,Rt32):<<1:sat
  5508.    C Intrinsic Prototype: Word32 Q6_R_mpynac_RR_s1_sat(Word32 Rx, Word32 Rs, Word32 Rt)
  5509.    Instruction Type:      M
  5510.    Execution Slots:       SLOT23
  5511.    ========================================================================== */
  5512.  
  5513. #define Q6_R_mpynac_RR_s1_sat __builtin_HEXAGON_M4_nac_up_s1_sat
  5514.  
  5515. /* ==========================================================================
  5516.    Assembly Syntax:       Rx32|=and(Rs32,Rt32)
  5517.    C Intrinsic Prototype: Word32 Q6_R_andor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5518.    Instruction Type:      M
  5519.    Execution Slots:       SLOT23
  5520.    ========================================================================== */
  5521.  
  5522. #define Q6_R_andor_RR __builtin_HEXAGON_M4_or_and
  5523.  
  5524. /* ==========================================================================
  5525.    Assembly Syntax:       Rx32|=and(Rs32,~Rt32)
  5526.    C Intrinsic Prototype: Word32 Q6_R_andor_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
  5527.    Instruction Type:      M
  5528.    Execution Slots:       SLOT23
  5529.    ========================================================================== */
  5530.  
  5531. #define Q6_R_andor_RnR __builtin_HEXAGON_M4_or_andn
  5532.  
  5533. /* ==========================================================================
  5534.    Assembly Syntax:       Rx32|=or(Rs32,Rt32)
  5535.    C Intrinsic Prototype: Word32 Q6_R_oror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5536.    Instruction Type:      M
  5537.    Execution Slots:       SLOT23
  5538.    ========================================================================== */
  5539.  
  5540. #define Q6_R_oror_RR __builtin_HEXAGON_M4_or_or
  5541.  
  5542. /* ==========================================================================
  5543.    Assembly Syntax:       Rx32|=xor(Rs32,Rt32)
  5544.    C Intrinsic Prototype: Word32 Q6_R_xoror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5545.    Instruction Type:      M
  5546.    Execution Slots:       SLOT23
  5547.    ========================================================================== */
  5548.  
  5549. #define Q6_R_xoror_RR __builtin_HEXAGON_M4_or_xor
  5550.  
  5551. /* ==========================================================================
  5552.    Assembly Syntax:       Rdd32=pmpyw(Rs32,Rt32)
  5553.    C Intrinsic Prototype: Word64 Q6_P_pmpyw_RR(Word32 Rs, Word32 Rt)
  5554.    Instruction Type:      M
  5555.    Execution Slots:       SLOT23
  5556.    ========================================================================== */
  5557.  
  5558. #define Q6_P_pmpyw_RR __builtin_HEXAGON_M4_pmpyw
  5559.  
  5560. /* ==========================================================================
  5561.    Assembly Syntax:       Rxx32^=pmpyw(Rs32,Rt32)
  5562.    C Intrinsic Prototype: Word64 Q6_P_pmpywxacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  5563.    Instruction Type:      M
  5564.    Execution Slots:       SLOT23
  5565.    ========================================================================== */
  5566.  
  5567. #define Q6_P_pmpywxacc_RR __builtin_HEXAGON_M4_pmpyw_acc
  5568.  
  5569. /* ==========================================================================
  5570.    Assembly Syntax:       Rdd32=vpmpyh(Rs32,Rt32)
  5571.    C Intrinsic Prototype: Word64 Q6_P_vpmpyh_RR(Word32 Rs, Word32 Rt)
  5572.    Instruction Type:      M
  5573.    Execution Slots:       SLOT23
  5574.    ========================================================================== */
  5575.  
  5576. #define Q6_P_vpmpyh_RR __builtin_HEXAGON_M4_vpmpyh
  5577.  
  5578. /* ==========================================================================
  5579.    Assembly Syntax:       Rxx32^=vpmpyh(Rs32,Rt32)
  5580.    C Intrinsic Prototype: Word64 Q6_P_vpmpyhxacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  5581.    Instruction Type:      M
  5582.    Execution Slots:       SLOT23
  5583.    ========================================================================== */
  5584.  
  5585. #define Q6_P_vpmpyhxacc_RR __builtin_HEXAGON_M4_vpmpyh_acc
  5586.  
  5587. /* ==========================================================================
  5588.    Assembly Syntax:       Rxx32+=vrmpyweh(Rss32,Rtt32)
  5589.    C Intrinsic Prototype: Word64 Q6_P_vrmpywehacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5590.    Instruction Type:      M
  5591.    Execution Slots:       SLOT23
  5592.    ========================================================================== */
  5593.  
  5594. #define Q6_P_vrmpywehacc_PP __builtin_HEXAGON_M4_vrmpyeh_acc_s0
  5595.  
  5596. /* ==========================================================================
  5597.    Assembly Syntax:       Rxx32+=vrmpyweh(Rss32,Rtt32):<<1
  5598.    C Intrinsic Prototype: Word64 Q6_P_vrmpywehacc_PP_s1(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5599.    Instruction Type:      M
  5600.    Execution Slots:       SLOT23
  5601.    ========================================================================== */
  5602.  
  5603. #define Q6_P_vrmpywehacc_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_acc_s1
  5604.  
  5605. /* ==========================================================================
  5606.    Assembly Syntax:       Rdd32=vrmpyweh(Rss32,Rtt32)
  5607.    C Intrinsic Prototype: Word64 Q6_P_vrmpyweh_PP(Word64 Rss, Word64 Rtt)
  5608.    Instruction Type:      M
  5609.    Execution Slots:       SLOT23
  5610.    ========================================================================== */
  5611.  
  5612. #define Q6_P_vrmpyweh_PP __builtin_HEXAGON_M4_vrmpyeh_s0
  5613.  
  5614. /* ==========================================================================
  5615.    Assembly Syntax:       Rdd32=vrmpyweh(Rss32,Rtt32):<<1
  5616.    C Intrinsic Prototype: Word64 Q6_P_vrmpyweh_PP_s1(Word64 Rss, Word64 Rtt)
  5617.    Instruction Type:      M
  5618.    Execution Slots:       SLOT23
  5619.    ========================================================================== */
  5620.  
  5621. #define Q6_P_vrmpyweh_PP_s1 __builtin_HEXAGON_M4_vrmpyeh_s1
  5622.  
  5623. /* ==========================================================================
  5624.    Assembly Syntax:       Rxx32+=vrmpywoh(Rss32,Rtt32)
  5625.    C Intrinsic Prototype: Word64 Q6_P_vrmpywohacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5626.    Instruction Type:      M
  5627.    Execution Slots:       SLOT23
  5628.    ========================================================================== */
  5629.  
  5630. #define Q6_P_vrmpywohacc_PP __builtin_HEXAGON_M4_vrmpyoh_acc_s0
  5631.  
  5632. /* ==========================================================================
  5633.    Assembly Syntax:       Rxx32+=vrmpywoh(Rss32,Rtt32):<<1
  5634.    C Intrinsic Prototype: Word64 Q6_P_vrmpywohacc_PP_s1(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5635.    Instruction Type:      M
  5636.    Execution Slots:       SLOT23
  5637.    ========================================================================== */
  5638.  
  5639. #define Q6_P_vrmpywohacc_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_acc_s1
  5640.  
  5641. /* ==========================================================================
  5642.    Assembly Syntax:       Rdd32=vrmpywoh(Rss32,Rtt32)
  5643.    C Intrinsic Prototype: Word64 Q6_P_vrmpywoh_PP(Word64 Rss, Word64 Rtt)
  5644.    Instruction Type:      M
  5645.    Execution Slots:       SLOT23
  5646.    ========================================================================== */
  5647.  
  5648. #define Q6_P_vrmpywoh_PP __builtin_HEXAGON_M4_vrmpyoh_s0
  5649.  
  5650. /* ==========================================================================
  5651.    Assembly Syntax:       Rdd32=vrmpywoh(Rss32,Rtt32):<<1
  5652.    C Intrinsic Prototype: Word64 Q6_P_vrmpywoh_PP_s1(Word64 Rss, Word64 Rtt)
  5653.    Instruction Type:      M
  5654.    Execution Slots:       SLOT23
  5655.    ========================================================================== */
  5656.  
  5657. #define Q6_P_vrmpywoh_PP_s1 __builtin_HEXAGON_M4_vrmpyoh_s1
  5658.  
  5659. /* ==========================================================================
  5660.    Assembly Syntax:       Rx32^=and(Rs32,Rt32)
  5661.    C Intrinsic Prototype: Word32 Q6_R_andxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5662.    Instruction Type:      M
  5663.    Execution Slots:       SLOT23
  5664.    ========================================================================== */
  5665.  
  5666. #define Q6_R_andxacc_RR __builtin_HEXAGON_M4_xor_and
  5667.  
  5668. /* ==========================================================================
  5669.    Assembly Syntax:       Rx32^=and(Rs32,~Rt32)
  5670.    C Intrinsic Prototype: Word32 Q6_R_andxacc_RnR(Word32 Rx, Word32 Rs, Word32 Rt)
  5671.    Instruction Type:      M
  5672.    Execution Slots:       SLOT23
  5673.    ========================================================================== */
  5674.  
  5675. #define Q6_R_andxacc_RnR __builtin_HEXAGON_M4_xor_andn
  5676.  
  5677. /* ==========================================================================
  5678.    Assembly Syntax:       Rx32^=or(Rs32,Rt32)
  5679.    C Intrinsic Prototype: Word32 Q6_R_orxacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5680.    Instruction Type:      M
  5681.    Execution Slots:       SLOT23
  5682.    ========================================================================== */
  5683.  
  5684. #define Q6_R_orxacc_RR __builtin_HEXAGON_M4_xor_or
  5685.  
  5686. /* ==========================================================================
  5687.    Assembly Syntax:       Rxx32^=xor(Rss32,Rtt32)
  5688.    C Intrinsic Prototype: Word64 Q6_P_xorxacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5689.    Instruction Type:      S_3op
  5690.    Execution Slots:       SLOT23
  5691.    ========================================================================== */
  5692.  
  5693. #define Q6_P_xorxacc_PP __builtin_HEXAGON_M4_xor_xacc
  5694.  
  5695. /* ==========================================================================
  5696.    Assembly Syntax:       Rxx32+=vdmpybsu(Rss32,Rtt32):sat
  5697.    C Intrinsic Prototype: Word64 Q6_P_vdmpybsuacc_PP_sat(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5698.    Instruction Type:      M
  5699.    Execution Slots:       SLOT23
  5700.    ========================================================================== */
  5701.  
  5702. #define Q6_P_vdmpybsuacc_PP_sat __builtin_HEXAGON_M5_vdmacbsu
  5703.  
  5704. /* ==========================================================================
  5705.    Assembly Syntax:       Rdd32=vdmpybsu(Rss32,Rtt32):sat
  5706.    C Intrinsic Prototype: Word64 Q6_P_vdmpybsu_PP_sat(Word64 Rss, Word64 Rtt)
  5707.    Instruction Type:      M
  5708.    Execution Slots:       SLOT23
  5709.    ========================================================================== */
  5710.  
  5711. #define Q6_P_vdmpybsu_PP_sat __builtin_HEXAGON_M5_vdmpybsu
  5712.  
  5713. /* ==========================================================================
  5714.    Assembly Syntax:       Rxx32+=vmpybsu(Rs32,Rt32)
  5715.    C Intrinsic Prototype: Word64 Q6_P_vmpybsuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  5716.    Instruction Type:      M
  5717.    Execution Slots:       SLOT23
  5718.    ========================================================================== */
  5719.  
  5720. #define Q6_P_vmpybsuacc_RR __builtin_HEXAGON_M5_vmacbsu
  5721.  
  5722. /* ==========================================================================
  5723.    Assembly Syntax:       Rxx32+=vmpybu(Rs32,Rt32)
  5724.    C Intrinsic Prototype: Word64 Q6_P_vmpybuacc_RR(Word64 Rxx, Word32 Rs, Word32 Rt)
  5725.    Instruction Type:      M
  5726.    Execution Slots:       SLOT23
  5727.    ========================================================================== */
  5728.  
  5729. #define Q6_P_vmpybuacc_RR __builtin_HEXAGON_M5_vmacbuu
  5730.  
  5731. /* ==========================================================================
  5732.    Assembly Syntax:       Rdd32=vmpybsu(Rs32,Rt32)
  5733.    C Intrinsic Prototype: Word64 Q6_P_vmpybsu_RR(Word32 Rs, Word32 Rt)
  5734.    Instruction Type:      M
  5735.    Execution Slots:       SLOT23
  5736.    ========================================================================== */
  5737.  
  5738. #define Q6_P_vmpybsu_RR __builtin_HEXAGON_M5_vmpybsu
  5739.  
  5740. /* ==========================================================================
  5741.    Assembly Syntax:       Rdd32=vmpybu(Rs32,Rt32)
  5742.    C Intrinsic Prototype: Word64 Q6_P_vmpybu_RR(Word32 Rs, Word32 Rt)
  5743.    Instruction Type:      M
  5744.    Execution Slots:       SLOT23
  5745.    ========================================================================== */
  5746.  
  5747. #define Q6_P_vmpybu_RR __builtin_HEXAGON_M5_vmpybuu
  5748.  
  5749. /* ==========================================================================
  5750.    Assembly Syntax:       Rxx32+=vrmpybsu(Rss32,Rtt32)
  5751.    C Intrinsic Prototype: Word64 Q6_P_vrmpybsuacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5752.    Instruction Type:      M
  5753.    Execution Slots:       SLOT23
  5754.    ========================================================================== */
  5755.  
  5756. #define Q6_P_vrmpybsuacc_PP __builtin_HEXAGON_M5_vrmacbsu
  5757.  
  5758. /* ==========================================================================
  5759.    Assembly Syntax:       Rxx32+=vrmpybu(Rss32,Rtt32)
  5760.    C Intrinsic Prototype: Word64 Q6_P_vrmpybuacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  5761.    Instruction Type:      M
  5762.    Execution Slots:       SLOT23
  5763.    ========================================================================== */
  5764.  
  5765. #define Q6_P_vrmpybuacc_PP __builtin_HEXAGON_M5_vrmacbuu
  5766.  
  5767. /* ==========================================================================
  5768.    Assembly Syntax:       Rdd32=vrmpybsu(Rss32,Rtt32)
  5769.    C Intrinsic Prototype: Word64 Q6_P_vrmpybsu_PP(Word64 Rss, Word64 Rtt)
  5770.    Instruction Type:      M
  5771.    Execution Slots:       SLOT23
  5772.    ========================================================================== */
  5773.  
  5774. #define Q6_P_vrmpybsu_PP __builtin_HEXAGON_M5_vrmpybsu
  5775.  
  5776. /* ==========================================================================
  5777.    Assembly Syntax:       Rdd32=vrmpybu(Rss32,Rtt32)
  5778.    C Intrinsic Prototype: Word64 Q6_P_vrmpybu_PP(Word64 Rss, Word64 Rtt)
  5779.    Instruction Type:      M
  5780.    Execution Slots:       SLOT23
  5781.    ========================================================================== */
  5782.  
  5783. #define Q6_P_vrmpybu_PP __builtin_HEXAGON_M5_vrmpybuu
  5784.  
  5785. /* ==========================================================================
  5786.    Assembly Syntax:       Rd32=addasl(Rt32,Rs32,#u3)
  5787.    C Intrinsic Prototype: Word32 Q6_R_addasl_RRI(Word32 Rt, Word32 Rs, Word32 Iu3)
  5788.    Instruction Type:      S_3op
  5789.    Execution Slots:       SLOT23
  5790.    ========================================================================== */
  5791.  
  5792. #define Q6_R_addasl_RRI __builtin_HEXAGON_S2_addasl_rrri
  5793.  
  5794. /* ==========================================================================
  5795.    Assembly Syntax:       Rdd32=asl(Rss32,#u6)
  5796.    C Intrinsic Prototype: Word64 Q6_P_asl_PI(Word64 Rss, Word32 Iu6)
  5797.    Instruction Type:      S_2op
  5798.    Execution Slots:       SLOT23
  5799.    ========================================================================== */
  5800.  
  5801. #define Q6_P_asl_PI __builtin_HEXAGON_S2_asl_i_p
  5802.  
  5803. /* ==========================================================================
  5804.    Assembly Syntax:       Rxx32+=asl(Rss32,#u6)
  5805.    C Intrinsic Prototype: Word64 Q6_P_aslacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  5806.    Instruction Type:      S_2op
  5807.    Execution Slots:       SLOT23
  5808.    ========================================================================== */
  5809.  
  5810. #define Q6_P_aslacc_PI __builtin_HEXAGON_S2_asl_i_p_acc
  5811.  
  5812. /* ==========================================================================
  5813.    Assembly Syntax:       Rxx32&=asl(Rss32,#u6)
  5814.    C Intrinsic Prototype: Word64 Q6_P_asland_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  5815.    Instruction Type:      S_2op
  5816.    Execution Slots:       SLOT23
  5817.    ========================================================================== */
  5818.  
  5819. #define Q6_P_asland_PI __builtin_HEXAGON_S2_asl_i_p_and
  5820.  
  5821. /* ==========================================================================
  5822.    Assembly Syntax:       Rxx32-=asl(Rss32,#u6)
  5823.    C Intrinsic Prototype: Word64 Q6_P_aslnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  5824.    Instruction Type:      S_2op
  5825.    Execution Slots:       SLOT23
  5826.    ========================================================================== */
  5827.  
  5828. #define Q6_P_aslnac_PI __builtin_HEXAGON_S2_asl_i_p_nac
  5829.  
  5830. /* ==========================================================================
  5831.    Assembly Syntax:       Rxx32|=asl(Rss32,#u6)
  5832.    C Intrinsic Prototype: Word64 Q6_P_aslor_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  5833.    Instruction Type:      S_2op
  5834.    Execution Slots:       SLOT23
  5835.    ========================================================================== */
  5836.  
  5837. #define Q6_P_aslor_PI __builtin_HEXAGON_S2_asl_i_p_or
  5838.  
  5839. /* ==========================================================================
  5840.    Assembly Syntax:       Rxx32^=asl(Rss32,#u6)
  5841.    C Intrinsic Prototype: Word64 Q6_P_aslxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  5842.    Instruction Type:      S_2op
  5843.    Execution Slots:       SLOT23
  5844.    ========================================================================== */
  5845.  
  5846. #define Q6_P_aslxacc_PI __builtin_HEXAGON_S2_asl_i_p_xacc
  5847.  
  5848. /* ==========================================================================
  5849.    Assembly Syntax:       Rd32=asl(Rs32,#u5)
  5850.    C Intrinsic Prototype: Word32 Q6_R_asl_RI(Word32 Rs, Word32 Iu5)
  5851.    Instruction Type:      S_2op
  5852.    Execution Slots:       SLOT23
  5853.    ========================================================================== */
  5854.  
  5855. #define Q6_R_asl_RI __builtin_HEXAGON_S2_asl_i_r
  5856.  
  5857. /* ==========================================================================
  5858.    Assembly Syntax:       Rx32+=asl(Rs32,#u5)
  5859.    C Intrinsic Prototype: Word32 Q6_R_aslacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  5860.    Instruction Type:      S_2op
  5861.    Execution Slots:       SLOT23
  5862.    ========================================================================== */
  5863.  
  5864. #define Q6_R_aslacc_RI __builtin_HEXAGON_S2_asl_i_r_acc
  5865.  
  5866. /* ==========================================================================
  5867.    Assembly Syntax:       Rx32&=asl(Rs32,#u5)
  5868.    C Intrinsic Prototype: Word32 Q6_R_asland_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  5869.    Instruction Type:      S_2op
  5870.    Execution Slots:       SLOT23
  5871.    ========================================================================== */
  5872.  
  5873. #define Q6_R_asland_RI __builtin_HEXAGON_S2_asl_i_r_and
  5874.  
  5875. /* ==========================================================================
  5876.    Assembly Syntax:       Rx32-=asl(Rs32,#u5)
  5877.    C Intrinsic Prototype: Word32 Q6_R_aslnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  5878.    Instruction Type:      S_2op
  5879.    Execution Slots:       SLOT23
  5880.    ========================================================================== */
  5881.  
  5882. #define Q6_R_aslnac_RI __builtin_HEXAGON_S2_asl_i_r_nac
  5883.  
  5884. /* ==========================================================================
  5885.    Assembly Syntax:       Rx32|=asl(Rs32,#u5)
  5886.    C Intrinsic Prototype: Word32 Q6_R_aslor_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  5887.    Instruction Type:      S_2op
  5888.    Execution Slots:       SLOT23
  5889.    ========================================================================== */
  5890.  
  5891. #define Q6_R_aslor_RI __builtin_HEXAGON_S2_asl_i_r_or
  5892.  
  5893. /* ==========================================================================
  5894.    Assembly Syntax:       Rd32=asl(Rs32,#u5):sat
  5895.    C Intrinsic Prototype: Word32 Q6_R_asl_RI_sat(Word32 Rs, Word32 Iu5)
  5896.    Instruction Type:      S_2op
  5897.    Execution Slots:       SLOT23
  5898.    ========================================================================== */
  5899.  
  5900. #define Q6_R_asl_RI_sat __builtin_HEXAGON_S2_asl_i_r_sat
  5901.  
  5902. /* ==========================================================================
  5903.    Assembly Syntax:       Rx32^=asl(Rs32,#u5)
  5904.    C Intrinsic Prototype: Word32 Q6_R_aslxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  5905.    Instruction Type:      S_2op
  5906.    Execution Slots:       SLOT23
  5907.    ========================================================================== */
  5908.  
  5909. #define Q6_R_aslxacc_RI __builtin_HEXAGON_S2_asl_i_r_xacc
  5910.  
  5911. /* ==========================================================================
  5912.    Assembly Syntax:       Rdd32=vaslh(Rss32,#u4)
  5913.    C Intrinsic Prototype: Word64 Q6_P_vaslh_PI(Word64 Rss, Word32 Iu4)
  5914.    Instruction Type:      S_2op
  5915.    Execution Slots:       SLOT23
  5916.    ========================================================================== */
  5917.  
  5918. #define Q6_P_vaslh_PI __builtin_HEXAGON_S2_asl_i_vh
  5919.  
  5920. /* ==========================================================================
  5921.    Assembly Syntax:       Rdd32=vaslw(Rss32,#u5)
  5922.    C Intrinsic Prototype: Word64 Q6_P_vaslw_PI(Word64 Rss, Word32 Iu5)
  5923.    Instruction Type:      S_2op
  5924.    Execution Slots:       SLOT23
  5925.    ========================================================================== */
  5926.  
  5927. #define Q6_P_vaslw_PI __builtin_HEXAGON_S2_asl_i_vw
  5928.  
  5929. /* ==========================================================================
  5930.    Assembly Syntax:       Rdd32=asl(Rss32,Rt32)
  5931.    C Intrinsic Prototype: Word64 Q6_P_asl_PR(Word64 Rss, Word32 Rt)
  5932.    Instruction Type:      S_3op
  5933.    Execution Slots:       SLOT23
  5934.    ========================================================================== */
  5935.  
  5936. #define Q6_P_asl_PR __builtin_HEXAGON_S2_asl_r_p
  5937.  
  5938. /* ==========================================================================
  5939.    Assembly Syntax:       Rxx32+=asl(Rss32,Rt32)
  5940.    C Intrinsic Prototype: Word64 Q6_P_aslacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  5941.    Instruction Type:      S_3op
  5942.    Execution Slots:       SLOT23
  5943.    ========================================================================== */
  5944.  
  5945. #define Q6_P_aslacc_PR __builtin_HEXAGON_S2_asl_r_p_acc
  5946.  
  5947. /* ==========================================================================
  5948.    Assembly Syntax:       Rxx32&=asl(Rss32,Rt32)
  5949.    C Intrinsic Prototype: Word64 Q6_P_asland_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  5950.    Instruction Type:      S_3op
  5951.    Execution Slots:       SLOT23
  5952.    ========================================================================== */
  5953.  
  5954. #define Q6_P_asland_PR __builtin_HEXAGON_S2_asl_r_p_and
  5955.  
  5956. /* ==========================================================================
  5957.    Assembly Syntax:       Rxx32-=asl(Rss32,Rt32)
  5958.    C Intrinsic Prototype: Word64 Q6_P_aslnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  5959.    Instruction Type:      S_3op
  5960.    Execution Slots:       SLOT23
  5961.    ========================================================================== */
  5962.  
  5963. #define Q6_P_aslnac_PR __builtin_HEXAGON_S2_asl_r_p_nac
  5964.  
  5965. /* ==========================================================================
  5966.    Assembly Syntax:       Rxx32|=asl(Rss32,Rt32)
  5967.    C Intrinsic Prototype: Word64 Q6_P_aslor_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  5968.    Instruction Type:      S_3op
  5969.    Execution Slots:       SLOT23
  5970.    ========================================================================== */
  5971.  
  5972. #define Q6_P_aslor_PR __builtin_HEXAGON_S2_asl_r_p_or
  5973.  
  5974. /* ==========================================================================
  5975.    Assembly Syntax:       Rxx32^=asl(Rss32,Rt32)
  5976.    C Intrinsic Prototype: Word64 Q6_P_aslxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  5977.    Instruction Type:      S_3op
  5978.    Execution Slots:       SLOT23
  5979.    ========================================================================== */
  5980.  
  5981. #define Q6_P_aslxacc_PR __builtin_HEXAGON_S2_asl_r_p_xor
  5982.  
  5983. /* ==========================================================================
  5984.    Assembly Syntax:       Rd32=asl(Rs32,Rt32)
  5985.    C Intrinsic Prototype: Word32 Q6_R_asl_RR(Word32 Rs, Word32 Rt)
  5986.    Instruction Type:      S_3op
  5987.    Execution Slots:       SLOT23
  5988.    ========================================================================== */
  5989.  
  5990. #define Q6_R_asl_RR __builtin_HEXAGON_S2_asl_r_r
  5991.  
  5992. /* ==========================================================================
  5993.    Assembly Syntax:       Rx32+=asl(Rs32,Rt32)
  5994.    C Intrinsic Prototype: Word32 Q6_R_aslacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  5995.    Instruction Type:      S_3op
  5996.    Execution Slots:       SLOT23
  5997.    ========================================================================== */
  5998.  
  5999. #define Q6_R_aslacc_RR __builtin_HEXAGON_S2_asl_r_r_acc
  6000.  
  6001. /* ==========================================================================
  6002.    Assembly Syntax:       Rx32&=asl(Rs32,Rt32)
  6003.    C Intrinsic Prototype: Word32 Q6_R_asland_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6004.    Instruction Type:      S_3op
  6005.    Execution Slots:       SLOT23
  6006.    ========================================================================== */
  6007.  
  6008. #define Q6_R_asland_RR __builtin_HEXAGON_S2_asl_r_r_and
  6009.  
  6010. /* ==========================================================================
  6011.    Assembly Syntax:       Rx32-=asl(Rs32,Rt32)
  6012.    C Intrinsic Prototype: Word32 Q6_R_aslnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6013.    Instruction Type:      S_3op
  6014.    Execution Slots:       SLOT23
  6015.    ========================================================================== */
  6016.  
  6017. #define Q6_R_aslnac_RR __builtin_HEXAGON_S2_asl_r_r_nac
  6018.  
  6019. /* ==========================================================================
  6020.    Assembly Syntax:       Rx32|=asl(Rs32,Rt32)
  6021.    C Intrinsic Prototype: Word32 Q6_R_aslor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6022.    Instruction Type:      S_3op
  6023.    Execution Slots:       SLOT23
  6024.    ========================================================================== */
  6025.  
  6026. #define Q6_R_aslor_RR __builtin_HEXAGON_S2_asl_r_r_or
  6027.  
  6028. /* ==========================================================================
  6029.    Assembly Syntax:       Rd32=asl(Rs32,Rt32):sat
  6030.    C Intrinsic Prototype: Word32 Q6_R_asl_RR_sat(Word32 Rs, Word32 Rt)
  6031.    Instruction Type:      S_3op
  6032.    Execution Slots:       SLOT23
  6033.    ========================================================================== */
  6034.  
  6035. #define Q6_R_asl_RR_sat __builtin_HEXAGON_S2_asl_r_r_sat
  6036.  
  6037. /* ==========================================================================
  6038.    Assembly Syntax:       Rdd32=vaslh(Rss32,Rt32)
  6039.    C Intrinsic Prototype: Word64 Q6_P_vaslh_PR(Word64 Rss, Word32 Rt)
  6040.    Instruction Type:      S_3op
  6041.    Execution Slots:       SLOT23
  6042.    ========================================================================== */
  6043.  
  6044. #define Q6_P_vaslh_PR __builtin_HEXAGON_S2_asl_r_vh
  6045.  
  6046. /* ==========================================================================
  6047.    Assembly Syntax:       Rdd32=vaslw(Rss32,Rt32)
  6048.    C Intrinsic Prototype: Word64 Q6_P_vaslw_PR(Word64 Rss, Word32 Rt)
  6049.    Instruction Type:      S_3op
  6050.    Execution Slots:       SLOT23
  6051.    ========================================================================== */
  6052.  
  6053. #define Q6_P_vaslw_PR __builtin_HEXAGON_S2_asl_r_vw
  6054.  
  6055. /* ==========================================================================
  6056.    Assembly Syntax:       Rdd32=asr(Rss32,#u6)
  6057.    C Intrinsic Prototype: Word64 Q6_P_asr_PI(Word64 Rss, Word32 Iu6)
  6058.    Instruction Type:      S_2op
  6059.    Execution Slots:       SLOT23
  6060.    ========================================================================== */
  6061.  
  6062. #define Q6_P_asr_PI __builtin_HEXAGON_S2_asr_i_p
  6063.  
  6064. /* ==========================================================================
  6065.    Assembly Syntax:       Rxx32+=asr(Rss32,#u6)
  6066.    C Intrinsic Prototype: Word64 Q6_P_asracc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6067.    Instruction Type:      S_2op
  6068.    Execution Slots:       SLOT23
  6069.    ========================================================================== */
  6070.  
  6071. #define Q6_P_asracc_PI __builtin_HEXAGON_S2_asr_i_p_acc
  6072.  
  6073. /* ==========================================================================
  6074.    Assembly Syntax:       Rxx32&=asr(Rss32,#u6)
  6075.    C Intrinsic Prototype: Word64 Q6_P_asrand_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6076.    Instruction Type:      S_2op
  6077.    Execution Slots:       SLOT23
  6078.    ========================================================================== */
  6079.  
  6080. #define Q6_P_asrand_PI __builtin_HEXAGON_S2_asr_i_p_and
  6081.  
  6082. /* ==========================================================================
  6083.    Assembly Syntax:       Rxx32-=asr(Rss32,#u6)
  6084.    C Intrinsic Prototype: Word64 Q6_P_asrnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6085.    Instruction Type:      S_2op
  6086.    Execution Slots:       SLOT23
  6087.    ========================================================================== */
  6088.  
  6089. #define Q6_P_asrnac_PI __builtin_HEXAGON_S2_asr_i_p_nac
  6090.  
  6091. /* ==========================================================================
  6092.    Assembly Syntax:       Rxx32|=asr(Rss32,#u6)
  6093.    C Intrinsic Prototype: Word64 Q6_P_asror_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6094.    Instruction Type:      S_2op
  6095.    Execution Slots:       SLOT23
  6096.    ========================================================================== */
  6097.  
  6098. #define Q6_P_asror_PI __builtin_HEXAGON_S2_asr_i_p_or
  6099.  
  6100. /* ==========================================================================
  6101.    Assembly Syntax:       Rdd32=asr(Rss32,#u6):rnd
  6102.    C Intrinsic Prototype: Word64 Q6_P_asr_PI_rnd(Word64 Rss, Word32 Iu6)
  6103.    Instruction Type:      S_2op
  6104.    Execution Slots:       SLOT23
  6105.    ========================================================================== */
  6106.  
  6107. #define Q6_P_asr_PI_rnd __builtin_HEXAGON_S2_asr_i_p_rnd
  6108.  
  6109. /* ==========================================================================
  6110.    Assembly Syntax:       Rdd32=asrrnd(Rss32,#u6)
  6111.    C Intrinsic Prototype: Word64 Q6_P_asrrnd_PI(Word64 Rss, Word32 Iu6)
  6112.    Instruction Type:      S_2op
  6113.    Execution Slots:       SLOT0123
  6114.    ========================================================================== */
  6115.  
  6116. #define Q6_P_asrrnd_PI __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax
  6117.  
  6118. /* ==========================================================================
  6119.    Assembly Syntax:       Rd32=asr(Rs32,#u5)
  6120.    C Intrinsic Prototype: Word32 Q6_R_asr_RI(Word32 Rs, Word32 Iu5)
  6121.    Instruction Type:      S_2op
  6122.    Execution Slots:       SLOT23
  6123.    ========================================================================== */
  6124.  
  6125. #define Q6_R_asr_RI __builtin_HEXAGON_S2_asr_i_r
  6126.  
  6127. /* ==========================================================================
  6128.    Assembly Syntax:       Rx32+=asr(Rs32,#u5)
  6129.    C Intrinsic Prototype: Word32 Q6_R_asracc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6130.    Instruction Type:      S_2op
  6131.    Execution Slots:       SLOT23
  6132.    ========================================================================== */
  6133.  
  6134. #define Q6_R_asracc_RI __builtin_HEXAGON_S2_asr_i_r_acc
  6135.  
  6136. /* ==========================================================================
  6137.    Assembly Syntax:       Rx32&=asr(Rs32,#u5)
  6138.    C Intrinsic Prototype: Word32 Q6_R_asrand_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6139.    Instruction Type:      S_2op
  6140.    Execution Slots:       SLOT23
  6141.    ========================================================================== */
  6142.  
  6143. #define Q6_R_asrand_RI __builtin_HEXAGON_S2_asr_i_r_and
  6144.  
  6145. /* ==========================================================================
  6146.    Assembly Syntax:       Rx32-=asr(Rs32,#u5)
  6147.    C Intrinsic Prototype: Word32 Q6_R_asrnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6148.    Instruction Type:      S_2op
  6149.    Execution Slots:       SLOT23
  6150.    ========================================================================== */
  6151.  
  6152. #define Q6_R_asrnac_RI __builtin_HEXAGON_S2_asr_i_r_nac
  6153.  
  6154. /* ==========================================================================
  6155.    Assembly Syntax:       Rx32|=asr(Rs32,#u5)
  6156.    C Intrinsic Prototype: Word32 Q6_R_asror_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6157.    Instruction Type:      S_2op
  6158.    Execution Slots:       SLOT23
  6159.    ========================================================================== */
  6160.  
  6161. #define Q6_R_asror_RI __builtin_HEXAGON_S2_asr_i_r_or
  6162.  
  6163. /* ==========================================================================
  6164.    Assembly Syntax:       Rd32=asr(Rs32,#u5):rnd
  6165.    C Intrinsic Prototype: Word32 Q6_R_asr_RI_rnd(Word32 Rs, Word32 Iu5)
  6166.    Instruction Type:      S_2op
  6167.    Execution Slots:       SLOT23
  6168.    ========================================================================== */
  6169.  
  6170. #define Q6_R_asr_RI_rnd __builtin_HEXAGON_S2_asr_i_r_rnd
  6171.  
  6172. /* ==========================================================================
  6173.    Assembly Syntax:       Rd32=asrrnd(Rs32,#u5)
  6174.    C Intrinsic Prototype: Word32 Q6_R_asrrnd_RI(Word32 Rs, Word32 Iu5)
  6175.    Instruction Type:      S_2op
  6176.    Execution Slots:       SLOT0123
  6177.    ========================================================================== */
  6178.  
  6179. #define Q6_R_asrrnd_RI __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax
  6180.  
  6181. /* ==========================================================================
  6182.    Assembly Syntax:       Rd32=vasrw(Rss32,#u5)
  6183.    C Intrinsic Prototype: Word32 Q6_R_vasrw_PI(Word64 Rss, Word32 Iu5)
  6184.    Instruction Type:      S_2op
  6185.    Execution Slots:       SLOT23
  6186.    ========================================================================== */
  6187.  
  6188. #define Q6_R_vasrw_PI __builtin_HEXAGON_S2_asr_i_svw_trun
  6189.  
  6190. /* ==========================================================================
  6191.    Assembly Syntax:       Rdd32=vasrh(Rss32,#u4)
  6192.    C Intrinsic Prototype: Word64 Q6_P_vasrh_PI(Word64 Rss, Word32 Iu4)
  6193.    Instruction Type:      S_2op
  6194.    Execution Slots:       SLOT23
  6195.    ========================================================================== */
  6196.  
  6197. #define Q6_P_vasrh_PI __builtin_HEXAGON_S2_asr_i_vh
  6198.  
  6199. /* ==========================================================================
  6200.    Assembly Syntax:       Rdd32=vasrw(Rss32,#u5)
  6201.    C Intrinsic Prototype: Word64 Q6_P_vasrw_PI(Word64 Rss, Word32 Iu5)
  6202.    Instruction Type:      S_2op
  6203.    Execution Slots:       SLOT23
  6204.    ========================================================================== */
  6205.  
  6206. #define Q6_P_vasrw_PI __builtin_HEXAGON_S2_asr_i_vw
  6207.  
  6208. /* ==========================================================================
  6209.    Assembly Syntax:       Rdd32=asr(Rss32,Rt32)
  6210.    C Intrinsic Prototype: Word64 Q6_P_asr_PR(Word64 Rss, Word32 Rt)
  6211.    Instruction Type:      S_3op
  6212.    Execution Slots:       SLOT23
  6213.    ========================================================================== */
  6214.  
  6215. #define Q6_P_asr_PR __builtin_HEXAGON_S2_asr_r_p
  6216.  
  6217. /* ==========================================================================
  6218.    Assembly Syntax:       Rxx32+=asr(Rss32,Rt32)
  6219.    C Intrinsic Prototype: Word64 Q6_P_asracc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6220.    Instruction Type:      S_3op
  6221.    Execution Slots:       SLOT23
  6222.    ========================================================================== */
  6223.  
  6224. #define Q6_P_asracc_PR __builtin_HEXAGON_S2_asr_r_p_acc
  6225.  
  6226. /* ==========================================================================
  6227.    Assembly Syntax:       Rxx32&=asr(Rss32,Rt32)
  6228.    C Intrinsic Prototype: Word64 Q6_P_asrand_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6229.    Instruction Type:      S_3op
  6230.    Execution Slots:       SLOT23
  6231.    ========================================================================== */
  6232.  
  6233. #define Q6_P_asrand_PR __builtin_HEXAGON_S2_asr_r_p_and
  6234.  
  6235. /* ==========================================================================
  6236.    Assembly Syntax:       Rxx32-=asr(Rss32,Rt32)
  6237.    C Intrinsic Prototype: Word64 Q6_P_asrnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6238.    Instruction Type:      S_3op
  6239.    Execution Slots:       SLOT23
  6240.    ========================================================================== */
  6241.  
  6242. #define Q6_P_asrnac_PR __builtin_HEXAGON_S2_asr_r_p_nac
  6243.  
  6244. /* ==========================================================================
  6245.    Assembly Syntax:       Rxx32|=asr(Rss32,Rt32)
  6246.    C Intrinsic Prototype: Word64 Q6_P_asror_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6247.    Instruction Type:      S_3op
  6248.    Execution Slots:       SLOT23
  6249.    ========================================================================== */
  6250.  
  6251. #define Q6_P_asror_PR __builtin_HEXAGON_S2_asr_r_p_or
  6252.  
  6253. /* ==========================================================================
  6254.    Assembly Syntax:       Rxx32^=asr(Rss32,Rt32)
  6255.    C Intrinsic Prototype: Word64 Q6_P_asrxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6256.    Instruction Type:      S_3op
  6257.    Execution Slots:       SLOT23
  6258.    ========================================================================== */
  6259.  
  6260. #define Q6_P_asrxacc_PR __builtin_HEXAGON_S2_asr_r_p_xor
  6261.  
  6262. /* ==========================================================================
  6263.    Assembly Syntax:       Rd32=asr(Rs32,Rt32)
  6264.    C Intrinsic Prototype: Word32 Q6_R_asr_RR(Word32 Rs, Word32 Rt)
  6265.    Instruction Type:      S_3op
  6266.    Execution Slots:       SLOT23
  6267.    ========================================================================== */
  6268.  
  6269. #define Q6_R_asr_RR __builtin_HEXAGON_S2_asr_r_r
  6270.  
  6271. /* ==========================================================================
  6272.    Assembly Syntax:       Rx32+=asr(Rs32,Rt32)
  6273.    C Intrinsic Prototype: Word32 Q6_R_asracc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6274.    Instruction Type:      S_3op
  6275.    Execution Slots:       SLOT23
  6276.    ========================================================================== */
  6277.  
  6278. #define Q6_R_asracc_RR __builtin_HEXAGON_S2_asr_r_r_acc
  6279.  
  6280. /* ==========================================================================
  6281.    Assembly Syntax:       Rx32&=asr(Rs32,Rt32)
  6282.    C Intrinsic Prototype: Word32 Q6_R_asrand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6283.    Instruction Type:      S_3op
  6284.    Execution Slots:       SLOT23
  6285.    ========================================================================== */
  6286.  
  6287. #define Q6_R_asrand_RR __builtin_HEXAGON_S2_asr_r_r_and
  6288.  
  6289. /* ==========================================================================
  6290.    Assembly Syntax:       Rx32-=asr(Rs32,Rt32)
  6291.    C Intrinsic Prototype: Word32 Q6_R_asrnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6292.    Instruction Type:      S_3op
  6293.    Execution Slots:       SLOT23
  6294.    ========================================================================== */
  6295.  
  6296. #define Q6_R_asrnac_RR __builtin_HEXAGON_S2_asr_r_r_nac
  6297.  
  6298. /* ==========================================================================
  6299.    Assembly Syntax:       Rx32|=asr(Rs32,Rt32)
  6300.    C Intrinsic Prototype: Word32 Q6_R_asror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6301.    Instruction Type:      S_3op
  6302.    Execution Slots:       SLOT23
  6303.    ========================================================================== */
  6304.  
  6305. #define Q6_R_asror_RR __builtin_HEXAGON_S2_asr_r_r_or
  6306.  
  6307. /* ==========================================================================
  6308.    Assembly Syntax:       Rd32=asr(Rs32,Rt32):sat
  6309.    C Intrinsic Prototype: Word32 Q6_R_asr_RR_sat(Word32 Rs, Word32 Rt)
  6310.    Instruction Type:      S_3op
  6311.    Execution Slots:       SLOT23
  6312.    ========================================================================== */
  6313.  
  6314. #define Q6_R_asr_RR_sat __builtin_HEXAGON_S2_asr_r_r_sat
  6315.  
  6316. /* ==========================================================================
  6317.    Assembly Syntax:       Rd32=vasrw(Rss32,Rt32)
  6318.    C Intrinsic Prototype: Word32 Q6_R_vasrw_PR(Word64 Rss, Word32 Rt)
  6319.    Instruction Type:      S_3op
  6320.    Execution Slots:       SLOT23
  6321.    ========================================================================== */
  6322.  
  6323. #define Q6_R_vasrw_PR __builtin_HEXAGON_S2_asr_r_svw_trun
  6324.  
  6325. /* ==========================================================================
  6326.    Assembly Syntax:       Rdd32=vasrh(Rss32,Rt32)
  6327.    C Intrinsic Prototype: Word64 Q6_P_vasrh_PR(Word64 Rss, Word32 Rt)
  6328.    Instruction Type:      S_3op
  6329.    Execution Slots:       SLOT23
  6330.    ========================================================================== */
  6331.  
  6332. #define Q6_P_vasrh_PR __builtin_HEXAGON_S2_asr_r_vh
  6333.  
  6334. /* ==========================================================================
  6335.    Assembly Syntax:       Rdd32=vasrw(Rss32,Rt32)
  6336.    C Intrinsic Prototype: Word64 Q6_P_vasrw_PR(Word64 Rss, Word32 Rt)
  6337.    Instruction Type:      S_3op
  6338.    Execution Slots:       SLOT23
  6339.    ========================================================================== */
  6340.  
  6341. #define Q6_P_vasrw_PR __builtin_HEXAGON_S2_asr_r_vw
  6342.  
  6343. /* ==========================================================================
  6344.    Assembly Syntax:       Rd32=brev(Rs32)
  6345.    C Intrinsic Prototype: Word32 Q6_R_brev_R(Word32 Rs)
  6346.    Instruction Type:      S_2op
  6347.    Execution Slots:       SLOT23
  6348.    ========================================================================== */
  6349.  
  6350. #define Q6_R_brev_R __builtin_HEXAGON_S2_brev
  6351.  
  6352. /* ==========================================================================
  6353.    Assembly Syntax:       Rdd32=brev(Rss32)
  6354.    C Intrinsic Prototype: Word64 Q6_P_brev_P(Word64 Rss)
  6355.    Instruction Type:      S_2op
  6356.    Execution Slots:       SLOT23
  6357.    ========================================================================== */
  6358.  
  6359. #define Q6_P_brev_P __builtin_HEXAGON_S2_brevp
  6360.  
  6361. /* ==========================================================================
  6362.    Assembly Syntax:       Rd32=cl0(Rs32)
  6363.    C Intrinsic Prototype: Word32 Q6_R_cl0_R(Word32 Rs)
  6364.    Instruction Type:      S_2op
  6365.    Execution Slots:       SLOT23
  6366.    ========================================================================== */
  6367.  
  6368. #define Q6_R_cl0_R __builtin_HEXAGON_S2_cl0
  6369.  
  6370. /* ==========================================================================
  6371.    Assembly Syntax:       Rd32=cl0(Rss32)
  6372.    C Intrinsic Prototype: Word32 Q6_R_cl0_P(Word64 Rss)
  6373.    Instruction Type:      S_2op
  6374.    Execution Slots:       SLOT23
  6375.    ========================================================================== */
  6376.  
  6377. #define Q6_R_cl0_P __builtin_HEXAGON_S2_cl0p
  6378.  
  6379. /* ==========================================================================
  6380.    Assembly Syntax:       Rd32=cl1(Rs32)
  6381.    C Intrinsic Prototype: Word32 Q6_R_cl1_R(Word32 Rs)
  6382.    Instruction Type:      S_2op
  6383.    Execution Slots:       SLOT23
  6384.    ========================================================================== */
  6385.  
  6386. #define Q6_R_cl1_R __builtin_HEXAGON_S2_cl1
  6387.  
  6388. /* ==========================================================================
  6389.    Assembly Syntax:       Rd32=cl1(Rss32)
  6390.    C Intrinsic Prototype: Word32 Q6_R_cl1_P(Word64 Rss)
  6391.    Instruction Type:      S_2op
  6392.    Execution Slots:       SLOT23
  6393.    ========================================================================== */
  6394.  
  6395. #define Q6_R_cl1_P __builtin_HEXAGON_S2_cl1p
  6396.  
  6397. /* ==========================================================================
  6398.    Assembly Syntax:       Rd32=clb(Rs32)
  6399.    C Intrinsic Prototype: Word32 Q6_R_clb_R(Word32 Rs)
  6400.    Instruction Type:      S_2op
  6401.    Execution Slots:       SLOT23
  6402.    ========================================================================== */
  6403.  
  6404. #define Q6_R_clb_R __builtin_HEXAGON_S2_clb
  6405.  
  6406. /* ==========================================================================
  6407.    Assembly Syntax:       Rd32=normamt(Rs32)
  6408.    C Intrinsic Prototype: Word32 Q6_R_normamt_R(Word32 Rs)
  6409.    Instruction Type:      S_2op
  6410.    Execution Slots:       SLOT23
  6411.    ========================================================================== */
  6412.  
  6413. #define Q6_R_normamt_R __builtin_HEXAGON_S2_clbnorm
  6414.  
  6415. /* ==========================================================================
  6416.    Assembly Syntax:       Rd32=clb(Rss32)
  6417.    C Intrinsic Prototype: Word32 Q6_R_clb_P(Word64 Rss)
  6418.    Instruction Type:      S_2op
  6419.    Execution Slots:       SLOT23
  6420.    ========================================================================== */
  6421.  
  6422. #define Q6_R_clb_P __builtin_HEXAGON_S2_clbp
  6423.  
  6424. /* ==========================================================================
  6425.    Assembly Syntax:       Rd32=clrbit(Rs32,#u5)
  6426.    C Intrinsic Prototype: Word32 Q6_R_clrbit_RI(Word32 Rs, Word32 Iu5)
  6427.    Instruction Type:      S_2op
  6428.    Execution Slots:       SLOT23
  6429.    ========================================================================== */
  6430.  
  6431. #define Q6_R_clrbit_RI __builtin_HEXAGON_S2_clrbit_i
  6432.  
  6433. /* ==========================================================================
  6434.    Assembly Syntax:       Rd32=clrbit(Rs32,Rt32)
  6435.    C Intrinsic Prototype: Word32 Q6_R_clrbit_RR(Word32 Rs, Word32 Rt)
  6436.    Instruction Type:      S_3op
  6437.    Execution Slots:       SLOT23
  6438.    ========================================================================== */
  6439.  
  6440. #define Q6_R_clrbit_RR __builtin_HEXAGON_S2_clrbit_r
  6441.  
  6442. /* ==========================================================================
  6443.    Assembly Syntax:       Rd32=ct0(Rs32)
  6444.    C Intrinsic Prototype: Word32 Q6_R_ct0_R(Word32 Rs)
  6445.    Instruction Type:      S_2op
  6446.    Execution Slots:       SLOT23
  6447.    ========================================================================== */
  6448.  
  6449. #define Q6_R_ct0_R __builtin_HEXAGON_S2_ct0
  6450.  
  6451. /* ==========================================================================
  6452.    Assembly Syntax:       Rd32=ct0(Rss32)
  6453.    C Intrinsic Prototype: Word32 Q6_R_ct0_P(Word64 Rss)
  6454.    Instruction Type:      S_2op
  6455.    Execution Slots:       SLOT23
  6456.    ========================================================================== */
  6457.  
  6458. #define Q6_R_ct0_P __builtin_HEXAGON_S2_ct0p
  6459.  
  6460. /* ==========================================================================
  6461.    Assembly Syntax:       Rd32=ct1(Rs32)
  6462.    C Intrinsic Prototype: Word32 Q6_R_ct1_R(Word32 Rs)
  6463.    Instruction Type:      S_2op
  6464.    Execution Slots:       SLOT23
  6465.    ========================================================================== */
  6466.  
  6467. #define Q6_R_ct1_R __builtin_HEXAGON_S2_ct1
  6468.  
  6469. /* ==========================================================================
  6470.    Assembly Syntax:       Rd32=ct1(Rss32)
  6471.    C Intrinsic Prototype: Word32 Q6_R_ct1_P(Word64 Rss)
  6472.    Instruction Type:      S_2op
  6473.    Execution Slots:       SLOT23
  6474.    ========================================================================== */
  6475.  
  6476. #define Q6_R_ct1_P __builtin_HEXAGON_S2_ct1p
  6477.  
  6478. /* ==========================================================================
  6479.    Assembly Syntax:       Rdd32=deinterleave(Rss32)
  6480.    C Intrinsic Prototype: Word64 Q6_P_deinterleave_P(Word64 Rss)
  6481.    Instruction Type:      S_2op
  6482.    Execution Slots:       SLOT23
  6483.    ========================================================================== */
  6484.  
  6485. #define Q6_P_deinterleave_P __builtin_HEXAGON_S2_deinterleave
  6486.  
  6487. /* ==========================================================================
  6488.    Assembly Syntax:       Rd32=extractu(Rs32,#u5,#U5)
  6489.    C Intrinsic Prototype: Word32 Q6_R_extractu_RII(Word32 Rs, Word32 Iu5, Word32 IU5)
  6490.    Instruction Type:      S_2op
  6491.    Execution Slots:       SLOT23
  6492.    ========================================================================== */
  6493.  
  6494. #define Q6_R_extractu_RII __builtin_HEXAGON_S2_extractu
  6495.  
  6496. /* ==========================================================================
  6497.    Assembly Syntax:       Rd32=extractu(Rs32,Rtt32)
  6498.    C Intrinsic Prototype: Word32 Q6_R_extractu_RP(Word32 Rs, Word64 Rtt)
  6499.    Instruction Type:      S_3op
  6500.    Execution Slots:       SLOT23
  6501.    ========================================================================== */
  6502.  
  6503. #define Q6_R_extractu_RP __builtin_HEXAGON_S2_extractu_rp
  6504.  
  6505. /* ==========================================================================
  6506.    Assembly Syntax:       Rdd32=extractu(Rss32,#u6,#U6)
  6507.    C Intrinsic Prototype: Word64 Q6_P_extractu_PII(Word64 Rss, Word32 Iu6, Word32 IU6)
  6508.    Instruction Type:      S_2op
  6509.    Execution Slots:       SLOT23
  6510.    ========================================================================== */
  6511.  
  6512. #define Q6_P_extractu_PII __builtin_HEXAGON_S2_extractup
  6513.  
  6514. /* ==========================================================================
  6515.    Assembly Syntax:       Rdd32=extractu(Rss32,Rtt32)
  6516.    C Intrinsic Prototype: Word64 Q6_P_extractu_PP(Word64 Rss, Word64 Rtt)
  6517.    Instruction Type:      S_3op
  6518.    Execution Slots:       SLOT23
  6519.    ========================================================================== */
  6520.  
  6521. #define Q6_P_extractu_PP __builtin_HEXAGON_S2_extractup_rp
  6522.  
  6523. /* ==========================================================================
  6524.    Assembly Syntax:       Rx32=insert(Rs32,#u5,#U5)
  6525.    C Intrinsic Prototype: Word32 Q6_R_insert_RII(Word32 Rx, Word32 Rs, Word32 Iu5, Word32 IU5)
  6526.    Instruction Type:      S_2op
  6527.    Execution Slots:       SLOT23
  6528.    ========================================================================== */
  6529.  
  6530. #define Q6_R_insert_RII __builtin_HEXAGON_S2_insert
  6531.  
  6532. /* ==========================================================================
  6533.    Assembly Syntax:       Rx32=insert(Rs32,Rtt32)
  6534.    C Intrinsic Prototype: Word32 Q6_R_insert_RP(Word32 Rx, Word32 Rs, Word64 Rtt)
  6535.    Instruction Type:      S_3op
  6536.    Execution Slots:       SLOT23
  6537.    ========================================================================== */
  6538.  
  6539. #define Q6_R_insert_RP __builtin_HEXAGON_S2_insert_rp
  6540.  
  6541. /* ==========================================================================
  6542.    Assembly Syntax:       Rxx32=insert(Rss32,#u6,#U6)
  6543.    C Intrinsic Prototype: Word64 Q6_P_insert_PII(Word64 Rxx, Word64 Rss, Word32 Iu6, Word32 IU6)
  6544.    Instruction Type:      S_2op
  6545.    Execution Slots:       SLOT23
  6546.    ========================================================================== */
  6547.  
  6548. #define Q6_P_insert_PII __builtin_HEXAGON_S2_insertp
  6549.  
  6550. /* ==========================================================================
  6551.    Assembly Syntax:       Rxx32=insert(Rss32,Rtt32)
  6552.    C Intrinsic Prototype: Word64 Q6_P_insert_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  6553.    Instruction Type:      S_3op
  6554.    Execution Slots:       SLOT23
  6555.    ========================================================================== */
  6556.  
  6557. #define Q6_P_insert_PP __builtin_HEXAGON_S2_insertp_rp
  6558.  
  6559. /* ==========================================================================
  6560.    Assembly Syntax:       Rdd32=interleave(Rss32)
  6561.    C Intrinsic Prototype: Word64 Q6_P_interleave_P(Word64 Rss)
  6562.    Instruction Type:      S_2op
  6563.    Execution Slots:       SLOT23
  6564.    ========================================================================== */
  6565.  
  6566. #define Q6_P_interleave_P __builtin_HEXAGON_S2_interleave
  6567.  
  6568. /* ==========================================================================
  6569.    Assembly Syntax:       Rdd32=lfs(Rss32,Rtt32)
  6570.    C Intrinsic Prototype: Word64 Q6_P_lfs_PP(Word64 Rss, Word64 Rtt)
  6571.    Instruction Type:      S_3op
  6572.    Execution Slots:       SLOT23
  6573.    ========================================================================== */
  6574.  
  6575. #define Q6_P_lfs_PP __builtin_HEXAGON_S2_lfsp
  6576.  
  6577. /* ==========================================================================
  6578.    Assembly Syntax:       Rdd32=lsl(Rss32,Rt32)
  6579.    C Intrinsic Prototype: Word64 Q6_P_lsl_PR(Word64 Rss, Word32 Rt)
  6580.    Instruction Type:      S_3op
  6581.    Execution Slots:       SLOT23
  6582.    ========================================================================== */
  6583.  
  6584. #define Q6_P_lsl_PR __builtin_HEXAGON_S2_lsl_r_p
  6585.  
  6586. /* ==========================================================================
  6587.    Assembly Syntax:       Rxx32+=lsl(Rss32,Rt32)
  6588.    C Intrinsic Prototype: Word64 Q6_P_lslacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6589.    Instruction Type:      S_3op
  6590.    Execution Slots:       SLOT23
  6591.    ========================================================================== */
  6592.  
  6593. #define Q6_P_lslacc_PR __builtin_HEXAGON_S2_lsl_r_p_acc
  6594.  
  6595. /* ==========================================================================
  6596.    Assembly Syntax:       Rxx32&=lsl(Rss32,Rt32)
  6597.    C Intrinsic Prototype: Word64 Q6_P_lsland_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6598.    Instruction Type:      S_3op
  6599.    Execution Slots:       SLOT23
  6600.    ========================================================================== */
  6601.  
  6602. #define Q6_P_lsland_PR __builtin_HEXAGON_S2_lsl_r_p_and
  6603.  
  6604. /* ==========================================================================
  6605.    Assembly Syntax:       Rxx32-=lsl(Rss32,Rt32)
  6606.    C Intrinsic Prototype: Word64 Q6_P_lslnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6607.    Instruction Type:      S_3op
  6608.    Execution Slots:       SLOT23
  6609.    ========================================================================== */
  6610.  
  6611. #define Q6_P_lslnac_PR __builtin_HEXAGON_S2_lsl_r_p_nac
  6612.  
  6613. /* ==========================================================================
  6614.    Assembly Syntax:       Rxx32|=lsl(Rss32,Rt32)
  6615.    C Intrinsic Prototype: Word64 Q6_P_lslor_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6616.    Instruction Type:      S_3op
  6617.    Execution Slots:       SLOT23
  6618.    ========================================================================== */
  6619.  
  6620. #define Q6_P_lslor_PR __builtin_HEXAGON_S2_lsl_r_p_or
  6621.  
  6622. /* ==========================================================================
  6623.    Assembly Syntax:       Rxx32^=lsl(Rss32,Rt32)
  6624.    C Intrinsic Prototype: Word64 Q6_P_lslxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6625.    Instruction Type:      S_3op
  6626.    Execution Slots:       SLOT23
  6627.    ========================================================================== */
  6628.  
  6629. #define Q6_P_lslxacc_PR __builtin_HEXAGON_S2_lsl_r_p_xor
  6630.  
  6631. /* ==========================================================================
  6632.    Assembly Syntax:       Rd32=lsl(Rs32,Rt32)
  6633.    C Intrinsic Prototype: Word32 Q6_R_lsl_RR(Word32 Rs, Word32 Rt)
  6634.    Instruction Type:      S_3op
  6635.    Execution Slots:       SLOT23
  6636.    ========================================================================== */
  6637.  
  6638. #define Q6_R_lsl_RR __builtin_HEXAGON_S2_lsl_r_r
  6639.  
  6640. /* ==========================================================================
  6641.    Assembly Syntax:       Rx32+=lsl(Rs32,Rt32)
  6642.    C Intrinsic Prototype: Word32 Q6_R_lslacc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6643.    Instruction Type:      S_3op
  6644.    Execution Slots:       SLOT23
  6645.    ========================================================================== */
  6646.  
  6647. #define Q6_R_lslacc_RR __builtin_HEXAGON_S2_lsl_r_r_acc
  6648.  
  6649. /* ==========================================================================
  6650.    Assembly Syntax:       Rx32&=lsl(Rs32,Rt32)
  6651.    C Intrinsic Prototype: Word32 Q6_R_lsland_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6652.    Instruction Type:      S_3op
  6653.    Execution Slots:       SLOT23
  6654.    ========================================================================== */
  6655.  
  6656. #define Q6_R_lsland_RR __builtin_HEXAGON_S2_lsl_r_r_and
  6657.  
  6658. /* ==========================================================================
  6659.    Assembly Syntax:       Rx32-=lsl(Rs32,Rt32)
  6660.    C Intrinsic Prototype: Word32 Q6_R_lslnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6661.    Instruction Type:      S_3op
  6662.    Execution Slots:       SLOT23
  6663.    ========================================================================== */
  6664.  
  6665. #define Q6_R_lslnac_RR __builtin_HEXAGON_S2_lsl_r_r_nac
  6666.  
  6667. /* ==========================================================================
  6668.    Assembly Syntax:       Rx32|=lsl(Rs32,Rt32)
  6669.    C Intrinsic Prototype: Word32 Q6_R_lslor_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6670.    Instruction Type:      S_3op
  6671.    Execution Slots:       SLOT23
  6672.    ========================================================================== */
  6673.  
  6674. #define Q6_R_lslor_RR __builtin_HEXAGON_S2_lsl_r_r_or
  6675.  
  6676. /* ==========================================================================
  6677.    Assembly Syntax:       Rdd32=vlslh(Rss32,Rt32)
  6678.    C Intrinsic Prototype: Word64 Q6_P_vlslh_PR(Word64 Rss, Word32 Rt)
  6679.    Instruction Type:      S_3op
  6680.    Execution Slots:       SLOT23
  6681.    ========================================================================== */
  6682.  
  6683. #define Q6_P_vlslh_PR __builtin_HEXAGON_S2_lsl_r_vh
  6684.  
  6685. /* ==========================================================================
  6686.    Assembly Syntax:       Rdd32=vlslw(Rss32,Rt32)
  6687.    C Intrinsic Prototype: Word64 Q6_P_vlslw_PR(Word64 Rss, Word32 Rt)
  6688.    Instruction Type:      S_3op
  6689.    Execution Slots:       SLOT23
  6690.    ========================================================================== */
  6691.  
  6692. #define Q6_P_vlslw_PR __builtin_HEXAGON_S2_lsl_r_vw
  6693.  
  6694. /* ==========================================================================
  6695.    Assembly Syntax:       Rdd32=lsr(Rss32,#u6)
  6696.    C Intrinsic Prototype: Word64 Q6_P_lsr_PI(Word64 Rss, Word32 Iu6)
  6697.    Instruction Type:      S_2op
  6698.    Execution Slots:       SLOT23
  6699.    ========================================================================== */
  6700.  
  6701. #define Q6_P_lsr_PI __builtin_HEXAGON_S2_lsr_i_p
  6702.  
  6703. /* ==========================================================================
  6704.    Assembly Syntax:       Rxx32+=lsr(Rss32,#u6)
  6705.    C Intrinsic Prototype: Word64 Q6_P_lsracc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6706.    Instruction Type:      S_2op
  6707.    Execution Slots:       SLOT23
  6708.    ========================================================================== */
  6709.  
  6710. #define Q6_P_lsracc_PI __builtin_HEXAGON_S2_lsr_i_p_acc
  6711.  
  6712. /* ==========================================================================
  6713.    Assembly Syntax:       Rxx32&=lsr(Rss32,#u6)
  6714.    C Intrinsic Prototype: Word64 Q6_P_lsrand_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6715.    Instruction Type:      S_2op
  6716.    Execution Slots:       SLOT23
  6717.    ========================================================================== */
  6718.  
  6719. #define Q6_P_lsrand_PI __builtin_HEXAGON_S2_lsr_i_p_and
  6720.  
  6721. /* ==========================================================================
  6722.    Assembly Syntax:       Rxx32-=lsr(Rss32,#u6)
  6723.    C Intrinsic Prototype: Word64 Q6_P_lsrnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6724.    Instruction Type:      S_2op
  6725.    Execution Slots:       SLOT23
  6726.    ========================================================================== */
  6727.  
  6728. #define Q6_P_lsrnac_PI __builtin_HEXAGON_S2_lsr_i_p_nac
  6729.  
  6730. /* ==========================================================================
  6731.    Assembly Syntax:       Rxx32|=lsr(Rss32,#u6)
  6732.    C Intrinsic Prototype: Word64 Q6_P_lsror_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6733.    Instruction Type:      S_2op
  6734.    Execution Slots:       SLOT23
  6735.    ========================================================================== */
  6736.  
  6737. #define Q6_P_lsror_PI __builtin_HEXAGON_S2_lsr_i_p_or
  6738.  
  6739. /* ==========================================================================
  6740.    Assembly Syntax:       Rxx32^=lsr(Rss32,#u6)
  6741.    C Intrinsic Prototype: Word64 Q6_P_lsrxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  6742.    Instruction Type:      S_2op
  6743.    Execution Slots:       SLOT23
  6744.    ========================================================================== */
  6745.  
  6746. #define Q6_P_lsrxacc_PI __builtin_HEXAGON_S2_lsr_i_p_xacc
  6747.  
  6748. /* ==========================================================================
  6749.    Assembly Syntax:       Rd32=lsr(Rs32,#u5)
  6750.    C Intrinsic Prototype: Word32 Q6_R_lsr_RI(Word32 Rs, Word32 Iu5)
  6751.    Instruction Type:      S_2op
  6752.    Execution Slots:       SLOT23
  6753.    ========================================================================== */
  6754.  
  6755. #define Q6_R_lsr_RI __builtin_HEXAGON_S2_lsr_i_r
  6756.  
  6757. /* ==========================================================================
  6758.    Assembly Syntax:       Rx32+=lsr(Rs32,#u5)
  6759.    C Intrinsic Prototype: Word32 Q6_R_lsracc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6760.    Instruction Type:      S_2op
  6761.    Execution Slots:       SLOT23
  6762.    ========================================================================== */
  6763.  
  6764. #define Q6_R_lsracc_RI __builtin_HEXAGON_S2_lsr_i_r_acc
  6765.  
  6766. /* ==========================================================================
  6767.    Assembly Syntax:       Rx32&=lsr(Rs32,#u5)
  6768.    C Intrinsic Prototype: Word32 Q6_R_lsrand_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6769.    Instruction Type:      S_2op
  6770.    Execution Slots:       SLOT23
  6771.    ========================================================================== */
  6772.  
  6773. #define Q6_R_lsrand_RI __builtin_HEXAGON_S2_lsr_i_r_and
  6774.  
  6775. /* ==========================================================================
  6776.    Assembly Syntax:       Rx32-=lsr(Rs32,#u5)
  6777.    C Intrinsic Prototype: Word32 Q6_R_lsrnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6778.    Instruction Type:      S_2op
  6779.    Execution Slots:       SLOT23
  6780.    ========================================================================== */
  6781.  
  6782. #define Q6_R_lsrnac_RI __builtin_HEXAGON_S2_lsr_i_r_nac
  6783.  
  6784. /* ==========================================================================
  6785.    Assembly Syntax:       Rx32|=lsr(Rs32,#u5)
  6786.    C Intrinsic Prototype: Word32 Q6_R_lsror_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6787.    Instruction Type:      S_2op
  6788.    Execution Slots:       SLOT23
  6789.    ========================================================================== */
  6790.  
  6791. #define Q6_R_lsror_RI __builtin_HEXAGON_S2_lsr_i_r_or
  6792.  
  6793. /* ==========================================================================
  6794.    Assembly Syntax:       Rx32^=lsr(Rs32,#u5)
  6795.    C Intrinsic Prototype: Word32 Q6_R_lsrxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  6796.    Instruction Type:      S_2op
  6797.    Execution Slots:       SLOT23
  6798.    ========================================================================== */
  6799.  
  6800. #define Q6_R_lsrxacc_RI __builtin_HEXAGON_S2_lsr_i_r_xacc
  6801.  
  6802. /* ==========================================================================
  6803.    Assembly Syntax:       Rdd32=vlsrh(Rss32,#u4)
  6804.    C Intrinsic Prototype: Word64 Q6_P_vlsrh_PI(Word64 Rss, Word32 Iu4)
  6805.    Instruction Type:      S_2op
  6806.    Execution Slots:       SLOT23
  6807.    ========================================================================== */
  6808.  
  6809. #define Q6_P_vlsrh_PI __builtin_HEXAGON_S2_lsr_i_vh
  6810.  
  6811. /* ==========================================================================
  6812.    Assembly Syntax:       Rdd32=vlsrw(Rss32,#u5)
  6813.    C Intrinsic Prototype: Word64 Q6_P_vlsrw_PI(Word64 Rss, Word32 Iu5)
  6814.    Instruction Type:      S_2op
  6815.    Execution Slots:       SLOT23
  6816.    ========================================================================== */
  6817.  
  6818. #define Q6_P_vlsrw_PI __builtin_HEXAGON_S2_lsr_i_vw
  6819.  
  6820. /* ==========================================================================
  6821.    Assembly Syntax:       Rdd32=lsr(Rss32,Rt32)
  6822.    C Intrinsic Prototype: Word64 Q6_P_lsr_PR(Word64 Rss, Word32 Rt)
  6823.    Instruction Type:      S_3op
  6824.    Execution Slots:       SLOT23
  6825.    ========================================================================== */
  6826.  
  6827. #define Q6_P_lsr_PR __builtin_HEXAGON_S2_lsr_r_p
  6828.  
  6829. /* ==========================================================================
  6830.    Assembly Syntax:       Rxx32+=lsr(Rss32,Rt32)
  6831.    C Intrinsic Prototype: Word64 Q6_P_lsracc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6832.    Instruction Type:      S_3op
  6833.    Execution Slots:       SLOT23
  6834.    ========================================================================== */
  6835.  
  6836. #define Q6_P_lsracc_PR __builtin_HEXAGON_S2_lsr_r_p_acc
  6837.  
  6838. /* ==========================================================================
  6839.    Assembly Syntax:       Rxx32&=lsr(Rss32,Rt32)
  6840.    C Intrinsic Prototype: Word64 Q6_P_lsrand_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6841.    Instruction Type:      S_3op
  6842.    Execution Slots:       SLOT23
  6843.    ========================================================================== */
  6844.  
  6845. #define Q6_P_lsrand_PR __builtin_HEXAGON_S2_lsr_r_p_and
  6846.  
  6847. /* ==========================================================================
  6848.    Assembly Syntax:       Rxx32-=lsr(Rss32,Rt32)
  6849.    C Intrinsic Prototype: Word64 Q6_P_lsrnac_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6850.    Instruction Type:      S_3op
  6851.    Execution Slots:       SLOT23
  6852.    ========================================================================== */
  6853.  
  6854. #define Q6_P_lsrnac_PR __builtin_HEXAGON_S2_lsr_r_p_nac
  6855.  
  6856. /* ==========================================================================
  6857.    Assembly Syntax:       Rxx32|=lsr(Rss32,Rt32)
  6858.    C Intrinsic Prototype: Word64 Q6_P_lsror_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6859.    Instruction Type:      S_3op
  6860.    Execution Slots:       SLOT23
  6861.    ========================================================================== */
  6862.  
  6863. #define Q6_P_lsror_PR __builtin_HEXAGON_S2_lsr_r_p_or
  6864.  
  6865. /* ==========================================================================
  6866.    Assembly Syntax:       Rxx32^=lsr(Rss32,Rt32)
  6867.    C Intrinsic Prototype: Word64 Q6_P_lsrxacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  6868.    Instruction Type:      S_3op
  6869.    Execution Slots:       SLOT23
  6870.    ========================================================================== */
  6871.  
  6872. #define Q6_P_lsrxacc_PR __builtin_HEXAGON_S2_lsr_r_p_xor
  6873.  
  6874. /* ==========================================================================
  6875.    Assembly Syntax:       Rd32=lsr(Rs32,Rt32)
  6876.    C Intrinsic Prototype: Word32 Q6_R_lsr_RR(Word32 Rs, Word32 Rt)
  6877.    Instruction Type:      S_3op
  6878.    Execution Slots:       SLOT23
  6879.    ========================================================================== */
  6880.  
  6881. #define Q6_R_lsr_RR __builtin_HEXAGON_S2_lsr_r_r
  6882.  
  6883. /* ==========================================================================
  6884.    Assembly Syntax:       Rx32+=lsr(Rs32,Rt32)
  6885.    C Intrinsic Prototype: Word32 Q6_R_lsracc_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6886.    Instruction Type:      S_3op
  6887.    Execution Slots:       SLOT23
  6888.    ========================================================================== */
  6889.  
  6890. #define Q6_R_lsracc_RR __builtin_HEXAGON_S2_lsr_r_r_acc
  6891.  
  6892. /* ==========================================================================
  6893.    Assembly Syntax:       Rx32&=lsr(Rs32,Rt32)
  6894.    C Intrinsic Prototype: Word32 Q6_R_lsrand_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6895.    Instruction Type:      S_3op
  6896.    Execution Slots:       SLOT23
  6897.    ========================================================================== */
  6898.  
  6899. #define Q6_R_lsrand_RR __builtin_HEXAGON_S2_lsr_r_r_and
  6900.  
  6901. /* ==========================================================================
  6902.    Assembly Syntax:       Rx32-=lsr(Rs32,Rt32)
  6903.    C Intrinsic Prototype: Word32 Q6_R_lsrnac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6904.    Instruction Type:      S_3op
  6905.    Execution Slots:       SLOT23
  6906.    ========================================================================== */
  6907.  
  6908. #define Q6_R_lsrnac_RR __builtin_HEXAGON_S2_lsr_r_r_nac
  6909.  
  6910. /* ==========================================================================
  6911.    Assembly Syntax:       Rx32|=lsr(Rs32,Rt32)
  6912.    C Intrinsic Prototype: Word32 Q6_R_lsror_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  6913.    Instruction Type:      S_3op
  6914.    Execution Slots:       SLOT23
  6915.    ========================================================================== */
  6916.  
  6917. #define Q6_R_lsror_RR __builtin_HEXAGON_S2_lsr_r_r_or
  6918.  
  6919. /* ==========================================================================
  6920.    Assembly Syntax:       Rdd32=vlsrh(Rss32,Rt32)
  6921.    C Intrinsic Prototype: Word64 Q6_P_vlsrh_PR(Word64 Rss, Word32 Rt)
  6922.    Instruction Type:      S_3op
  6923.    Execution Slots:       SLOT23
  6924.    ========================================================================== */
  6925.  
  6926. #define Q6_P_vlsrh_PR __builtin_HEXAGON_S2_lsr_r_vh
  6927.  
  6928. /* ==========================================================================
  6929.    Assembly Syntax:       Rdd32=vlsrw(Rss32,Rt32)
  6930.    C Intrinsic Prototype: Word64 Q6_P_vlsrw_PR(Word64 Rss, Word32 Rt)
  6931.    Instruction Type:      S_3op
  6932.    Execution Slots:       SLOT23
  6933.    ========================================================================== */
  6934.  
  6935. #define Q6_P_vlsrw_PR __builtin_HEXAGON_S2_lsr_r_vw
  6936.  
  6937. /* ==========================================================================
  6938.    Assembly Syntax:       Rdd32=packhl(Rs32,Rt32)
  6939.    C Intrinsic Prototype: Word64 Q6_P_packhl_RR(Word32 Rs, Word32 Rt)
  6940.    Instruction Type:      ALU32_3op
  6941.    Execution Slots:       SLOT0123
  6942.    ========================================================================== */
  6943.  
  6944. #define Q6_P_packhl_RR __builtin_HEXAGON_S2_packhl
  6945.  
  6946. /* ==========================================================================
  6947.    Assembly Syntax:       Rd32=parity(Rss32,Rtt32)
  6948.    C Intrinsic Prototype: Word32 Q6_R_parity_PP(Word64 Rss, Word64 Rtt)
  6949.    Instruction Type:      ALU64
  6950.    Execution Slots:       SLOT23
  6951.    ========================================================================== */
  6952.  
  6953. #define Q6_R_parity_PP __builtin_HEXAGON_S2_parityp
  6954.  
  6955. /* ==========================================================================
  6956.    Assembly Syntax:       Rd32=setbit(Rs32,#u5)
  6957.    C Intrinsic Prototype: Word32 Q6_R_setbit_RI(Word32 Rs, Word32 Iu5)
  6958.    Instruction Type:      S_2op
  6959.    Execution Slots:       SLOT23
  6960.    ========================================================================== */
  6961.  
  6962. #define Q6_R_setbit_RI __builtin_HEXAGON_S2_setbit_i
  6963.  
  6964. /* ==========================================================================
  6965.    Assembly Syntax:       Rd32=setbit(Rs32,Rt32)
  6966.    C Intrinsic Prototype: Word32 Q6_R_setbit_RR(Word32 Rs, Word32 Rt)
  6967.    Instruction Type:      S_3op
  6968.    Execution Slots:       SLOT23
  6969.    ========================================================================== */
  6970.  
  6971. #define Q6_R_setbit_RR __builtin_HEXAGON_S2_setbit_r
  6972.  
  6973. /* ==========================================================================
  6974.    Assembly Syntax:       Rdd32=shuffeb(Rss32,Rtt32)
  6975.    C Intrinsic Prototype: Word64 Q6_P_shuffeb_PP(Word64 Rss, Word64 Rtt)
  6976.    Instruction Type:      S_3op
  6977.    Execution Slots:       SLOT23
  6978.    ========================================================================== */
  6979.  
  6980. #define Q6_P_shuffeb_PP __builtin_HEXAGON_S2_shuffeb
  6981.  
  6982. /* ==========================================================================
  6983.    Assembly Syntax:       Rdd32=shuffeh(Rss32,Rtt32)
  6984.    C Intrinsic Prototype: Word64 Q6_P_shuffeh_PP(Word64 Rss, Word64 Rtt)
  6985.    Instruction Type:      S_3op
  6986.    Execution Slots:       SLOT23
  6987.    ========================================================================== */
  6988.  
  6989. #define Q6_P_shuffeh_PP __builtin_HEXAGON_S2_shuffeh
  6990.  
  6991. /* ==========================================================================
  6992.    Assembly Syntax:       Rdd32=shuffob(Rtt32,Rss32)
  6993.    C Intrinsic Prototype: Word64 Q6_P_shuffob_PP(Word64 Rtt, Word64 Rss)
  6994.    Instruction Type:      S_3op
  6995.    Execution Slots:       SLOT23
  6996.    ========================================================================== */
  6997.  
  6998. #define Q6_P_shuffob_PP __builtin_HEXAGON_S2_shuffob
  6999.  
  7000. /* ==========================================================================
  7001.    Assembly Syntax:       Rdd32=shuffoh(Rtt32,Rss32)
  7002.    C Intrinsic Prototype: Word64 Q6_P_shuffoh_PP(Word64 Rtt, Word64 Rss)
  7003.    Instruction Type:      S_3op
  7004.    Execution Slots:       SLOT23
  7005.    ========================================================================== */
  7006.  
  7007. #define Q6_P_shuffoh_PP __builtin_HEXAGON_S2_shuffoh
  7008.  
  7009. /* ==========================================================================
  7010.    Assembly Syntax:       memb(Rx32++#s4:0:circ(Mu2))=Rt32
  7011.    C Intrinsic Prototype: void Q6_memb_IMR_circ(void** Rx, Word32 Is4_0, Word32 Mu, Word32 Rt, void* BaseAddress)
  7012.    Instruction Type:      ST
  7013.    Execution Slots:       SLOT01
  7014.    ========================================================================== */
  7015.  
  7016. #define Q6_memb_IMR_circ __builtin_HEXAGON_S2_storerb_pci
  7017.  
  7018. /* ==========================================================================
  7019.    Assembly Syntax:       memb(Rx32++I:circ(Mu2))=Rt32
  7020.    C Intrinsic Prototype: void Q6_memb_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
  7021.    Instruction Type:      ST
  7022.    Execution Slots:       SLOT01
  7023.    ========================================================================== */
  7024.  
  7025. #define Q6_memb_MR_circ __builtin_HEXAGON_S2_storerb_pcr
  7026.  
  7027. /* ==========================================================================
  7028.    Assembly Syntax:       memd(Rx32++#s4:3:circ(Mu2))=Rtt32
  7029.    C Intrinsic Prototype: void Q6_memd_IMP_circ(void** Rx, Word32 Is4_3, Word32 Mu, Word64 Rtt, void* BaseAddress)
  7030.    Instruction Type:      ST
  7031.    Execution Slots:       SLOT01
  7032.    ========================================================================== */
  7033.  
  7034. #define Q6_memd_IMP_circ __builtin_HEXAGON_S2_storerd_pci
  7035.  
  7036. /* ==========================================================================
  7037.    Assembly Syntax:       memd(Rx32++I:circ(Mu2))=Rtt32
  7038.    C Intrinsic Prototype: void Q6_memd_MP_circ(void** Rx, Word32 Mu, Word64 Rtt, void* BaseAddress)
  7039.    Instruction Type:      ST
  7040.    Execution Slots:       SLOT01
  7041.    ========================================================================== */
  7042.  
  7043. #define Q6_memd_MP_circ __builtin_HEXAGON_S2_storerd_pcr
  7044.  
  7045. /* ==========================================================================
  7046.    Assembly Syntax:       memh(Rx32++#s4:1:circ(Mu2))=Rt32.h
  7047.    C Intrinsic Prototype: void Q6_memh_IMRh_circ(void** Rx, Word32 Is4_1, Word32 Mu, Word32 Rt, void* BaseAddress)
  7048.    Instruction Type:      ST
  7049.    Execution Slots:       SLOT01
  7050.    ========================================================================== */
  7051.  
  7052. #define Q6_memh_IMRh_circ __builtin_HEXAGON_S2_storerf_pci
  7053.  
  7054. /* ==========================================================================
  7055.    Assembly Syntax:       memh(Rx32++I:circ(Mu2))=Rt32.h
  7056.    C Intrinsic Prototype: void Q6_memh_MRh_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
  7057.    Instruction Type:      ST
  7058.    Execution Slots:       SLOT01
  7059.    ========================================================================== */
  7060.  
  7061. #define Q6_memh_MRh_circ __builtin_HEXAGON_S2_storerf_pcr
  7062.  
  7063. /* ==========================================================================
  7064.    Assembly Syntax:       memh(Rx32++#s4:1:circ(Mu2))=Rt32
  7065.    C Intrinsic Prototype: void Q6_memh_IMR_circ(void** Rx, Word32 Is4_1, Word32 Mu, Word32 Rt, void* BaseAddress)
  7066.    Instruction Type:      ST
  7067.    Execution Slots:       SLOT01
  7068.    ========================================================================== */
  7069.  
  7070. #define Q6_memh_IMR_circ __builtin_HEXAGON_S2_storerh_pci
  7071.  
  7072. /* ==========================================================================
  7073.    Assembly Syntax:       memh(Rx32++I:circ(Mu2))=Rt32
  7074.    C Intrinsic Prototype: void Q6_memh_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
  7075.    Instruction Type:      ST
  7076.    Execution Slots:       SLOT01
  7077.    ========================================================================== */
  7078.  
  7079. #define Q6_memh_MR_circ __builtin_HEXAGON_S2_storerh_pcr
  7080.  
  7081. /* ==========================================================================
  7082.    Assembly Syntax:       memw(Rx32++#s4:2:circ(Mu2))=Rt32
  7083.    C Intrinsic Prototype: void Q6_memw_IMR_circ(void** Rx, Word32 Is4_2, Word32 Mu, Word32 Rt, void* BaseAddress)
  7084.    Instruction Type:      ST
  7085.    Execution Slots:       SLOT01
  7086.    ========================================================================== */
  7087.  
  7088. #define Q6_memw_IMR_circ __builtin_HEXAGON_S2_storeri_pci
  7089.  
  7090. /* ==========================================================================
  7091.    Assembly Syntax:       memw(Rx32++I:circ(Mu2))=Rt32
  7092.    C Intrinsic Prototype: void Q6_memw_MR_circ(void** Rx, Word32 Mu, Word32 Rt, void* BaseAddress)
  7093.    Instruction Type:      ST
  7094.    Execution Slots:       SLOT01
  7095.    ========================================================================== */
  7096.  
  7097. #define Q6_memw_MR_circ __builtin_HEXAGON_S2_storeri_pcr
  7098.  
  7099. /* ==========================================================================
  7100.    Assembly Syntax:       Rd32=vsathb(Rs32)
  7101.    C Intrinsic Prototype: Word32 Q6_R_vsathb_R(Word32 Rs)
  7102.    Instruction Type:      S_2op
  7103.    Execution Slots:       SLOT23
  7104.    ========================================================================== */
  7105.  
  7106. #define Q6_R_vsathb_R __builtin_HEXAGON_S2_svsathb
  7107.  
  7108. /* ==========================================================================
  7109.    Assembly Syntax:       Rd32=vsathub(Rs32)
  7110.    C Intrinsic Prototype: Word32 Q6_R_vsathub_R(Word32 Rs)
  7111.    Instruction Type:      S_2op
  7112.    Execution Slots:       SLOT23
  7113.    ========================================================================== */
  7114.  
  7115. #define Q6_R_vsathub_R __builtin_HEXAGON_S2_svsathub
  7116.  
  7117. /* ==========================================================================
  7118.    Assembly Syntax:       Rx32=tableidxb(Rs32,#u4,#U5)
  7119.    C Intrinsic Prototype: Word32 Q6_R_tableidxb_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
  7120.    Instruction Type:      S_2op
  7121.    Execution Slots:       SLOT0123
  7122.    ========================================================================== */
  7123.  
  7124. #define Q6_R_tableidxb_RII __builtin_HEXAGON_S2_tableidxb_goodsyntax
  7125.  
  7126. /* ==========================================================================
  7127.    Assembly Syntax:       Rx32=tableidxd(Rs32,#u4,#U5)
  7128.    C Intrinsic Prototype: Word32 Q6_R_tableidxd_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
  7129.    Instruction Type:      S_2op
  7130.    Execution Slots:       SLOT0123
  7131.    ========================================================================== */
  7132.  
  7133. #define Q6_R_tableidxd_RII __builtin_HEXAGON_S2_tableidxd_goodsyntax
  7134.  
  7135. /* ==========================================================================
  7136.    Assembly Syntax:       Rx32=tableidxh(Rs32,#u4,#U5)
  7137.    C Intrinsic Prototype: Word32 Q6_R_tableidxh_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
  7138.    Instruction Type:      S_2op
  7139.    Execution Slots:       SLOT0123
  7140.    ========================================================================== */
  7141.  
  7142. #define Q6_R_tableidxh_RII __builtin_HEXAGON_S2_tableidxh_goodsyntax
  7143.  
  7144. /* ==========================================================================
  7145.    Assembly Syntax:       Rx32=tableidxw(Rs32,#u4,#U5)
  7146.    C Intrinsic Prototype: Word32 Q6_R_tableidxw_RII(Word32 Rx, Word32 Rs, Word32 Iu4, Word32 IU5)
  7147.    Instruction Type:      S_2op
  7148.    Execution Slots:       SLOT0123
  7149.    ========================================================================== */
  7150.  
  7151. #define Q6_R_tableidxw_RII __builtin_HEXAGON_S2_tableidxw_goodsyntax
  7152.  
  7153. /* ==========================================================================
  7154.    Assembly Syntax:       Rd32=togglebit(Rs32,#u5)
  7155.    C Intrinsic Prototype: Word32 Q6_R_togglebit_RI(Word32 Rs, Word32 Iu5)
  7156.    Instruction Type:      S_2op
  7157.    Execution Slots:       SLOT23
  7158.    ========================================================================== */
  7159.  
  7160. #define Q6_R_togglebit_RI __builtin_HEXAGON_S2_togglebit_i
  7161.  
  7162. /* ==========================================================================
  7163.    Assembly Syntax:       Rd32=togglebit(Rs32,Rt32)
  7164.    C Intrinsic Prototype: Word32 Q6_R_togglebit_RR(Word32 Rs, Word32 Rt)
  7165.    Instruction Type:      S_3op
  7166.    Execution Slots:       SLOT23
  7167.    ========================================================================== */
  7168.  
  7169. #define Q6_R_togglebit_RR __builtin_HEXAGON_S2_togglebit_r
  7170.  
  7171. /* ==========================================================================
  7172.    Assembly Syntax:       Pd4=tstbit(Rs32,#u5)
  7173.    C Intrinsic Prototype: Byte Q6_p_tstbit_RI(Word32 Rs, Word32 Iu5)
  7174.    Instruction Type:      S_2op
  7175.    Execution Slots:       SLOT23
  7176.    ========================================================================== */
  7177.  
  7178. #define Q6_p_tstbit_RI __builtin_HEXAGON_S2_tstbit_i
  7179.  
  7180. /* ==========================================================================
  7181.    Assembly Syntax:       Pd4=tstbit(Rs32,Rt32)
  7182.    C Intrinsic Prototype: Byte Q6_p_tstbit_RR(Word32 Rs, Word32 Rt)
  7183.    Instruction Type:      S_3op
  7184.    Execution Slots:       SLOT23
  7185.    ========================================================================== */
  7186.  
  7187. #define Q6_p_tstbit_RR __builtin_HEXAGON_S2_tstbit_r
  7188.  
  7189. /* ==========================================================================
  7190.    Assembly Syntax:       Rdd32=valignb(Rtt32,Rss32,#u3)
  7191.    C Intrinsic Prototype: Word64 Q6_P_valignb_PPI(Word64 Rtt, Word64 Rss, Word32 Iu3)
  7192.    Instruction Type:      S_3op
  7193.    Execution Slots:       SLOT23
  7194.    ========================================================================== */
  7195.  
  7196. #define Q6_P_valignb_PPI __builtin_HEXAGON_S2_valignib
  7197.  
  7198. /* ==========================================================================
  7199.    Assembly Syntax:       Rdd32=valignb(Rtt32,Rss32,Pu4)
  7200.    C Intrinsic Prototype: Word64 Q6_P_valignb_PPp(Word64 Rtt, Word64 Rss, Byte Pu)
  7201.    Instruction Type:      S_3op
  7202.    Execution Slots:       SLOT23
  7203.    ========================================================================== */
  7204.  
  7205. #define Q6_P_valignb_PPp __builtin_HEXAGON_S2_valignrb
  7206.  
  7207. /* ==========================================================================
  7208.    Assembly Syntax:       Rdd32=vcnegh(Rss32,Rt32)
  7209.    C Intrinsic Prototype: Word64 Q6_P_vcnegh_PR(Word64 Rss, Word32 Rt)
  7210.    Instruction Type:      S_3op
  7211.    Execution Slots:       SLOT23
  7212.    ========================================================================== */
  7213.  
  7214. #define Q6_P_vcnegh_PR __builtin_HEXAGON_S2_vcnegh
  7215.  
  7216. /* ==========================================================================
  7217.    Assembly Syntax:       Rdd32=vcrotate(Rss32,Rt32)
  7218.    C Intrinsic Prototype: Word64 Q6_P_vcrotate_PR(Word64 Rss, Word32 Rt)
  7219.    Instruction Type:      S_3op
  7220.    Execution Slots:       SLOT23
  7221.    ========================================================================== */
  7222.  
  7223. #define Q6_P_vcrotate_PR __builtin_HEXAGON_S2_vcrotate
  7224.  
  7225. /* ==========================================================================
  7226.    Assembly Syntax:       Rxx32+=vrcnegh(Rss32,Rt32)
  7227.    C Intrinsic Prototype: Word64 Q6_P_vrcneghacc_PR(Word64 Rxx, Word64 Rss, Word32 Rt)
  7228.    Instruction Type:      S_3op
  7229.    Execution Slots:       SLOT23
  7230.    ========================================================================== */
  7231.  
  7232. #define Q6_P_vrcneghacc_PR __builtin_HEXAGON_S2_vrcnegh
  7233.  
  7234. /* ==========================================================================
  7235.    Assembly Syntax:       Rd32=vrndwh(Rss32)
  7236.    C Intrinsic Prototype: Word32 Q6_R_vrndwh_P(Word64 Rss)
  7237.    Instruction Type:      S_2op
  7238.    Execution Slots:       SLOT23
  7239.    ========================================================================== */
  7240.  
  7241. #define Q6_R_vrndwh_P __builtin_HEXAGON_S2_vrndpackwh
  7242.  
  7243. /* ==========================================================================
  7244.    Assembly Syntax:       Rd32=vrndwh(Rss32):sat
  7245.    C Intrinsic Prototype: Word32 Q6_R_vrndwh_P_sat(Word64 Rss)
  7246.    Instruction Type:      S_2op
  7247.    Execution Slots:       SLOT23
  7248.    ========================================================================== */
  7249.  
  7250. #define Q6_R_vrndwh_P_sat __builtin_HEXAGON_S2_vrndpackwhs
  7251.  
  7252. /* ==========================================================================
  7253.    Assembly Syntax:       Rd32=vsathb(Rss32)
  7254.    C Intrinsic Prototype: Word32 Q6_R_vsathb_P(Word64 Rss)
  7255.    Instruction Type:      S_2op
  7256.    Execution Slots:       SLOT23
  7257.    ========================================================================== */
  7258.  
  7259. #define Q6_R_vsathb_P __builtin_HEXAGON_S2_vsathb
  7260.  
  7261. /* ==========================================================================
  7262.    Assembly Syntax:       Rdd32=vsathb(Rss32)
  7263.    C Intrinsic Prototype: Word64 Q6_P_vsathb_P(Word64 Rss)
  7264.    Instruction Type:      S_2op
  7265.    Execution Slots:       SLOT23
  7266.    ========================================================================== */
  7267.  
  7268. #define Q6_P_vsathb_P __builtin_HEXAGON_S2_vsathb_nopack
  7269.  
  7270. /* ==========================================================================
  7271.    Assembly Syntax:       Rd32=vsathub(Rss32)
  7272.    C Intrinsic Prototype: Word32 Q6_R_vsathub_P(Word64 Rss)
  7273.    Instruction Type:      S_2op
  7274.    Execution Slots:       SLOT23
  7275.    ========================================================================== */
  7276.  
  7277. #define Q6_R_vsathub_P __builtin_HEXAGON_S2_vsathub
  7278.  
  7279. /* ==========================================================================
  7280.    Assembly Syntax:       Rdd32=vsathub(Rss32)
  7281.    C Intrinsic Prototype: Word64 Q6_P_vsathub_P(Word64 Rss)
  7282.    Instruction Type:      S_2op
  7283.    Execution Slots:       SLOT23
  7284.    ========================================================================== */
  7285.  
  7286. #define Q6_P_vsathub_P __builtin_HEXAGON_S2_vsathub_nopack
  7287.  
  7288. /* ==========================================================================
  7289.    Assembly Syntax:       Rd32=vsatwh(Rss32)
  7290.    C Intrinsic Prototype: Word32 Q6_R_vsatwh_P(Word64 Rss)
  7291.    Instruction Type:      S_2op
  7292.    Execution Slots:       SLOT23
  7293.    ========================================================================== */
  7294.  
  7295. #define Q6_R_vsatwh_P __builtin_HEXAGON_S2_vsatwh
  7296.  
  7297. /* ==========================================================================
  7298.    Assembly Syntax:       Rdd32=vsatwh(Rss32)
  7299.    C Intrinsic Prototype: Word64 Q6_P_vsatwh_P(Word64 Rss)
  7300.    Instruction Type:      S_2op
  7301.    Execution Slots:       SLOT23
  7302.    ========================================================================== */
  7303.  
  7304. #define Q6_P_vsatwh_P __builtin_HEXAGON_S2_vsatwh_nopack
  7305.  
  7306. /* ==========================================================================
  7307.    Assembly Syntax:       Rd32=vsatwuh(Rss32)
  7308.    C Intrinsic Prototype: Word32 Q6_R_vsatwuh_P(Word64 Rss)
  7309.    Instruction Type:      S_2op
  7310.    Execution Slots:       SLOT23
  7311.    ========================================================================== */
  7312.  
  7313. #define Q6_R_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh
  7314.  
  7315. /* ==========================================================================
  7316.    Assembly Syntax:       Rdd32=vsatwuh(Rss32)
  7317.    C Intrinsic Prototype: Word64 Q6_P_vsatwuh_P(Word64 Rss)
  7318.    Instruction Type:      S_2op
  7319.    Execution Slots:       SLOT23
  7320.    ========================================================================== */
  7321.  
  7322. #define Q6_P_vsatwuh_P __builtin_HEXAGON_S2_vsatwuh_nopack
  7323.  
  7324. /* ==========================================================================
  7325.    Assembly Syntax:       Rd32=vsplatb(Rs32)
  7326.    C Intrinsic Prototype: Word32 Q6_R_vsplatb_R(Word32 Rs)
  7327.    Instruction Type:      S_2op
  7328.    Execution Slots:       SLOT23
  7329.    ========================================================================== */
  7330.  
  7331. #define Q6_R_vsplatb_R __builtin_HEXAGON_S2_vsplatrb
  7332.  
  7333. /* ==========================================================================
  7334.    Assembly Syntax:       Rdd32=vsplath(Rs32)
  7335.    C Intrinsic Prototype: Word64 Q6_P_vsplath_R(Word32 Rs)
  7336.    Instruction Type:      S_2op
  7337.    Execution Slots:       SLOT23
  7338.    ========================================================================== */
  7339.  
  7340. #define Q6_P_vsplath_R __builtin_HEXAGON_S2_vsplatrh
  7341.  
  7342. /* ==========================================================================
  7343.    Assembly Syntax:       Rdd32=vspliceb(Rss32,Rtt32,#u3)
  7344.    C Intrinsic Prototype: Word64 Q6_P_vspliceb_PPI(Word64 Rss, Word64 Rtt, Word32 Iu3)
  7345.    Instruction Type:      S_3op
  7346.    Execution Slots:       SLOT23
  7347.    ========================================================================== */
  7348.  
  7349. #define Q6_P_vspliceb_PPI __builtin_HEXAGON_S2_vspliceib
  7350.  
  7351. /* ==========================================================================
  7352.    Assembly Syntax:       Rdd32=vspliceb(Rss32,Rtt32,Pu4)
  7353.    C Intrinsic Prototype: Word64 Q6_P_vspliceb_PPp(Word64 Rss, Word64 Rtt, Byte Pu)
  7354.    Instruction Type:      S_3op
  7355.    Execution Slots:       SLOT23
  7356.    ========================================================================== */
  7357.  
  7358. #define Q6_P_vspliceb_PPp __builtin_HEXAGON_S2_vsplicerb
  7359.  
  7360. /* ==========================================================================
  7361.    Assembly Syntax:       Rdd32=vsxtbh(Rs32)
  7362.    C Intrinsic Prototype: Word64 Q6_P_vsxtbh_R(Word32 Rs)
  7363.    Instruction Type:      S_2op
  7364.    Execution Slots:       SLOT23
  7365.    ========================================================================== */
  7366.  
  7367. #define Q6_P_vsxtbh_R __builtin_HEXAGON_S2_vsxtbh
  7368.  
  7369. /* ==========================================================================
  7370.    Assembly Syntax:       Rdd32=vsxthw(Rs32)
  7371.    C Intrinsic Prototype: Word64 Q6_P_vsxthw_R(Word32 Rs)
  7372.    Instruction Type:      S_2op
  7373.    Execution Slots:       SLOT23
  7374.    ========================================================================== */
  7375.  
  7376. #define Q6_P_vsxthw_R __builtin_HEXAGON_S2_vsxthw
  7377.  
  7378. /* ==========================================================================
  7379.    Assembly Syntax:       Rd32=vtrunehb(Rss32)
  7380.    C Intrinsic Prototype: Word32 Q6_R_vtrunehb_P(Word64 Rss)
  7381.    Instruction Type:      S_2op
  7382.    Execution Slots:       SLOT23
  7383.    ========================================================================== */
  7384.  
  7385. #define Q6_R_vtrunehb_P __builtin_HEXAGON_S2_vtrunehb
  7386.  
  7387. /* ==========================================================================
  7388.    Assembly Syntax:       Rdd32=vtrunewh(Rss32,Rtt32)
  7389.    C Intrinsic Prototype: Word64 Q6_P_vtrunewh_PP(Word64 Rss, Word64 Rtt)
  7390.    Instruction Type:      S_3op
  7391.    Execution Slots:       SLOT23
  7392.    ========================================================================== */
  7393.  
  7394. #define Q6_P_vtrunewh_PP __builtin_HEXAGON_S2_vtrunewh
  7395.  
  7396. /* ==========================================================================
  7397.    Assembly Syntax:       Rd32=vtrunohb(Rss32)
  7398.    C Intrinsic Prototype: Word32 Q6_R_vtrunohb_P(Word64 Rss)
  7399.    Instruction Type:      S_2op
  7400.    Execution Slots:       SLOT23
  7401.    ========================================================================== */
  7402.  
  7403. #define Q6_R_vtrunohb_P __builtin_HEXAGON_S2_vtrunohb
  7404.  
  7405. /* ==========================================================================
  7406.    Assembly Syntax:       Rdd32=vtrunowh(Rss32,Rtt32)
  7407.    C Intrinsic Prototype: Word64 Q6_P_vtrunowh_PP(Word64 Rss, Word64 Rtt)
  7408.    Instruction Type:      S_3op
  7409.    Execution Slots:       SLOT23
  7410.    ========================================================================== */
  7411.  
  7412. #define Q6_P_vtrunowh_PP __builtin_HEXAGON_S2_vtrunowh
  7413.  
  7414. /* ==========================================================================
  7415.    Assembly Syntax:       Rdd32=vzxtbh(Rs32)
  7416.    C Intrinsic Prototype: Word64 Q6_P_vzxtbh_R(Word32 Rs)
  7417.    Instruction Type:      S_2op
  7418.    Execution Slots:       SLOT23
  7419.    ========================================================================== */
  7420.  
  7421. #define Q6_P_vzxtbh_R __builtin_HEXAGON_S2_vzxtbh
  7422.  
  7423. /* ==========================================================================
  7424.    Assembly Syntax:       Rdd32=vzxthw(Rs32)
  7425.    C Intrinsic Prototype: Word64 Q6_P_vzxthw_R(Word32 Rs)
  7426.    Instruction Type:      S_2op
  7427.    Execution Slots:       SLOT23
  7428.    ========================================================================== */
  7429.  
  7430. #define Q6_P_vzxthw_R __builtin_HEXAGON_S2_vzxthw
  7431.  
  7432. /* ==========================================================================
  7433.    Assembly Syntax:       Rd32=add(Rs32,add(Ru32,#s6))
  7434.    C Intrinsic Prototype: Word32 Q6_R_add_add_RRI(Word32 Rs, Word32 Ru, Word32 Is6)
  7435.    Instruction Type:      ALU64
  7436.    Execution Slots:       SLOT23
  7437.    ========================================================================== */
  7438.  
  7439. #define Q6_R_add_add_RRI __builtin_HEXAGON_S4_addaddi
  7440.  
  7441. /* ==========================================================================
  7442.    Assembly Syntax:       Rx32=add(#u8,asl(Rx32,#U5))
  7443.    C Intrinsic Prototype: Word32 Q6_R_add_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7444.    Instruction Type:      ALU64
  7445.    Execution Slots:       SLOT23
  7446.    ========================================================================== */
  7447.  
  7448. #define Q6_R_add_asl_IRI __builtin_HEXAGON_S4_addi_asl_ri
  7449.  
  7450. /* ==========================================================================
  7451.    Assembly Syntax:       Rx32=add(#u8,lsr(Rx32,#U5))
  7452.    C Intrinsic Prototype: Word32 Q6_R_add_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7453.    Instruction Type:      ALU64
  7454.    Execution Slots:       SLOT23
  7455.    ========================================================================== */
  7456.  
  7457. #define Q6_R_add_lsr_IRI __builtin_HEXAGON_S4_addi_lsr_ri
  7458.  
  7459. /* ==========================================================================
  7460.    Assembly Syntax:       Rx32=and(#u8,asl(Rx32,#U5))
  7461.    C Intrinsic Prototype: Word32 Q6_R_and_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7462.    Instruction Type:      ALU64
  7463.    Execution Slots:       SLOT23
  7464.    ========================================================================== */
  7465.  
  7466. #define Q6_R_and_asl_IRI __builtin_HEXAGON_S4_andi_asl_ri
  7467.  
  7468. /* ==========================================================================
  7469.    Assembly Syntax:       Rx32=and(#u8,lsr(Rx32,#U5))
  7470.    C Intrinsic Prototype: Word32 Q6_R_and_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7471.    Instruction Type:      ALU64
  7472.    Execution Slots:       SLOT23
  7473.    ========================================================================== */
  7474.  
  7475. #define Q6_R_and_lsr_IRI __builtin_HEXAGON_S4_andi_lsr_ri
  7476.  
  7477. /* ==========================================================================
  7478.    Assembly Syntax:       Rd32=add(clb(Rs32),#s6)
  7479.    C Intrinsic Prototype: Word32 Q6_R_add_clb_RI(Word32 Rs, Word32 Is6)
  7480.    Instruction Type:      S_2op
  7481.    Execution Slots:       SLOT23
  7482.    ========================================================================== */
  7483.  
  7484. #define Q6_R_add_clb_RI __builtin_HEXAGON_S4_clbaddi
  7485.  
  7486. /* ==========================================================================
  7487.    Assembly Syntax:       Rd32=add(clb(Rss32),#s6)
  7488.    C Intrinsic Prototype: Word32 Q6_R_add_clb_PI(Word64 Rss, Word32 Is6)
  7489.    Instruction Type:      S_2op
  7490.    Execution Slots:       SLOT23
  7491.    ========================================================================== */
  7492.  
  7493. #define Q6_R_add_clb_PI __builtin_HEXAGON_S4_clbpaddi
  7494.  
  7495. /* ==========================================================================
  7496.    Assembly Syntax:       Rd32=normamt(Rss32)
  7497.    C Intrinsic Prototype: Word32 Q6_R_normamt_P(Word64 Rss)
  7498.    Instruction Type:      S_2op
  7499.    Execution Slots:       SLOT23
  7500.    ========================================================================== */
  7501.  
  7502. #define Q6_R_normamt_P __builtin_HEXAGON_S4_clbpnorm
  7503.  
  7504. /* ==========================================================================
  7505.    Assembly Syntax:       Rd32=extract(Rs32,#u5,#U5)
  7506.    C Intrinsic Prototype: Word32 Q6_R_extract_RII(Word32 Rs, Word32 Iu5, Word32 IU5)
  7507.    Instruction Type:      S_2op
  7508.    Execution Slots:       SLOT23
  7509.    ========================================================================== */
  7510.  
  7511. #define Q6_R_extract_RII __builtin_HEXAGON_S4_extract
  7512.  
  7513. /* ==========================================================================
  7514.    Assembly Syntax:       Rd32=extract(Rs32,Rtt32)
  7515.    C Intrinsic Prototype: Word32 Q6_R_extract_RP(Word32 Rs, Word64 Rtt)
  7516.    Instruction Type:      S_3op
  7517.    Execution Slots:       SLOT23
  7518.    ========================================================================== */
  7519.  
  7520. #define Q6_R_extract_RP __builtin_HEXAGON_S4_extract_rp
  7521.  
  7522. /* ==========================================================================
  7523.    Assembly Syntax:       Rdd32=extract(Rss32,#u6,#U6)
  7524.    C Intrinsic Prototype: Word64 Q6_P_extract_PII(Word64 Rss, Word32 Iu6, Word32 IU6)
  7525.    Instruction Type:      S_2op
  7526.    Execution Slots:       SLOT23
  7527.    ========================================================================== */
  7528.  
  7529. #define Q6_P_extract_PII __builtin_HEXAGON_S4_extractp
  7530.  
  7531. /* ==========================================================================
  7532.    Assembly Syntax:       Rdd32=extract(Rss32,Rtt32)
  7533.    C Intrinsic Prototype: Word64 Q6_P_extract_PP(Word64 Rss, Word64 Rtt)
  7534.    Instruction Type:      S_3op
  7535.    Execution Slots:       SLOT23
  7536.    ========================================================================== */
  7537.  
  7538. #define Q6_P_extract_PP __builtin_HEXAGON_S4_extractp_rp
  7539.  
  7540. /* ==========================================================================
  7541.    Assembly Syntax:       Rd32=lsl(#s6,Rt32)
  7542.    C Intrinsic Prototype: Word32 Q6_R_lsl_IR(Word32 Is6, Word32 Rt)
  7543.    Instruction Type:      S_3op
  7544.    Execution Slots:       SLOT23
  7545.    ========================================================================== */
  7546.  
  7547. #define Q6_R_lsl_IR __builtin_HEXAGON_S4_lsli
  7548.  
  7549. /* ==========================================================================
  7550.    Assembly Syntax:       Pd4=!tstbit(Rs32,#u5)
  7551.    C Intrinsic Prototype: Byte Q6_p_not_tstbit_RI(Word32 Rs, Word32 Iu5)
  7552.    Instruction Type:      S_2op
  7553.    Execution Slots:       SLOT23
  7554.    ========================================================================== */
  7555.  
  7556. #define Q6_p_not_tstbit_RI __builtin_HEXAGON_S4_ntstbit_i
  7557.  
  7558. /* ==========================================================================
  7559.    Assembly Syntax:       Pd4=!tstbit(Rs32,Rt32)
  7560.    C Intrinsic Prototype: Byte Q6_p_not_tstbit_RR(Word32 Rs, Word32 Rt)
  7561.    Instruction Type:      S_3op
  7562.    Execution Slots:       SLOT23
  7563.    ========================================================================== */
  7564.  
  7565. #define Q6_p_not_tstbit_RR __builtin_HEXAGON_S4_ntstbit_r
  7566.  
  7567. /* ==========================================================================
  7568.    Assembly Syntax:       Rx32|=and(Rs32,#s10)
  7569.    C Intrinsic Prototype: Word32 Q6_R_andor_RI(Word32 Rx, Word32 Rs, Word32 Is10)
  7570.    Instruction Type:      ALU64
  7571.    Execution Slots:       SLOT23
  7572.    ========================================================================== */
  7573.  
  7574. #define Q6_R_andor_RI __builtin_HEXAGON_S4_or_andi
  7575.  
  7576. /* ==========================================================================
  7577.    Assembly Syntax:       Rx32=or(Ru32,and(Rx32,#s10))
  7578.    C Intrinsic Prototype: Word32 Q6_R_or_and_RRI(Word32 Ru, Word32 Rx, Word32 Is10)
  7579.    Instruction Type:      ALU64
  7580.    Execution Slots:       SLOT23
  7581.    ========================================================================== */
  7582.  
  7583. #define Q6_R_or_and_RRI __builtin_HEXAGON_S4_or_andix
  7584.  
  7585. /* ==========================================================================
  7586.    Assembly Syntax:       Rx32|=or(Rs32,#s10)
  7587.    C Intrinsic Prototype: Word32 Q6_R_oror_RI(Word32 Rx, Word32 Rs, Word32 Is10)
  7588.    Instruction Type:      ALU64
  7589.    Execution Slots:       SLOT23
  7590.    ========================================================================== */
  7591.  
  7592. #define Q6_R_oror_RI __builtin_HEXAGON_S4_or_ori
  7593.  
  7594. /* ==========================================================================
  7595.    Assembly Syntax:       Rx32=or(#u8,asl(Rx32,#U5))
  7596.    C Intrinsic Prototype: Word32 Q6_R_or_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7597.    Instruction Type:      ALU64
  7598.    Execution Slots:       SLOT23
  7599.    ========================================================================== */
  7600.  
  7601. #define Q6_R_or_asl_IRI __builtin_HEXAGON_S4_ori_asl_ri
  7602.  
  7603. /* ==========================================================================
  7604.    Assembly Syntax:       Rx32=or(#u8,lsr(Rx32,#U5))
  7605.    C Intrinsic Prototype: Word32 Q6_R_or_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7606.    Instruction Type:      ALU64
  7607.    Execution Slots:       SLOT23
  7608.    ========================================================================== */
  7609.  
  7610. #define Q6_R_or_lsr_IRI __builtin_HEXAGON_S4_ori_lsr_ri
  7611.  
  7612. /* ==========================================================================
  7613.    Assembly Syntax:       Rd32=parity(Rs32,Rt32)
  7614.    C Intrinsic Prototype: Word32 Q6_R_parity_RR(Word32 Rs, Word32 Rt)
  7615.    Instruction Type:      ALU64
  7616.    Execution Slots:       SLOT23
  7617.    ========================================================================== */
  7618.  
  7619. #define Q6_R_parity_RR __builtin_HEXAGON_S4_parity
  7620.  
  7621. /* ==========================================================================
  7622.    Assembly Syntax:       Rd32=add(Rs32,sub(#s6,Ru32))
  7623.    C Intrinsic Prototype: Word32 Q6_R_add_sub_RIR(Word32 Rs, Word32 Is6, Word32 Ru)
  7624.    Instruction Type:      ALU64
  7625.    Execution Slots:       SLOT23
  7626.    ========================================================================== */
  7627.  
  7628. #define Q6_R_add_sub_RIR __builtin_HEXAGON_S4_subaddi
  7629.  
  7630. /* ==========================================================================
  7631.    Assembly Syntax:       Rx32=sub(#u8,asl(Rx32,#U5))
  7632.    C Intrinsic Prototype: Word32 Q6_R_sub_asl_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7633.    Instruction Type:      ALU64
  7634.    Execution Slots:       SLOT23
  7635.    ========================================================================== */
  7636.  
  7637. #define Q6_R_sub_asl_IRI __builtin_HEXAGON_S4_subi_asl_ri
  7638.  
  7639. /* ==========================================================================
  7640.    Assembly Syntax:       Rx32=sub(#u8,lsr(Rx32,#U5))
  7641.    C Intrinsic Prototype: Word32 Q6_R_sub_lsr_IRI(Word32 Iu8, Word32 Rx, Word32 IU5)
  7642.    Instruction Type:      ALU64
  7643.    Execution Slots:       SLOT23
  7644.    ========================================================================== */
  7645.  
  7646. #define Q6_R_sub_lsr_IRI __builtin_HEXAGON_S4_subi_lsr_ri
  7647.  
  7648. /* ==========================================================================
  7649.    Assembly Syntax:       Rdd32=vrcrotate(Rss32,Rt32,#u2)
  7650.    C Intrinsic Prototype: Word64 Q6_P_vrcrotate_PRI(Word64 Rss, Word32 Rt, Word32 Iu2)
  7651.    Instruction Type:      S_3op
  7652.    Execution Slots:       SLOT23
  7653.    ========================================================================== */
  7654.  
  7655. #define Q6_P_vrcrotate_PRI __builtin_HEXAGON_S4_vrcrotate
  7656.  
  7657. /* ==========================================================================
  7658.    Assembly Syntax:       Rxx32+=vrcrotate(Rss32,Rt32,#u2)
  7659.    C Intrinsic Prototype: Word64 Q6_P_vrcrotateacc_PRI(Word64 Rxx, Word64 Rss, Word32 Rt, Word32 Iu2)
  7660.    Instruction Type:      S_3op
  7661.    Execution Slots:       SLOT23
  7662.    ========================================================================== */
  7663.  
  7664. #define Q6_P_vrcrotateacc_PRI __builtin_HEXAGON_S4_vrcrotate_acc
  7665.  
  7666. /* ==========================================================================
  7667.    Assembly Syntax:       Rdd32=vxaddsubh(Rss32,Rtt32):sat
  7668.    C Intrinsic Prototype: Word64 Q6_P_vxaddsubh_PP_sat(Word64 Rss, Word64 Rtt)
  7669.    Instruction Type:      S_3op
  7670.    Execution Slots:       SLOT23
  7671.    ========================================================================== */
  7672.  
  7673. #define Q6_P_vxaddsubh_PP_sat __builtin_HEXAGON_S4_vxaddsubh
  7674.  
  7675. /* ==========================================================================
  7676.    Assembly Syntax:       Rdd32=vxaddsubh(Rss32,Rtt32):rnd:>>1:sat
  7677.    C Intrinsic Prototype: Word64 Q6_P_vxaddsubh_PP_rnd_rs1_sat(Word64 Rss, Word64 Rtt)
  7678.    Instruction Type:      S_3op
  7679.    Execution Slots:       SLOT23
  7680.    ========================================================================== */
  7681.  
  7682. #define Q6_P_vxaddsubh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxaddsubhr
  7683.  
  7684. /* ==========================================================================
  7685.    Assembly Syntax:       Rdd32=vxaddsubw(Rss32,Rtt32):sat
  7686.    C Intrinsic Prototype: Word64 Q6_P_vxaddsubw_PP_sat(Word64 Rss, Word64 Rtt)
  7687.    Instruction Type:      S_3op
  7688.    Execution Slots:       SLOT23
  7689.    ========================================================================== */
  7690.  
  7691. #define Q6_P_vxaddsubw_PP_sat __builtin_HEXAGON_S4_vxaddsubw
  7692.  
  7693. /* ==========================================================================
  7694.    Assembly Syntax:       Rdd32=vxsubaddh(Rss32,Rtt32):sat
  7695.    C Intrinsic Prototype: Word64 Q6_P_vxsubaddh_PP_sat(Word64 Rss, Word64 Rtt)
  7696.    Instruction Type:      S_3op
  7697.    Execution Slots:       SLOT23
  7698.    ========================================================================== */
  7699.  
  7700. #define Q6_P_vxsubaddh_PP_sat __builtin_HEXAGON_S4_vxsubaddh
  7701.  
  7702. /* ==========================================================================
  7703.    Assembly Syntax:       Rdd32=vxsubaddh(Rss32,Rtt32):rnd:>>1:sat
  7704.    C Intrinsic Prototype: Word64 Q6_P_vxsubaddh_PP_rnd_rs1_sat(Word64 Rss, Word64 Rtt)
  7705.    Instruction Type:      S_3op
  7706.    Execution Slots:       SLOT23
  7707.    ========================================================================== */
  7708.  
  7709. #define Q6_P_vxsubaddh_PP_rnd_rs1_sat __builtin_HEXAGON_S4_vxsubaddhr
  7710.  
  7711. /* ==========================================================================
  7712.    Assembly Syntax:       Rdd32=vxsubaddw(Rss32,Rtt32):sat
  7713.    C Intrinsic Prototype: Word64 Q6_P_vxsubaddw_PP_sat(Word64 Rss, Word64 Rtt)
  7714.    Instruction Type:      S_3op
  7715.    Execution Slots:       SLOT23
  7716.    ========================================================================== */
  7717.  
  7718. #define Q6_P_vxsubaddw_PP_sat __builtin_HEXAGON_S4_vxsubaddw
  7719.  
  7720. /* ==========================================================================
  7721.    Assembly Syntax:       Rd32=vasrhub(Rss32,#u4):rnd:sat
  7722.    C Intrinsic Prototype: Word32 Q6_R_vasrhub_PI_rnd_sat(Word64 Rss, Word32 Iu4)
  7723.    Instruction Type:      S_2op
  7724.    Execution Slots:       SLOT0123
  7725.    ========================================================================== */
  7726.  
  7727. #define Q6_R_vasrhub_PI_rnd_sat __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax
  7728.  
  7729. /* ==========================================================================
  7730.    Assembly Syntax:       Rd32=vasrhub(Rss32,#u4):sat
  7731.    C Intrinsic Prototype: Word32 Q6_R_vasrhub_PI_sat(Word64 Rss, Word32 Iu4)
  7732.    Instruction Type:      S_2op
  7733.    Execution Slots:       SLOT23
  7734.    ========================================================================== */
  7735.  
  7736. #define Q6_R_vasrhub_PI_sat __builtin_HEXAGON_S5_asrhub_sat
  7737.  
  7738. /* ==========================================================================
  7739.    Assembly Syntax:       Rd32=popcount(Rss32)
  7740.    C Intrinsic Prototype: Word32 Q6_R_popcount_P(Word64 Rss)
  7741.    Instruction Type:      S_2op
  7742.    Execution Slots:       SLOT23
  7743.    ========================================================================== */
  7744.  
  7745. #define Q6_R_popcount_P __builtin_HEXAGON_S5_popcountp
  7746.  
  7747. /* ==========================================================================
  7748.    Assembly Syntax:       Rdd32=vasrh(Rss32,#u4):rnd
  7749.    C Intrinsic Prototype: Word64 Q6_P_vasrh_PI_rnd(Word64 Rss, Word32 Iu4)
  7750.    Instruction Type:      S_2op
  7751.    Execution Slots:       SLOT0123
  7752.    ========================================================================== */
  7753.  
  7754. #define Q6_P_vasrh_PI_rnd __builtin_HEXAGON_S5_vasrhrnd_goodsyntax
  7755.  
  7756. /* ==========================================================================
  7757.    Assembly Syntax:       dccleana(Rs32)
  7758.    C Intrinsic Prototype: void Q6_dccleana_A(Address Rs)
  7759.    Instruction Type:      ST
  7760.    Execution Slots:       SLOT0
  7761.    ========================================================================== */
  7762.  
  7763. #define Q6_dccleana_A __builtin_HEXAGON_Y2_dccleana
  7764.  
  7765. /* ==========================================================================
  7766.    Assembly Syntax:       dccleaninva(Rs32)
  7767.    C Intrinsic Prototype: void Q6_dccleaninva_A(Address Rs)
  7768.    Instruction Type:      ST
  7769.    Execution Slots:       SLOT0
  7770.    ========================================================================== */
  7771.  
  7772. #define Q6_dccleaninva_A __builtin_HEXAGON_Y2_dccleaninva
  7773.  
  7774. /* ==========================================================================
  7775.    Assembly Syntax:       dcfetch(Rs32)
  7776.    C Intrinsic Prototype: void Q6_dcfetch_A(Address Rs)
  7777.    Instruction Type:      MAPPING
  7778.    Execution Slots:       SLOT0123
  7779.    ========================================================================== */
  7780.  
  7781. #define Q6_dcfetch_A __builtin_HEXAGON_Y2_dcfetch
  7782.  
  7783. /* ==========================================================================
  7784.    Assembly Syntax:       dcinva(Rs32)
  7785.    C Intrinsic Prototype: void Q6_dcinva_A(Address Rs)
  7786.    Instruction Type:      ST
  7787.    Execution Slots:       SLOT0
  7788.    ========================================================================== */
  7789.  
  7790. #define Q6_dcinva_A __builtin_HEXAGON_Y2_dcinva
  7791.  
  7792. /* ==========================================================================
  7793.    Assembly Syntax:       dczeroa(Rs32)
  7794.    C Intrinsic Prototype: void Q6_dczeroa_A(Address Rs)
  7795.    Instruction Type:      ST
  7796.    Execution Slots:       SLOT0
  7797.    ========================================================================== */
  7798.  
  7799. #define Q6_dczeroa_A __builtin_HEXAGON_Y2_dczeroa
  7800.  
  7801. /* ==========================================================================
  7802.    Assembly Syntax:       l2fetch(Rs32,Rt32)
  7803.    C Intrinsic Prototype: void Q6_l2fetch_AR(Address Rs, Word32 Rt)
  7804.    Instruction Type:      ST
  7805.    Execution Slots:       SLOT0
  7806.    ========================================================================== */
  7807.  
  7808. #define Q6_l2fetch_AR __builtin_HEXAGON_Y4_l2fetch
  7809.  
  7810. /* ==========================================================================
  7811.    Assembly Syntax:       l2fetch(Rs32,Rtt32)
  7812.    C Intrinsic Prototype: void Q6_l2fetch_AP(Address Rs, Word64 Rtt)
  7813.    Instruction Type:      ST
  7814.    Execution Slots:       SLOT0
  7815.    ========================================================================== */
  7816.  
  7817. #define Q6_l2fetch_AP __builtin_HEXAGON_Y5_l2fetch
  7818.  
  7819. #if __HEXAGON_ARCH__ >= 60
  7820. /* ==========================================================================
  7821.    Assembly Syntax:       Rdd32=rol(Rss32,#u6)
  7822.    C Intrinsic Prototype: Word64 Q6_P_rol_PI(Word64 Rss, Word32 Iu6)
  7823.    Instruction Type:      S_2op
  7824.    Execution Slots:       SLOT23
  7825.    ========================================================================== */
  7826.  
  7827. #define Q6_P_rol_PI __builtin_HEXAGON_S6_rol_i_p
  7828. #endif /* __HEXAGON_ARCH___ >= 60 */
  7829.  
  7830. #if __HEXAGON_ARCH__ >= 60
  7831. /* ==========================================================================
  7832.    Assembly Syntax:       Rxx32+=rol(Rss32,#u6)
  7833.    C Intrinsic Prototype: Word64 Q6_P_rolacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  7834.    Instruction Type:      S_2op
  7835.    Execution Slots:       SLOT23
  7836.    ========================================================================== */
  7837.  
  7838. #define Q6_P_rolacc_PI __builtin_HEXAGON_S6_rol_i_p_acc
  7839. #endif /* __HEXAGON_ARCH___ >= 60 */
  7840.  
  7841. #if __HEXAGON_ARCH__ >= 60
  7842. /* ==========================================================================
  7843.    Assembly Syntax:       Rxx32&=rol(Rss32,#u6)
  7844.    C Intrinsic Prototype: Word64 Q6_P_roland_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  7845.    Instruction Type:      S_2op
  7846.    Execution Slots:       SLOT23
  7847.    ========================================================================== */
  7848.  
  7849. #define Q6_P_roland_PI __builtin_HEXAGON_S6_rol_i_p_and
  7850. #endif /* __HEXAGON_ARCH___ >= 60 */
  7851.  
  7852. #if __HEXAGON_ARCH__ >= 60
  7853. /* ==========================================================================
  7854.    Assembly Syntax:       Rxx32-=rol(Rss32,#u6)
  7855.    C Intrinsic Prototype: Word64 Q6_P_rolnac_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  7856.    Instruction Type:      S_2op
  7857.    Execution Slots:       SLOT23
  7858.    ========================================================================== */
  7859.  
  7860. #define Q6_P_rolnac_PI __builtin_HEXAGON_S6_rol_i_p_nac
  7861. #endif /* __HEXAGON_ARCH___ >= 60 */
  7862.  
  7863. #if __HEXAGON_ARCH__ >= 60
  7864. /* ==========================================================================
  7865.    Assembly Syntax:       Rxx32|=rol(Rss32,#u6)
  7866.    C Intrinsic Prototype: Word64 Q6_P_rolor_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  7867.    Instruction Type:      S_2op
  7868.    Execution Slots:       SLOT23
  7869.    ========================================================================== */
  7870.  
  7871. #define Q6_P_rolor_PI __builtin_HEXAGON_S6_rol_i_p_or
  7872. #endif /* __HEXAGON_ARCH___ >= 60 */
  7873.  
  7874. #if __HEXAGON_ARCH__ >= 60
  7875. /* ==========================================================================
  7876.    Assembly Syntax:       Rxx32^=rol(Rss32,#u6)
  7877.    C Intrinsic Prototype: Word64 Q6_P_rolxacc_PI(Word64 Rxx, Word64 Rss, Word32 Iu6)
  7878.    Instruction Type:      S_2op
  7879.    Execution Slots:       SLOT23
  7880.    ========================================================================== */
  7881.  
  7882. #define Q6_P_rolxacc_PI __builtin_HEXAGON_S6_rol_i_p_xacc
  7883. #endif /* __HEXAGON_ARCH___ >= 60 */
  7884.  
  7885. #if __HEXAGON_ARCH__ >= 60
  7886. /* ==========================================================================
  7887.    Assembly Syntax:       Rd32=rol(Rs32,#u5)
  7888.    C Intrinsic Prototype: Word32 Q6_R_rol_RI(Word32 Rs, Word32 Iu5)
  7889.    Instruction Type:      S_2op
  7890.    Execution Slots:       SLOT23
  7891.    ========================================================================== */
  7892.  
  7893. #define Q6_R_rol_RI __builtin_HEXAGON_S6_rol_i_r
  7894. #endif /* __HEXAGON_ARCH___ >= 60 */
  7895.  
  7896. #if __HEXAGON_ARCH__ >= 60
  7897. /* ==========================================================================
  7898.    Assembly Syntax:       Rx32+=rol(Rs32,#u5)
  7899.    C Intrinsic Prototype: Word32 Q6_R_rolacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  7900.    Instruction Type:      S_2op
  7901.    Execution Slots:       SLOT23
  7902.    ========================================================================== */
  7903.  
  7904. #define Q6_R_rolacc_RI __builtin_HEXAGON_S6_rol_i_r_acc
  7905. #endif /* __HEXAGON_ARCH___ >= 60 */
  7906.  
  7907. #if __HEXAGON_ARCH__ >= 60
  7908. /* ==========================================================================
  7909.    Assembly Syntax:       Rx32&=rol(Rs32,#u5)
  7910.    C Intrinsic Prototype: Word32 Q6_R_roland_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  7911.    Instruction Type:      S_2op
  7912.    Execution Slots:       SLOT23
  7913.    ========================================================================== */
  7914.  
  7915. #define Q6_R_roland_RI __builtin_HEXAGON_S6_rol_i_r_and
  7916. #endif /* __HEXAGON_ARCH___ >= 60 */
  7917.  
  7918. #if __HEXAGON_ARCH__ >= 60
  7919. /* ==========================================================================
  7920.    Assembly Syntax:       Rx32-=rol(Rs32,#u5)
  7921.    C Intrinsic Prototype: Word32 Q6_R_rolnac_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  7922.    Instruction Type:      S_2op
  7923.    Execution Slots:       SLOT23
  7924.    ========================================================================== */
  7925.  
  7926. #define Q6_R_rolnac_RI __builtin_HEXAGON_S6_rol_i_r_nac
  7927. #endif /* __HEXAGON_ARCH___ >= 60 */
  7928.  
  7929. #if __HEXAGON_ARCH__ >= 60
  7930. /* ==========================================================================
  7931.    Assembly Syntax:       Rx32|=rol(Rs32,#u5)
  7932.    C Intrinsic Prototype: Word32 Q6_R_rolor_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  7933.    Instruction Type:      S_2op
  7934.    Execution Slots:       SLOT23
  7935.    ========================================================================== */
  7936.  
  7937. #define Q6_R_rolor_RI __builtin_HEXAGON_S6_rol_i_r_or
  7938. #endif /* __HEXAGON_ARCH___ >= 60 */
  7939.  
  7940. #if __HEXAGON_ARCH__ >= 60
  7941. /* ==========================================================================
  7942.    Assembly Syntax:       Rx32^=rol(Rs32,#u5)
  7943.    C Intrinsic Prototype: Word32 Q6_R_rolxacc_RI(Word32 Rx, Word32 Rs, Word32 Iu5)
  7944.    Instruction Type:      S_2op
  7945.    Execution Slots:       SLOT23
  7946.    ========================================================================== */
  7947.  
  7948. #define Q6_R_rolxacc_RI __builtin_HEXAGON_S6_rol_i_r_xacc
  7949. #endif /* __HEXAGON_ARCH___ >= 60 */
  7950.  
  7951. #if __HEXAGON_ARCH__ >= 62
  7952. /* ==========================================================================
  7953.    Assembly Syntax:       Rdd32=vabsdiffb(Rtt32,Rss32)
  7954.    C Intrinsic Prototype: Word64 Q6_P_vabsdiffb_PP(Word64 Rtt, Word64 Rss)
  7955.    Instruction Type:      M
  7956.    Execution Slots:       SLOT23
  7957.    ========================================================================== */
  7958.  
  7959. #define Q6_P_vabsdiffb_PP __builtin_HEXAGON_M6_vabsdiffb
  7960. #endif /* __HEXAGON_ARCH___ >= 62 */
  7961.  
  7962. #if __HEXAGON_ARCH__ >= 62
  7963. /* ==========================================================================
  7964.    Assembly Syntax:       Rdd32=vabsdiffub(Rtt32,Rss32)
  7965.    C Intrinsic Prototype: Word64 Q6_P_vabsdiffub_PP(Word64 Rtt, Word64 Rss)
  7966.    Instruction Type:      M
  7967.    Execution Slots:       SLOT23
  7968.    ========================================================================== */
  7969.  
  7970. #define Q6_P_vabsdiffub_PP __builtin_HEXAGON_M6_vabsdiffub
  7971. #endif /* __HEXAGON_ARCH___ >= 62 */
  7972.  
  7973. #if __HEXAGON_ARCH__ >= 62
  7974. /* ==========================================================================
  7975.    Assembly Syntax:       Rdd32=vsplatb(Rs32)
  7976.    C Intrinsic Prototype: Word64 Q6_P_vsplatb_R(Word32 Rs)
  7977.    Instruction Type:      S_2op
  7978.    Execution Slots:       SLOT23
  7979.    ========================================================================== */
  7980.  
  7981. #define Q6_P_vsplatb_R __builtin_HEXAGON_S6_vsplatrbp
  7982. #endif /* __HEXAGON_ARCH___ >= 62 */
  7983.  
  7984. #if __HEXAGON_ARCH__ >= 62
  7985. /* ==========================================================================
  7986.    Assembly Syntax:       Rdd32=vtrunehb(Rss32,Rtt32)
  7987.    C Intrinsic Prototype: Word64 Q6_P_vtrunehb_PP(Word64 Rss, Word64 Rtt)
  7988.    Instruction Type:      S_3op
  7989.    Execution Slots:       SLOT23
  7990.    ========================================================================== */
  7991.  
  7992. #define Q6_P_vtrunehb_PP __builtin_HEXAGON_S6_vtrunehb_ppp
  7993. #endif /* __HEXAGON_ARCH___ >= 62 */
  7994.  
  7995. #if __HEXAGON_ARCH__ >= 62
  7996. /* ==========================================================================
  7997.    Assembly Syntax:       Rdd32=vtrunohb(Rss32,Rtt32)
  7998.    C Intrinsic Prototype: Word64 Q6_P_vtrunohb_PP(Word64 Rss, Word64 Rtt)
  7999.    Instruction Type:      S_3op
  8000.    Execution Slots:       SLOT23
  8001.    ========================================================================== */
  8002.  
  8003. #define Q6_P_vtrunohb_PP __builtin_HEXAGON_S6_vtrunohb_ppp
  8004. #endif /* __HEXAGON_ARCH___ >= 62 */
  8005.  
  8006. #if __HEXAGON_ARCH__ >= 65
  8007. /* ==========================================================================
  8008.    Assembly Syntax:       Pd4=!any8(vcmpb.eq(Rss32,Rtt32))
  8009.    C Intrinsic Prototype: Byte Q6_p_not_any8_vcmpb_eq_PP(Word64 Rss, Word64 Rtt)
  8010.    Instruction Type:      ALU64
  8011.    Execution Slots:       SLOT23
  8012.    ========================================================================== */
  8013.  
  8014. #define Q6_p_not_any8_vcmpb_eq_PP __builtin_HEXAGON_A6_vcmpbeq_notany
  8015. #endif /* __HEXAGON_ARCH___ >= 65 */
  8016.  
  8017. #if __HEXAGON_ARCH__ >= 66
  8018. /* ==========================================================================
  8019.    Assembly Syntax:       Rdd32=dfadd(Rss32,Rtt32)
  8020.    C Intrinsic Prototype: Float64 Q6_P_dfadd_PP(Float64 Rss, Float64 Rtt)
  8021.    Instruction Type:      M
  8022.    Execution Slots:       SLOT23
  8023.    ========================================================================== */
  8024.  
  8025. #define Q6_P_dfadd_PP __builtin_HEXAGON_F2_dfadd
  8026. #endif /* __HEXAGON_ARCH___ >= 66 */
  8027.  
  8028. #if __HEXAGON_ARCH__ >= 66
  8029. /* ==========================================================================
  8030.    Assembly Syntax:       Rdd32=dfsub(Rss32,Rtt32)
  8031.    C Intrinsic Prototype: Float64 Q6_P_dfsub_PP(Float64 Rss, Float64 Rtt)
  8032.    Instruction Type:      M
  8033.    Execution Slots:       SLOT23
  8034.    ========================================================================== */
  8035.  
  8036. #define Q6_P_dfsub_PP __builtin_HEXAGON_F2_dfsub
  8037. #endif /* __HEXAGON_ARCH___ >= 66 */
  8038.  
  8039. #if __HEXAGON_ARCH__ >= 66
  8040. /* ==========================================================================
  8041.    Assembly Syntax:       Rx32-=mpyi(Rs32,Rt32)
  8042.    C Intrinsic Prototype: Word32 Q6_R_mpyinac_RR(Word32 Rx, Word32 Rs, Word32 Rt)
  8043.    Instruction Type:      M
  8044.    Execution Slots:       SLOT23
  8045.    ========================================================================== */
  8046.  
  8047. #define Q6_R_mpyinac_RR __builtin_HEXAGON_M2_mnaci
  8048. #endif /* __HEXAGON_ARCH___ >= 66 */
  8049.  
  8050. #if __HEXAGON_ARCH__ >= 66
  8051. /* ==========================================================================
  8052.    Assembly Syntax:       Rd32=mask(#u5,#U5)
  8053.    C Intrinsic Prototype: Word32 Q6_R_mask_II(Word32 Iu5, Word32 IU5)
  8054.    Instruction Type:      S_2op
  8055.    Execution Slots:       SLOT23
  8056.    ========================================================================== */
  8057.  
  8058. #define Q6_R_mask_II __builtin_HEXAGON_S2_mask
  8059. #endif /* __HEXAGON_ARCH___ >= 66 */
  8060.  
  8061. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8062. /* ==========================================================================
  8063.    Assembly Syntax:       Rd32=clip(Rs32,#u5)
  8064.    C Intrinsic Prototype: Word32 Q6_R_clip_RI(Word32 Rs, Word32 Iu5)
  8065.    Instruction Type:      S_2op
  8066.    Execution Slots:       SLOT23
  8067.    ========================================================================== */
  8068.  
  8069. #define Q6_R_clip_RI __builtin_HEXAGON_A7_clip
  8070. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8071.  
  8072. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8073. /* ==========================================================================
  8074.    Assembly Syntax:       Rdd32=cround(Rss32,#u6)
  8075.    C Intrinsic Prototype: Word64 Q6_P_cround_PI(Word64 Rss, Word32 Iu6)
  8076.    Instruction Type:      S_2op
  8077.    Execution Slots:       SLOT23
  8078.    ========================================================================== */
  8079.  
  8080. #define Q6_P_cround_PI __builtin_HEXAGON_A7_croundd_ri
  8081. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8082.  
  8083. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8084. /* ==========================================================================
  8085.    Assembly Syntax:       Rdd32=cround(Rss32,Rt32)
  8086.    C Intrinsic Prototype: Word64 Q6_P_cround_PR(Word64 Rss, Word32 Rt)
  8087.    Instruction Type:      S_3op
  8088.    Execution Slots:       SLOT23
  8089.    ========================================================================== */
  8090.  
  8091. #define Q6_P_cround_PR __builtin_HEXAGON_A7_croundd_rr
  8092. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8093.  
  8094. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8095. /* ==========================================================================
  8096.    Assembly Syntax:       Rdd32=vclip(Rss32,#u5)
  8097.    C Intrinsic Prototype: Word64 Q6_P_vclip_PI(Word64 Rss, Word32 Iu5)
  8098.    Instruction Type:      S_2op
  8099.    Execution Slots:       SLOT23
  8100.    ========================================================================== */
  8101.  
  8102. #define Q6_P_vclip_PI __builtin_HEXAGON_A7_vclip
  8103. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8104.  
  8105. #if __HEXAGON_ARCH__ >= 67
  8106. /* ==========================================================================
  8107.    Assembly Syntax:       Rdd32=dfmax(Rss32,Rtt32)
  8108.    C Intrinsic Prototype: Float64 Q6_P_dfmax_PP(Float64 Rss, Float64 Rtt)
  8109.    Instruction Type:      M
  8110.    Execution Slots:       SLOT23
  8111.    ========================================================================== */
  8112.  
  8113. #define Q6_P_dfmax_PP __builtin_HEXAGON_F2_dfmax
  8114. #endif /* __HEXAGON_ARCH___ >= 67 */
  8115.  
  8116. #if __HEXAGON_ARCH__ >= 67
  8117. /* ==========================================================================
  8118.    Assembly Syntax:       Rdd32=dfmin(Rss32,Rtt32)
  8119.    C Intrinsic Prototype: Float64 Q6_P_dfmin_PP(Float64 Rss, Float64 Rtt)
  8120.    Instruction Type:      M
  8121.    Execution Slots:       SLOT23
  8122.    ========================================================================== */
  8123.  
  8124. #define Q6_P_dfmin_PP __builtin_HEXAGON_F2_dfmin
  8125. #endif /* __HEXAGON_ARCH___ >= 67 */
  8126.  
  8127. #if __HEXAGON_ARCH__ >= 67
  8128. /* ==========================================================================
  8129.    Assembly Syntax:       Rdd32=dfmpyfix(Rss32,Rtt32)
  8130.    C Intrinsic Prototype: Float64 Q6_P_dfmpyfix_PP(Float64 Rss, Float64 Rtt)
  8131.    Instruction Type:      M
  8132.    Execution Slots:       SLOT23
  8133.    ========================================================================== */
  8134.  
  8135. #define Q6_P_dfmpyfix_PP __builtin_HEXAGON_F2_dfmpyfix
  8136. #endif /* __HEXAGON_ARCH___ >= 67 */
  8137.  
  8138. #if __HEXAGON_ARCH__ >= 67
  8139. /* ==========================================================================
  8140.    Assembly Syntax:       Rxx32+=dfmpyhh(Rss32,Rtt32)
  8141.    C Intrinsic Prototype: Float64 Q6_P_dfmpyhhacc_PP(Float64 Rxx, Float64 Rss, Float64 Rtt)
  8142.    Instruction Type:      M
  8143.    Execution Slots:       SLOT23
  8144.    ========================================================================== */
  8145.  
  8146. #define Q6_P_dfmpyhhacc_PP __builtin_HEXAGON_F2_dfmpyhh
  8147. #endif /* __HEXAGON_ARCH___ >= 67 */
  8148.  
  8149. #if __HEXAGON_ARCH__ >= 67
  8150. /* ==========================================================================
  8151.    Assembly Syntax:       Rxx32+=dfmpylh(Rss32,Rtt32)
  8152.    C Intrinsic Prototype: Float64 Q6_P_dfmpylhacc_PP(Float64 Rxx, Float64 Rss, Float64 Rtt)
  8153.    Instruction Type:      M
  8154.    Execution Slots:       SLOT23
  8155.    ========================================================================== */
  8156.  
  8157. #define Q6_P_dfmpylhacc_PP __builtin_HEXAGON_F2_dfmpylh
  8158. #endif /* __HEXAGON_ARCH___ >= 67 */
  8159.  
  8160. #if __HEXAGON_ARCH__ >= 67
  8161. /* ==========================================================================
  8162.    Assembly Syntax:       Rdd32=dfmpyll(Rss32,Rtt32)
  8163.    C Intrinsic Prototype: Float64 Q6_P_dfmpyll_PP(Float64 Rss, Float64 Rtt)
  8164.    Instruction Type:      M
  8165.    Execution Slots:       SLOT23
  8166.    ========================================================================== */
  8167.  
  8168. #define Q6_P_dfmpyll_PP __builtin_HEXAGON_F2_dfmpyll
  8169. #endif /* __HEXAGON_ARCH___ >= 67 */
  8170.  
  8171. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8172. /* ==========================================================================
  8173.    Assembly Syntax:       Rdd32=cmpyiw(Rss32,Rtt32)
  8174.    C Intrinsic Prototype: Word64 Q6_P_cmpyiw_PP(Word64 Rss, Word64 Rtt)
  8175.    Instruction Type:      M
  8176.    Execution Slots:       SLOT3
  8177.    ========================================================================== */
  8178.  
  8179. #define Q6_P_cmpyiw_PP __builtin_HEXAGON_M7_dcmpyiw
  8180. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8181.  
  8182. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8183. /* ==========================================================================
  8184.    Assembly Syntax:       Rxx32+=cmpyiw(Rss32,Rtt32)
  8185.    C Intrinsic Prototype: Word64 Q6_P_cmpyiwacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  8186.    Instruction Type:      M
  8187.    Execution Slots:       SLOT3
  8188.    ========================================================================== */
  8189.  
  8190. #define Q6_P_cmpyiwacc_PP __builtin_HEXAGON_M7_dcmpyiw_acc
  8191. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8192.  
  8193. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8194. /* ==========================================================================
  8195.    Assembly Syntax:       Rdd32=cmpyiw(Rss32,Rtt32*)
  8196.    C Intrinsic Prototype: Word64 Q6_P_cmpyiw_PP_conj(Word64 Rss, Word64 Rtt)
  8197.    Instruction Type:      M
  8198.    Execution Slots:       SLOT3
  8199.    ========================================================================== */
  8200.  
  8201. #define Q6_P_cmpyiw_PP_conj __builtin_HEXAGON_M7_dcmpyiwc
  8202. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8203.  
  8204. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8205. /* ==========================================================================
  8206.    Assembly Syntax:       Rxx32+=cmpyiw(Rss32,Rtt32*)
  8207.    C Intrinsic Prototype: Word64 Q6_P_cmpyiwacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
  8208.    Instruction Type:      M
  8209.    Execution Slots:       SLOT3
  8210.    ========================================================================== */
  8211.  
  8212. #define Q6_P_cmpyiwacc_PP_conj __builtin_HEXAGON_M7_dcmpyiwc_acc
  8213. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8214.  
  8215. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8216. /* ==========================================================================
  8217.    Assembly Syntax:       Rdd32=cmpyrw(Rss32,Rtt32)
  8218.    C Intrinsic Prototype: Word64 Q6_P_cmpyrw_PP(Word64 Rss, Word64 Rtt)
  8219.    Instruction Type:      M
  8220.    Execution Slots:       SLOT3
  8221.    ========================================================================== */
  8222.  
  8223. #define Q6_P_cmpyrw_PP __builtin_HEXAGON_M7_dcmpyrw
  8224. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8225.  
  8226. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8227. /* ==========================================================================
  8228.    Assembly Syntax:       Rxx32+=cmpyrw(Rss32,Rtt32)
  8229.    C Intrinsic Prototype: Word64 Q6_P_cmpyrwacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  8230.    Instruction Type:      M
  8231.    Execution Slots:       SLOT3
  8232.    ========================================================================== */
  8233.  
  8234. #define Q6_P_cmpyrwacc_PP __builtin_HEXAGON_M7_dcmpyrw_acc
  8235. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8236.  
  8237. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8238. /* ==========================================================================
  8239.    Assembly Syntax:       Rdd32=cmpyrw(Rss32,Rtt32*)
  8240.    C Intrinsic Prototype: Word64 Q6_P_cmpyrw_PP_conj(Word64 Rss, Word64 Rtt)
  8241.    Instruction Type:      M
  8242.    Execution Slots:       SLOT3
  8243.    ========================================================================== */
  8244.  
  8245. #define Q6_P_cmpyrw_PP_conj __builtin_HEXAGON_M7_dcmpyrwc
  8246. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8247.  
  8248. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8249. /* ==========================================================================
  8250.    Assembly Syntax:       Rxx32+=cmpyrw(Rss32,Rtt32*)
  8251.    C Intrinsic Prototype: Word64 Q6_P_cmpyrwacc_PP_conj(Word64 Rxx, Word64 Rss, Word64 Rtt)
  8252.    Instruction Type:      M
  8253.    Execution Slots:       SLOT3
  8254.    ========================================================================== */
  8255.  
  8256. #define Q6_P_cmpyrwacc_PP_conj __builtin_HEXAGON_M7_dcmpyrwc_acc
  8257. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8258.  
  8259. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8260. /* ==========================================================================
  8261.    Assembly Syntax:       Rdd32=vdmpyw(Rss32,Rtt32)
  8262.    C Intrinsic Prototype: Word64 Q6_P_vdmpyw_PP(Word64 Rss, Word64 Rtt)
  8263.    Instruction Type:      M
  8264.    Execution Slots:       SLOT3
  8265.    ========================================================================== */
  8266.  
  8267. #define Q6_P_vdmpyw_PP __builtin_HEXAGON_M7_vdmpy
  8268. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8269.  
  8270. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8271. /* ==========================================================================
  8272.    Assembly Syntax:       Rxx32+=vdmpyw(Rss32,Rtt32)
  8273.    C Intrinsic Prototype: Word64 Q6_P_vdmpywacc_PP(Word64 Rxx, Word64 Rss, Word64 Rtt)
  8274.    Instruction Type:      M
  8275.    Execution Slots:       SLOT3
  8276.    ========================================================================== */
  8277.  
  8278. #define Q6_P_vdmpywacc_PP __builtin_HEXAGON_M7_vdmpy_acc
  8279. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8280.  
  8281. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8282. /* ==========================================================================
  8283.    Assembly Syntax:       Rd32=cmpyiw(Rss32,Rtt32):<<1:sat
  8284.    C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_s1_sat(Word64 Rss, Word64 Rtt)
  8285.    Instruction Type:      M
  8286.    Execution Slots:       SLOT3
  8287.    ========================================================================== */
  8288.  
  8289. #define Q6_R_cmpyiw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyiw
  8290. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8291.  
  8292. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8293. /* ==========================================================================
  8294.    Assembly Syntax:       Rd32=cmpyiw(Rss32,Rtt32):<<1:rnd:sat
  8295.    C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  8296.    Instruction Type:      M
  8297.    Execution Slots:       SLOT3
  8298.    ========================================================================== */
  8299.  
  8300. #define Q6_R_cmpyiw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiw_rnd
  8301. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8302.  
  8303. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8304. /* ==========================================================================
  8305.    Assembly Syntax:       Rd32=cmpyiw(Rss32,Rtt32*):<<1:sat
  8306.    C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_conj_s1_sat(Word64 Rss, Word64 Rtt)
  8307.    Instruction Type:      M
  8308.    Execution Slots:       SLOT3
  8309.    ========================================================================== */
  8310.  
  8311. #define Q6_R_cmpyiw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyiwc
  8312. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8313.  
  8314. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8315. /* ==========================================================================
  8316.    Assembly Syntax:       Rd32=cmpyiw(Rss32,Rtt32*):<<1:rnd:sat
  8317.    C Intrinsic Prototype: Word32 Q6_R_cmpyiw_PP_conj_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  8318.    Instruction Type:      M
  8319.    Execution Slots:       SLOT3
  8320.    ========================================================================== */
  8321.  
  8322. #define Q6_R_cmpyiw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyiwc_rnd
  8323. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8324.  
  8325. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8326. /* ==========================================================================
  8327.    Assembly Syntax:       Rd32=cmpyrw(Rss32,Rtt32):<<1:sat
  8328.    C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_s1_sat(Word64 Rss, Word64 Rtt)
  8329.    Instruction Type:      M
  8330.    Execution Slots:       SLOT3
  8331.    ========================================================================== */
  8332.  
  8333. #define Q6_R_cmpyrw_PP_s1_sat __builtin_HEXAGON_M7_wcmpyrw
  8334. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8335.  
  8336. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8337. /* ==========================================================================
  8338.    Assembly Syntax:       Rd32=cmpyrw(Rss32,Rtt32):<<1:rnd:sat
  8339.    C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  8340.    Instruction Type:      M
  8341.    Execution Slots:       SLOT3
  8342.    ========================================================================== */
  8343.  
  8344. #define Q6_R_cmpyrw_PP_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrw_rnd
  8345. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8346.  
  8347. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8348. /* ==========================================================================
  8349.    Assembly Syntax:       Rd32=cmpyrw(Rss32,Rtt32*):<<1:sat
  8350.    C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_conj_s1_sat(Word64 Rss, Word64 Rtt)
  8351.    Instruction Type:      M
  8352.    Execution Slots:       SLOT3
  8353.    ========================================================================== */
  8354.  
  8355. #define Q6_R_cmpyrw_PP_conj_s1_sat __builtin_HEXAGON_M7_wcmpyrwc
  8356. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8357.  
  8358. #if __HEXAGON_ARCH__ >= 67 && defined __HEXAGON_AUDIO__
  8359. /* ==========================================================================
  8360.    Assembly Syntax:       Rd32=cmpyrw(Rss32,Rtt32*):<<1:rnd:sat
  8361.    C Intrinsic Prototype: Word32 Q6_R_cmpyrw_PP_conj_s1_rnd_sat(Word64 Rss, Word64 Rtt)
  8362.    Instruction Type:      M
  8363.    Execution Slots:       SLOT3
  8364.    ========================================================================== */
  8365.  
  8366. #define Q6_R_cmpyrw_PP_conj_s1_rnd_sat __builtin_HEXAGON_M7_wcmpyrwc_rnd
  8367. #endif /* __HEXAGON_ARCH___ >= 67  && defined __HEXAGON_AUDIO__*/
  8368.  
  8369. #if __HEXAGON_ARCH__ >= 68
  8370. /* ==========================================================================
  8371.    Assembly Syntax:       dmlink(Rs32,Rt32)
  8372.    C Intrinsic Prototype: void Q6_dmlink_AA(Address Rs, Address Rt)
  8373.    Instruction Type:      ST
  8374.    Execution Slots:       SLOT0
  8375.    ========================================================================== */
  8376.  
  8377. #define Q6_dmlink_AA __builtin_HEXAGON_Y6_dmlink
  8378. #endif /* __HEXAGON_ARCH___ >= 68 */
  8379.  
  8380. #if __HEXAGON_ARCH__ >= 68
  8381. /* ==========================================================================
  8382.    Assembly Syntax:       Rd32=dmpause
  8383.    C Intrinsic Prototype: Word32 Q6_R_dmpause()
  8384.    Instruction Type:      ST
  8385.    Execution Slots:       SLOT0
  8386.    ========================================================================== */
  8387.  
  8388. #define Q6_R_dmpause __builtin_HEXAGON_Y6_dmpause
  8389. #endif /* __HEXAGON_ARCH___ >= 68 */
  8390.  
  8391. #if __HEXAGON_ARCH__ >= 68
  8392. /* ==========================================================================
  8393.    Assembly Syntax:       Rd32=dmpoll
  8394.    C Intrinsic Prototype: Word32 Q6_R_dmpoll()
  8395.    Instruction Type:      ST
  8396.    Execution Slots:       SLOT0
  8397.    ========================================================================== */
  8398.  
  8399. #define Q6_R_dmpoll __builtin_HEXAGON_Y6_dmpoll
  8400. #endif /* __HEXAGON_ARCH___ >= 68 */
  8401.  
  8402. #if __HEXAGON_ARCH__ >= 68
  8403. /* ==========================================================================
  8404.    Assembly Syntax:       dmresume(Rs32)
  8405.    C Intrinsic Prototype: void Q6_dmresume_A(Address Rs)
  8406.    Instruction Type:      ST
  8407.    Execution Slots:       SLOT0
  8408.    ========================================================================== */
  8409.  
  8410. #define Q6_dmresume_A __builtin_HEXAGON_Y6_dmresume
  8411. #endif /* __HEXAGON_ARCH___ >= 68 */
  8412.  
  8413. #if __HEXAGON_ARCH__ >= 68
  8414. /* ==========================================================================
  8415.    Assembly Syntax:       dmstart(Rs32)
  8416.    C Intrinsic Prototype: void Q6_dmstart_A(Address Rs)
  8417.    Instruction Type:      ST
  8418.    Execution Slots:       SLOT0
  8419.    ========================================================================== */
  8420.  
  8421. #define Q6_dmstart_A __builtin_HEXAGON_Y6_dmstart
  8422. #endif /* __HEXAGON_ARCH___ >= 68 */
  8423.  
  8424. #if __HEXAGON_ARCH__ >= 68
  8425. /* ==========================================================================
  8426.    Assembly Syntax:       Rd32=dmwait
  8427.    C Intrinsic Prototype: Word32 Q6_R_dmwait()
  8428.    Instruction Type:      ST
  8429.    Execution Slots:       SLOT0
  8430.    ========================================================================== */
  8431.  
  8432. #define Q6_R_dmwait __builtin_HEXAGON_Y6_dmwait
  8433. #endif /* __HEXAGON_ARCH___ >= 68 */
  8434.  
  8435. #include <hexagon_circ_brev_intrinsics.h>
  8436. #ifdef __HVX__
  8437. #include <hvx_hexagon_protos.h>
  8438. #endif /* __HVX__ */
  8439. #endif
  8440.