master
   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