BuiltinsMips.def 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905
  1. //===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==//
  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. //
  9. // This file defines the MIPS-specific builtin function database. Users of
  10. // this file must define the BUILTIN macro to make use of this information.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. // The format of this database matches clang/Basic/Builtins.def.
  14. // MIPS DSP Rev 1
  15. // Add/subtract with optional saturation
  16. BUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n")
  17. BUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n")
  18. BUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n")
  19. BUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n")
  20. BUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n")
  21. BUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n")
  22. BUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n")
  23. BUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n")
  24. BUILTIN(__builtin_mips_madd, "LLiLLiii", "nc")
  25. BUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc")
  26. BUILTIN(__builtin_mips_msub, "LLiLLiii", "nc")
  27. BUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc")
  28. BUILTIN(__builtin_mips_addq_s_w, "iii", "n")
  29. BUILTIN(__builtin_mips_subq_s_w, "iii", "n")
  30. BUILTIN(__builtin_mips_addsc, "iii", "n")
  31. BUILTIN(__builtin_mips_addwc, "iii", "n")
  32. BUILTIN(__builtin_mips_modsub, "iii", "nc")
  33. BUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc")
  34. BUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n")
  35. BUILTIN(__builtin_mips_absq_s_w, "ii", "n")
  36. BUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc")
  37. BUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n")
  38. BUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc")
  39. BUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n")
  40. BUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc")
  41. BUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc")
  42. BUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc")
  43. BUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc")
  44. BUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc")
  45. BUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc")
  46. BUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc")
  47. BUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc")
  48. BUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc")
  49. BUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc")
  50. BUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n")
  51. BUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc")
  52. BUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n")
  53. BUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n")
  54. BUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc")
  55. BUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc")
  56. BUILTIN(__builtin_mips_shll_s_w, "iii", "n")
  57. BUILTIN(__builtin_mips_shra_r_w, "iii", "nc")
  58. BUILTIN(__builtin_mips_shilo, "LLiLLii", "nc")
  59. BUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n")
  60. BUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n")
  61. BUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n")
  62. BUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n")
  63. BUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n")
  64. BUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n")
  65. BUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n")
  66. BUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n")
  67. BUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n")
  68. BUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n")
  69. BUILTIN(__builtin_mips_mult, "LLiii", "nc")
  70. BUILTIN(__builtin_mips_multu, "LLiUiUi", "nc")
  71. BUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc")
  72. BUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc")
  73. BUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc")
  74. BUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc")
  75. BUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n")
  76. BUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n")
  77. BUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n")
  78. BUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n")
  79. BUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n")
  80. BUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n")
  81. BUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n")
  82. BUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n")
  83. BUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n")
  84. BUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n")
  85. BUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n")
  86. BUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n")
  87. BUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n")
  88. BUILTIN(__builtin_mips_extr_s_h, "iLLii", "n")
  89. BUILTIN(__builtin_mips_extr_w, "iLLii", "n")
  90. BUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n")
  91. BUILTIN(__builtin_mips_extr_r_w, "iLLii", "n")
  92. BUILTIN(__builtin_mips_extp, "iLLii", "n")
  93. BUILTIN(__builtin_mips_extpdp, "iLLii", "n")
  94. BUILTIN(__builtin_mips_wrdsp, "viIi", "n")
  95. BUILTIN(__builtin_mips_rddsp, "iIi", "n")
  96. BUILTIN(__builtin_mips_insv, "iii", "n")
  97. BUILTIN(__builtin_mips_bitrev, "ii", "nc")
  98. BUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc")
  99. BUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc")
  100. BUILTIN(__builtin_mips_repl_ph, "V2si", "nc")
  101. BUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n")
  102. BUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n")
  103. BUILTIN(__builtin_mips_mthlip, "LLiLLii", "n")
  104. BUILTIN(__builtin_mips_bposge32, "i", "n")
  105. BUILTIN(__builtin_mips_lbux, "iv*i", "n")
  106. BUILTIN(__builtin_mips_lhx, "iv*i", "n")
  107. BUILTIN(__builtin_mips_lwx, "iv*i", "n")
  108. // MIPS DSP Rev 2
  109. BUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n")
  110. BUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc")
  111. BUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc")
  112. BUILTIN(__builtin_mips_addqh_w, "iii", "nc")
  113. BUILTIN(__builtin_mips_addqh_r_w, "iii", "nc")
  114. BUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n")
  115. BUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n")
  116. BUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc")
  117. BUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc")
  118. BUILTIN(__builtin_mips_append, "iiiIi", "nc")
  119. BUILTIN(__builtin_mips_balign, "iiiIi", "nc")
  120. BUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n")
  121. BUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n")
  122. BUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n")
  123. BUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc")
  124. BUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc")
  125. BUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n")
  126. BUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n")
  127. BUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc")
  128. BUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc")
  129. BUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n")
  130. BUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n")
  131. BUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n")
  132. BUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n")
  133. BUILTIN(__builtin_mips_mulq_rs_w, "iii", "n")
  134. BUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n")
  135. BUILTIN(__builtin_mips_mulq_s_w, "iii", "n")
  136. BUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc")
  137. BUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n")
  138. BUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc")
  139. BUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc")
  140. BUILTIN(__builtin_mips_prepend, "iiiIi", "nc")
  141. BUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc")
  142. BUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc")
  143. BUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc")
  144. BUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc")
  145. BUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc")
  146. BUILTIN(__builtin_mips_subqh_w, "iii", "nc")
  147. BUILTIN(__builtin_mips_subqh_r_w, "iii", "nc")
  148. BUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n")
  149. BUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n")
  150. BUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc")
  151. BUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc")
  152. // MIPS MSA
  153. BUILTIN(__builtin_msa_add_a_b, "V16ScV16ScV16Sc", "nc")
  154. BUILTIN(__builtin_msa_add_a_h, "V8SsV8SsV8Ss", "nc")
  155. BUILTIN(__builtin_msa_add_a_w, "V4SiV4SiV4Si", "nc")
  156. BUILTIN(__builtin_msa_add_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
  157. BUILTIN(__builtin_msa_adds_a_b, "V16ScV16ScV16Sc", "nc")
  158. BUILTIN(__builtin_msa_adds_a_h, "V8SsV8SsV8Ss", "nc")
  159. BUILTIN(__builtin_msa_adds_a_w, "V4SiV4SiV4Si", "nc")
  160. BUILTIN(__builtin_msa_adds_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
  161. BUILTIN(__builtin_msa_adds_s_b, "V16ScV16ScV16Sc", "nc")
  162. BUILTIN(__builtin_msa_adds_s_h, "V8SsV8SsV8Ss", "nc")
  163. BUILTIN(__builtin_msa_adds_s_w, "V4SiV4SiV4Si", "nc")
  164. BUILTIN(__builtin_msa_adds_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  165. BUILTIN(__builtin_msa_adds_u_b, "V16UcV16UcV16Uc", "nc")
  166. BUILTIN(__builtin_msa_adds_u_h, "V8UsV8UsV8Us", "nc")
  167. BUILTIN(__builtin_msa_adds_u_w, "V4UiV4UiV4Ui", "nc")
  168. BUILTIN(__builtin_msa_adds_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  169. BUILTIN(__builtin_msa_addv_b, "V16cV16cV16c", "nc")
  170. BUILTIN(__builtin_msa_addv_h, "V8sV8sV8s", "nc")
  171. BUILTIN(__builtin_msa_addv_w, "V4iV4iV4i", "nc")
  172. BUILTIN(__builtin_msa_addv_d, "V2LLiV2LLiV2LLi", "nc")
  173. BUILTIN(__builtin_msa_addvi_b, "V16cV16cIUi", "nc")
  174. BUILTIN(__builtin_msa_addvi_h, "V8sV8sIUi", "nc")
  175. BUILTIN(__builtin_msa_addvi_w, "V4iV4iIUi", "nc")
  176. BUILTIN(__builtin_msa_addvi_d, "V2LLiV2LLiIUi", "nc")
  177. BUILTIN(__builtin_msa_and_v, "V16UcV16UcV16Uc", "nc")
  178. BUILTIN(__builtin_msa_andi_b, "V16UcV16UcIUi", "nc")
  179. BUILTIN(__builtin_msa_asub_s_b, "V16ScV16ScV16Sc", "nc")
  180. BUILTIN(__builtin_msa_asub_s_h, "V8SsV8SsV8Ss", "nc")
  181. BUILTIN(__builtin_msa_asub_s_w, "V4SiV4SiV4Si", "nc")
  182. BUILTIN(__builtin_msa_asub_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  183. BUILTIN(__builtin_msa_asub_u_b, "V16UcV16UcV16Uc", "nc")
  184. BUILTIN(__builtin_msa_asub_u_h, "V8UsV8UsV8Us", "nc")
  185. BUILTIN(__builtin_msa_asub_u_w, "V4UiV4UiV4Ui", "nc")
  186. BUILTIN(__builtin_msa_asub_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  187. BUILTIN(__builtin_msa_ave_s_b, "V16ScV16ScV16Sc", "nc")
  188. BUILTIN(__builtin_msa_ave_s_h, "V8SsV8SsV8Ss", "nc")
  189. BUILTIN(__builtin_msa_ave_s_w, "V4SiV4SiV4Si", "nc")
  190. BUILTIN(__builtin_msa_ave_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  191. BUILTIN(__builtin_msa_ave_u_b, "V16UcV16UcV16Uc", "nc")
  192. BUILTIN(__builtin_msa_ave_u_h, "V8UsV8UsV8Us", "nc")
  193. BUILTIN(__builtin_msa_ave_u_w, "V4UiV4UiV4Ui", "nc")
  194. BUILTIN(__builtin_msa_ave_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  195. BUILTIN(__builtin_msa_aver_s_b, "V16ScV16ScV16Sc", "nc")
  196. BUILTIN(__builtin_msa_aver_s_h, "V8SsV8SsV8Ss", "nc")
  197. BUILTIN(__builtin_msa_aver_s_w, "V4SiV4SiV4Si", "nc")
  198. BUILTIN(__builtin_msa_aver_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  199. BUILTIN(__builtin_msa_aver_u_b, "V16UcV16UcV16Uc", "nc")
  200. BUILTIN(__builtin_msa_aver_u_h, "V8UsV8UsV8Us", "nc")
  201. BUILTIN(__builtin_msa_aver_u_w, "V4UiV4UiV4Ui", "nc")
  202. BUILTIN(__builtin_msa_aver_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  203. BUILTIN(__builtin_msa_bclr_b, "V16UcV16UcV16Uc", "nc")
  204. BUILTIN(__builtin_msa_bclr_h, "V8UsV8UsV8Us", "nc")
  205. BUILTIN(__builtin_msa_bclr_w, "V4UiV4UiV4Ui", "nc")
  206. BUILTIN(__builtin_msa_bclr_d, "V2ULLiV2ULLiV2ULLi", "nc")
  207. BUILTIN(__builtin_msa_bclri_b, "V16UcV16UcIUi", "nc")
  208. BUILTIN(__builtin_msa_bclri_h, "V8UsV8UsIUi", "nc")
  209. BUILTIN(__builtin_msa_bclri_w, "V4UiV4UiIUi", "nc")
  210. BUILTIN(__builtin_msa_bclri_d, "V2ULLiV2ULLiIUi", "nc")
  211. BUILTIN(__builtin_msa_binsl_b, "V16UcV16UcV16UcV16Uc", "nc")
  212. BUILTIN(__builtin_msa_binsl_h, "V8UsV8UsV8UsV8Us", "nc")
  213. BUILTIN(__builtin_msa_binsl_w, "V4UiV4UiV4UiV4Ui", "nc")
  214. BUILTIN(__builtin_msa_binsl_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
  215. BUILTIN(__builtin_msa_binsli_b, "V16UcV16UcV16UcIUi", "nc")
  216. BUILTIN(__builtin_msa_binsli_h, "V8UsV8UsV8UsIUi", "nc")
  217. BUILTIN(__builtin_msa_binsli_w, "V4UiV4UiV4UiIUi", "nc")
  218. BUILTIN(__builtin_msa_binsli_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
  219. BUILTIN(__builtin_msa_binsr_b, "V16UcV16UcV16UcV16Uc", "nc")
  220. BUILTIN(__builtin_msa_binsr_h, "V8UsV8UsV8UsV8Us", "nc")
  221. BUILTIN(__builtin_msa_binsr_w, "V4UiV4UiV4UiV4Ui", "nc")
  222. BUILTIN(__builtin_msa_binsr_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
  223. BUILTIN(__builtin_msa_binsri_b, "V16UcV16UcV16UcIUi", "nc")
  224. BUILTIN(__builtin_msa_binsri_h, "V8UsV8UsV8UsIUi", "nc")
  225. BUILTIN(__builtin_msa_binsri_w, "V4UiV4UiV4UiIUi", "nc")
  226. BUILTIN(__builtin_msa_binsri_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
  227. BUILTIN(__builtin_msa_bmnz_v, "V16UcV16UcV16UcV16Uc", "nc")
  228. BUILTIN(__builtin_msa_bmnzi_b, "V16UcV16UcV16UcIUi", "nc")
  229. BUILTIN(__builtin_msa_bmz_v, "V16UcV16UcV16UcV16Uc", "nc")
  230. BUILTIN(__builtin_msa_bmzi_b, "V16UcV16UcV16UcIUi", "nc")
  231. BUILTIN(__builtin_msa_bneg_b, "V16UcV16UcV16Uc", "nc")
  232. BUILTIN(__builtin_msa_bneg_h, "V8UsV8UsV8Us", "nc")
  233. BUILTIN(__builtin_msa_bneg_w, "V4UiV4UiV4Ui", "nc")
  234. BUILTIN(__builtin_msa_bneg_d, "V2ULLiV2ULLiV2ULLi", "nc")
  235. BUILTIN(__builtin_msa_bnegi_b, "V16UcV16UcIUi", "nc")
  236. BUILTIN(__builtin_msa_bnegi_h, "V8UsV8UsIUi", "nc")
  237. BUILTIN(__builtin_msa_bnegi_w, "V4UiV4UiIUi", "nc")
  238. BUILTIN(__builtin_msa_bnegi_d, "V2ULLiV2ULLiIUi", "nc")
  239. BUILTIN(__builtin_msa_bnz_b, "iV16Uc", "nc")
  240. BUILTIN(__builtin_msa_bnz_h, "iV8Us", "nc")
  241. BUILTIN(__builtin_msa_bnz_w, "iV4Ui", "nc")
  242. BUILTIN(__builtin_msa_bnz_d, "iV2ULLi", "nc")
  243. BUILTIN(__builtin_msa_bnz_v, "iV16Uc", "nc")
  244. BUILTIN(__builtin_msa_bsel_v, "V16UcV16UcV16UcV16Uc", "nc")
  245. BUILTIN(__builtin_msa_bseli_b, "V16UcV16UcV16UcIUi", "nc")
  246. BUILTIN(__builtin_msa_bset_b, "V16UcV16UcV16Uc", "nc")
  247. BUILTIN(__builtin_msa_bset_h, "V8UsV8UsV8Us", "nc")
  248. BUILTIN(__builtin_msa_bset_w, "V4UiV4UiV4Ui", "nc")
  249. BUILTIN(__builtin_msa_bset_d, "V2ULLiV2ULLiV2ULLi", "nc")
  250. BUILTIN(__builtin_msa_bseti_b, "V16UcV16UcIUi", "nc")
  251. BUILTIN(__builtin_msa_bseti_h, "V8UsV8UsIUi", "nc")
  252. BUILTIN(__builtin_msa_bseti_w, "V4UiV4UiIUi", "nc")
  253. BUILTIN(__builtin_msa_bseti_d, "V2ULLiV2ULLiIUi", "nc")
  254. BUILTIN(__builtin_msa_bz_b, "iV16Uc", "nc")
  255. BUILTIN(__builtin_msa_bz_h, "iV8Us", "nc")
  256. BUILTIN(__builtin_msa_bz_w, "iV4Ui", "nc")
  257. BUILTIN(__builtin_msa_bz_d, "iV2ULLi", "nc")
  258. BUILTIN(__builtin_msa_bz_v, "iV16Uc", "nc")
  259. BUILTIN(__builtin_msa_ceq_b, "V16ScV16ScV16Sc", "nc")
  260. BUILTIN(__builtin_msa_ceq_h, "V8SsV8SsV8Ss", "nc")
  261. BUILTIN(__builtin_msa_ceq_w, "V4SiV4SiV4Si", "nc")
  262. BUILTIN(__builtin_msa_ceq_d, "V2SLLiV2SLLiV2SLLi", "nc")
  263. BUILTIN(__builtin_msa_ceqi_b, "V16ScV16ScISi", "nc")
  264. BUILTIN(__builtin_msa_ceqi_h, "V8SsV8SsISi", "nc")
  265. BUILTIN(__builtin_msa_ceqi_w, "V4SiV4SiISi", "nc")
  266. BUILTIN(__builtin_msa_ceqi_d, "V2SLLiV2SLLiISi", "nc")
  267. BUILTIN(__builtin_msa_cfcmsa, "iIi", "n")
  268. BUILTIN(__builtin_msa_cle_s_b, "V16ScV16ScV16Sc", "nc")
  269. BUILTIN(__builtin_msa_cle_s_h, "V8SsV8SsV8Ss", "nc")
  270. BUILTIN(__builtin_msa_cle_s_w, "V4SiV4SiV4Si", "nc")
  271. BUILTIN(__builtin_msa_cle_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  272. BUILTIN(__builtin_msa_cle_u_b, "V16ScV16UcV16Uc", "nc")
  273. BUILTIN(__builtin_msa_cle_u_h, "V8SsV8UsV8Us", "nc")
  274. BUILTIN(__builtin_msa_cle_u_w, "V4SiV4UiV4Ui", "nc")
  275. BUILTIN(__builtin_msa_cle_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
  276. BUILTIN(__builtin_msa_clei_s_b, "V16ScV16ScISi", "nc")
  277. BUILTIN(__builtin_msa_clei_s_h, "V8SsV8SsISi", "nc")
  278. BUILTIN(__builtin_msa_clei_s_w, "V4SiV4SiISi", "nc")
  279. BUILTIN(__builtin_msa_clei_s_d, "V2SLLiV2SLLiISi", "nc")
  280. BUILTIN(__builtin_msa_clei_u_b, "V16ScV16UcIUi", "nc")
  281. BUILTIN(__builtin_msa_clei_u_h, "V8SsV8UsIUi", "nc")
  282. BUILTIN(__builtin_msa_clei_u_w, "V4SiV4UiIUi", "nc")
  283. BUILTIN(__builtin_msa_clei_u_d, "V2SLLiV2ULLiIUi", "nc")
  284. BUILTIN(__builtin_msa_clt_s_b, "V16ScV16ScV16Sc", "nc")
  285. BUILTIN(__builtin_msa_clt_s_h, "V8SsV8SsV8Ss", "nc")
  286. BUILTIN(__builtin_msa_clt_s_w, "V4SiV4SiV4Si", "nc")
  287. BUILTIN(__builtin_msa_clt_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  288. BUILTIN(__builtin_msa_clt_u_b, "V16ScV16UcV16Uc", "nc")
  289. BUILTIN(__builtin_msa_clt_u_h, "V8SsV8UsV8Us", "nc")
  290. BUILTIN(__builtin_msa_clt_u_w, "V4SiV4UiV4Ui", "nc")
  291. BUILTIN(__builtin_msa_clt_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
  292. BUILTIN(__builtin_msa_clti_s_b, "V16ScV16ScISi", "nc")
  293. BUILTIN(__builtin_msa_clti_s_h, "V8SsV8SsISi", "nc")
  294. BUILTIN(__builtin_msa_clti_s_w, "V4SiV4SiISi", "nc")
  295. BUILTIN(__builtin_msa_clti_s_d, "V2SLLiV2SLLiISi", "nc")
  296. BUILTIN(__builtin_msa_clti_u_b, "V16ScV16UcIUi", "nc")
  297. BUILTIN(__builtin_msa_clti_u_h, "V8SsV8UsIUi", "nc")
  298. BUILTIN(__builtin_msa_clti_u_w, "V4SiV4UiIUi", "nc")
  299. BUILTIN(__builtin_msa_clti_u_d, "V2SLLiV2ULLiIUi", "nc")
  300. BUILTIN(__builtin_msa_copy_s_b, "iV16ScIUi", "nc")
  301. BUILTIN(__builtin_msa_copy_s_h, "iV8SsIUi", "nc")
  302. BUILTIN(__builtin_msa_copy_s_w, "iV4SiIUi", "nc")
  303. BUILTIN(__builtin_msa_copy_s_d, "LLiV2SLLiIUi", "nc")
  304. BUILTIN(__builtin_msa_copy_u_b, "iV16UcIUi", "nc")
  305. BUILTIN(__builtin_msa_copy_u_h, "iV8UsIUi", "nc")
  306. BUILTIN(__builtin_msa_copy_u_w, "iV4UiIUi", "nc")
  307. BUILTIN(__builtin_msa_copy_u_d, "LLiV2ULLiIUi", "nc")
  308. BUILTIN(__builtin_msa_ctcmsa, "vIii", "n")
  309. BUILTIN(__builtin_msa_div_s_b, "V16ScV16ScV16Sc", "nc")
  310. BUILTIN(__builtin_msa_div_s_h, "V8SsV8SsV8Ss", "nc")
  311. BUILTIN(__builtin_msa_div_s_w, "V4SiV4SiV4Si", "nc")
  312. BUILTIN(__builtin_msa_div_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  313. BUILTIN(__builtin_msa_div_u_b, "V16UcV16UcV16Uc", "nc")
  314. BUILTIN(__builtin_msa_div_u_h, "V8UsV8UsV8Us", "nc")
  315. BUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc")
  316. BUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  317. BUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc")
  318. BUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc")
  319. BUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc")
  320. BUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc")
  321. BUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc")
  322. BUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc")
  323. BUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc")
  324. BUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc")
  325. BUILTIN(__builtin_msa_dpadd_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
  326. BUILTIN(__builtin_msa_dpadd_u_h, "V8UsV8UsV16UcV16Uc", "nc")
  327. BUILTIN(__builtin_msa_dpadd_u_w, "V4UiV4UiV8UsV8Us", "nc")
  328. BUILTIN(__builtin_msa_dpadd_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
  329. BUILTIN(__builtin_msa_dpsub_s_h, "V8SsV8SsV16ScV16Sc", "nc")
  330. BUILTIN(__builtin_msa_dpsub_s_w, "V4SiV4SiV8SsV8Ss", "nc")
  331. BUILTIN(__builtin_msa_dpsub_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
  332. BUILTIN(__builtin_msa_dpsub_u_h, "V8UsV8UsV16UcV16Uc", "nc")
  333. BUILTIN(__builtin_msa_dpsub_u_w, "V4UiV4UiV8UsV8Us", "nc")
  334. BUILTIN(__builtin_msa_dpsub_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
  335. BUILTIN(__builtin_msa_fadd_w, "V4fV4fV4f", "nc")
  336. BUILTIN(__builtin_msa_fadd_d, "V2dV2dV2d", "nc")
  337. BUILTIN(__builtin_msa_fcaf_w, "V4iV4fV4f", "nc")
  338. BUILTIN(__builtin_msa_fcaf_d, "V2LLiV2dV2d", "nc")
  339. BUILTIN(__builtin_msa_fceq_w, "V4iV4fV4f", "nc")
  340. BUILTIN(__builtin_msa_fceq_d, "V2LLiV2dV2d", "nc")
  341. BUILTIN(__builtin_msa_fclass_w, "V4iV4f", "nc")
  342. BUILTIN(__builtin_msa_fclass_d, "V2LLiV2d", "nc")
  343. BUILTIN(__builtin_msa_fcle_w, "V4iV4fV4f", "nc")
  344. BUILTIN(__builtin_msa_fcle_d, "V2LLiV2dV2d", "nc")
  345. BUILTIN(__builtin_msa_fclt_w, "V4iV4fV4f", "nc")
  346. BUILTIN(__builtin_msa_fclt_d, "V2LLiV2dV2d", "nc")
  347. BUILTIN(__builtin_msa_fcne_w, "V4iV4fV4f", "nc")
  348. BUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc")
  349. BUILTIN(__builtin_msa_fcor_w, "V4iV4fV4f", "nc")
  350. BUILTIN(__builtin_msa_fcor_d, "V2LLiV2dV2d", "nc")
  351. BUILTIN(__builtin_msa_fcueq_w, "V4iV4fV4f", "nc")
  352. BUILTIN(__builtin_msa_fcueq_d, "V2LLiV2dV2d", "nc")
  353. BUILTIN(__builtin_msa_fcule_w, "V4iV4fV4f", "nc")
  354. BUILTIN(__builtin_msa_fcule_d, "V2LLiV2dV2d", "nc")
  355. BUILTIN(__builtin_msa_fcult_w, "V4iV4fV4f", "nc")
  356. BUILTIN(__builtin_msa_fcult_d, "V2LLiV2dV2d", "nc")
  357. BUILTIN(__builtin_msa_fcun_w, "V4iV4fV4f", "nc")
  358. BUILTIN(__builtin_msa_fcun_d, "V2LLiV2dV2d", "nc")
  359. BUILTIN(__builtin_msa_fcune_w, "V4iV4fV4f", "nc")
  360. BUILTIN(__builtin_msa_fcune_d, "V2LLiV2dV2d", "nc")
  361. BUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc")
  362. BUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc")
  363. BUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc")
  364. BUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc")
  365. BUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc")
  366. BUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc")
  367. BUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc")
  368. BUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc")
  369. BUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc")
  370. BUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc")
  371. BUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc")
  372. BUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc")
  373. BUILTIN(__builtin_msa_ffint_u_w, "V4fV4Ui", "nc")
  374. BUILTIN(__builtin_msa_ffint_u_d, "V2dV2ULLi", "nc")
  375. // ffql uses integers since long _Fract is not implemented
  376. BUILTIN(__builtin_msa_ffql_w, "V4fV8Ss", "nc")
  377. BUILTIN(__builtin_msa_ffql_d, "V2dV4Si", "nc")
  378. // ffqr uses integers since long _Fract is not implemented
  379. BUILTIN(__builtin_msa_ffqr_w, "V4fV8Ss", "nc")
  380. BUILTIN(__builtin_msa_ffqr_d, "V2dV4Si", "nc")
  381. BUILTIN(__builtin_msa_fill_b, "V16Sci", "nc")
  382. BUILTIN(__builtin_msa_fill_h, "V8Ssi", "nc")
  383. BUILTIN(__builtin_msa_fill_w, "V4Sii", "nc")
  384. BUILTIN(__builtin_msa_fill_d, "V2SLLiLLi", "nc")
  385. BUILTIN(__builtin_msa_flog2_w, "V4fV4f", "nc")
  386. BUILTIN(__builtin_msa_flog2_d, "V2dV2d", "nc")
  387. BUILTIN(__builtin_msa_fmadd_w, "V4fV4fV4fV4f", "nc")
  388. BUILTIN(__builtin_msa_fmadd_d, "V2dV2dV2dV2d", "nc")
  389. BUILTIN(__builtin_msa_fmax_w, "V4fV4fV4f", "nc")
  390. BUILTIN(__builtin_msa_fmax_d, "V2dV2dV2d", "nc")
  391. BUILTIN(__builtin_msa_fmax_a_w, "V4fV4fV4f", "nc")
  392. BUILTIN(__builtin_msa_fmax_a_d, "V2dV2dV2d", "nc")
  393. BUILTIN(__builtin_msa_fmin_w, "V4fV4fV4f", "nc")
  394. BUILTIN(__builtin_msa_fmin_d, "V2dV2dV2d", "nc")
  395. BUILTIN(__builtin_msa_fmin_a_w, "V4fV4fV4f", "nc")
  396. BUILTIN(__builtin_msa_fmin_a_d, "V2dV2dV2d", "nc")
  397. BUILTIN(__builtin_msa_fmsub_w, "V4fV4fV4fV4f", "nc")
  398. BUILTIN(__builtin_msa_fmsub_d, "V2dV2dV2dV2d", "nc")
  399. BUILTIN(__builtin_msa_fmul_w, "V4fV4fV4f", "nc")
  400. BUILTIN(__builtin_msa_fmul_d, "V2dV2dV2d", "nc")
  401. BUILTIN(__builtin_msa_frint_w, "V4fV4f", "nc")
  402. BUILTIN(__builtin_msa_frint_d, "V2dV2d", "nc")
  403. BUILTIN(__builtin_msa_frcp_w, "V4fV4f", "nc")
  404. BUILTIN(__builtin_msa_frcp_d, "V2dV2d", "nc")
  405. BUILTIN(__builtin_msa_frsqrt_w, "V4fV4f", "nc")
  406. BUILTIN(__builtin_msa_frsqrt_d, "V2dV2d", "nc")
  407. BUILTIN(__builtin_msa_fsaf_w, "V4iV4fV4f", "nc")
  408. BUILTIN(__builtin_msa_fsaf_d, "V2LLiV2dV2d", "nc")
  409. BUILTIN(__builtin_msa_fseq_w, "V4iV4fV4f", "nc")
  410. BUILTIN(__builtin_msa_fseq_d, "V2LLiV2dV2d", "nc")
  411. BUILTIN(__builtin_msa_fsle_w, "V4iV4fV4f", "nc")
  412. BUILTIN(__builtin_msa_fsle_d, "V2LLiV2dV2d", "nc")
  413. BUILTIN(__builtin_msa_fslt_w, "V4iV4fV4f", "nc")
  414. BUILTIN(__builtin_msa_fslt_d, "V2LLiV2dV2d", "nc")
  415. BUILTIN(__builtin_msa_fsne_w, "V4iV4fV4f", "nc")
  416. BUILTIN(__builtin_msa_fsne_d, "V2LLiV2dV2d", "nc")
  417. BUILTIN(__builtin_msa_fsor_w, "V4iV4fV4f", "nc")
  418. BUILTIN(__builtin_msa_fsor_d, "V2LLiV2dV2d", "nc")
  419. BUILTIN(__builtin_msa_fsqrt_w, "V4fV4f", "nc")
  420. BUILTIN(__builtin_msa_fsqrt_d, "V2dV2d", "nc")
  421. BUILTIN(__builtin_msa_fsub_w, "V4fV4fV4f", "nc")
  422. BUILTIN(__builtin_msa_fsub_d, "V2dV2dV2d", "nc")
  423. BUILTIN(__builtin_msa_fsueq_w, "V4iV4fV4f", "nc")
  424. BUILTIN(__builtin_msa_fsueq_d, "V2LLiV2dV2d", "nc")
  425. BUILTIN(__builtin_msa_fsule_w, "V4iV4fV4f", "nc")
  426. BUILTIN(__builtin_msa_fsule_d, "V2LLiV2dV2d", "nc")
  427. BUILTIN(__builtin_msa_fsult_w, "V4iV4fV4f", "nc")
  428. BUILTIN(__builtin_msa_fsult_d, "V2LLiV2dV2d", "nc")
  429. BUILTIN(__builtin_msa_fsun_w, "V4iV4fV4f", "nc")
  430. BUILTIN(__builtin_msa_fsun_d, "V2LLiV2dV2d", "nc")
  431. BUILTIN(__builtin_msa_fsune_w, "V4iV4fV4f", "nc")
  432. BUILTIN(__builtin_msa_fsune_d, "V2LLiV2dV2d", "nc")
  433. BUILTIN(__builtin_msa_ftint_s_w, "V4SiV4f", "nc")
  434. BUILTIN(__builtin_msa_ftint_s_d, "V2SLLiV2d", "nc")
  435. BUILTIN(__builtin_msa_ftint_u_w, "V4UiV4f", "nc")
  436. BUILTIN(__builtin_msa_ftint_u_d, "V2ULLiV2d", "nc")
  437. BUILTIN(__builtin_msa_ftq_h, "V4UiV4fV4f", "nc")
  438. BUILTIN(__builtin_msa_ftq_w, "V2ULLiV2dV2d", "nc")
  439. BUILTIN(__builtin_msa_ftrunc_s_w, "V4SiV4f", "nc")
  440. BUILTIN(__builtin_msa_ftrunc_s_d, "V2SLLiV2d", "nc")
  441. BUILTIN(__builtin_msa_ftrunc_u_w, "V4UiV4f", "nc")
  442. BUILTIN(__builtin_msa_ftrunc_u_d, "V2ULLiV2d", "nc")
  443. BUILTIN(__builtin_msa_hadd_s_h, "V8SsV16ScV16Sc", "nc")
  444. BUILTIN(__builtin_msa_hadd_s_w, "V4SiV8SsV8Ss", "nc")
  445. BUILTIN(__builtin_msa_hadd_s_d, "V2SLLiV4SiV4Si", "nc")
  446. BUILTIN(__builtin_msa_hadd_u_h, "V8UsV16UcV16Uc", "nc")
  447. BUILTIN(__builtin_msa_hadd_u_w, "V4UiV8UsV8Us", "nc")
  448. BUILTIN(__builtin_msa_hadd_u_d, "V2ULLiV4UiV4Ui", "nc")
  449. BUILTIN(__builtin_msa_hsub_s_h, "V8SsV16ScV16Sc", "nc")
  450. BUILTIN(__builtin_msa_hsub_s_w, "V4SiV8SsV8Ss", "nc")
  451. BUILTIN(__builtin_msa_hsub_s_d, "V2SLLiV4SiV4Si", "nc")
  452. BUILTIN(__builtin_msa_hsub_u_h, "V8UsV16UcV16Uc", "nc")
  453. BUILTIN(__builtin_msa_hsub_u_w, "V4UiV8UsV8Us", "nc")
  454. BUILTIN(__builtin_msa_hsub_u_d, "V2ULLiV4UiV4Ui", "nc")
  455. BUILTIN(__builtin_msa_ilvev_b, "V16cV16cV16c", "nc")
  456. BUILTIN(__builtin_msa_ilvev_h, "V8sV8sV8s", "nc")
  457. BUILTIN(__builtin_msa_ilvev_w, "V4iV4iV4i", "nc")
  458. BUILTIN(__builtin_msa_ilvev_d, "V2LLiV2LLiV2LLi", "nc")
  459. BUILTIN(__builtin_msa_ilvl_b, "V16cV16cV16c", "nc")
  460. BUILTIN(__builtin_msa_ilvl_h, "V8sV8sV8s", "nc")
  461. BUILTIN(__builtin_msa_ilvl_w, "V4iV4iV4i", "nc")
  462. BUILTIN(__builtin_msa_ilvl_d, "V2LLiV2LLiV2LLi", "nc")
  463. BUILTIN(__builtin_msa_ilvod_b, "V16cV16cV16c", "nc")
  464. BUILTIN(__builtin_msa_ilvod_h, "V8sV8sV8s", "nc")
  465. BUILTIN(__builtin_msa_ilvod_w, "V4iV4iV4i", "nc")
  466. BUILTIN(__builtin_msa_ilvod_d, "V2LLiV2LLiV2LLi", "nc")
  467. BUILTIN(__builtin_msa_ilvr_b, "V16cV16cV16c", "nc")
  468. BUILTIN(__builtin_msa_ilvr_h, "V8sV8sV8s", "nc")
  469. BUILTIN(__builtin_msa_ilvr_w, "V4iV4iV4i", "nc")
  470. BUILTIN(__builtin_msa_ilvr_d, "V2LLiV2LLiV2LLi", "nc")
  471. BUILTIN(__builtin_msa_insert_b, "V16ScV16ScIUii", "nc")
  472. BUILTIN(__builtin_msa_insert_h, "V8SsV8SsIUii", "nc")
  473. BUILTIN(__builtin_msa_insert_w, "V4SiV4SiIUii", "nc")
  474. BUILTIN(__builtin_msa_insert_d, "V2SLLiV2SLLiIUiLLi", "nc")
  475. BUILTIN(__builtin_msa_insve_b, "V16ScV16ScIUiV16Sc", "nc")
  476. BUILTIN(__builtin_msa_insve_h, "V8SsV8SsIUiV8Ss", "nc")
  477. BUILTIN(__builtin_msa_insve_w, "V4SiV4SiIUiV4Si", "nc")
  478. BUILTIN(__builtin_msa_insve_d, "V2SLLiV2SLLiIUiV2SLLi", "nc")
  479. BUILTIN(__builtin_msa_ld_b, "V16Scv*Ii", "nc")
  480. BUILTIN(__builtin_msa_ld_h, "V8Ssv*Ii", "nc")
  481. BUILTIN(__builtin_msa_ld_w, "V4Siv*Ii", "nc")
  482. BUILTIN(__builtin_msa_ld_d, "V2SLLiv*Ii", "nc")
  483. BUILTIN(__builtin_msa_ldr_d, "V2SLLiv*Ii", "nc")
  484. BUILTIN(__builtin_msa_ldr_w, "V4Siv*Ii", "nc")
  485. BUILTIN(__builtin_msa_ldi_b, "V16cIi", "nc")
  486. BUILTIN(__builtin_msa_ldi_h, "V8sIi", "nc")
  487. BUILTIN(__builtin_msa_ldi_w, "V4iIi", "nc")
  488. BUILTIN(__builtin_msa_ldi_d, "V2LLiIi", "nc")
  489. BUILTIN(__builtin_msa_madd_q_h, "V8SsV8SsV8SsV8Ss", "nc")
  490. BUILTIN(__builtin_msa_madd_q_w, "V4SiV4SiV4SiV4Si", "nc")
  491. BUILTIN(__builtin_msa_maddr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
  492. BUILTIN(__builtin_msa_maddr_q_w, "V4SiV4SiV4SiV4Si", "nc")
  493. BUILTIN(__builtin_msa_maddv_b, "V16ScV16ScV16ScV16Sc", "nc")
  494. BUILTIN(__builtin_msa_maddv_h, "V8SsV8SsV8SsV8Ss", "nc")
  495. BUILTIN(__builtin_msa_maddv_w, "V4SiV4SiV4SiV4Si", "nc")
  496. BUILTIN(__builtin_msa_maddv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
  497. BUILTIN(__builtin_msa_max_a_b, "V16ScV16ScV16Sc", "nc")
  498. BUILTIN(__builtin_msa_max_a_h, "V8SsV8SsV8Ss", "nc")
  499. BUILTIN(__builtin_msa_max_a_w, "V4SiV4SiV4Si", "nc")
  500. BUILTIN(__builtin_msa_max_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
  501. BUILTIN(__builtin_msa_max_s_b, "V16ScV16ScV16Sc", "nc")
  502. BUILTIN(__builtin_msa_max_s_h, "V8SsV8SsV8Ss", "nc")
  503. BUILTIN(__builtin_msa_max_s_w, "V4SiV4SiV4Si", "nc")
  504. BUILTIN(__builtin_msa_max_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  505. BUILTIN(__builtin_msa_max_u_b, "V16UcV16UcV16Uc", "nc")
  506. BUILTIN(__builtin_msa_max_u_h, "V8UsV8UsV8Us", "nc")
  507. BUILTIN(__builtin_msa_max_u_w, "V4UiV4UiV4Ui", "nc")
  508. BUILTIN(__builtin_msa_max_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  509. BUILTIN(__builtin_msa_maxi_s_b, "V16ScV16ScIi", "nc")
  510. BUILTIN(__builtin_msa_maxi_s_h, "V8SsV8SsIi", "nc")
  511. BUILTIN(__builtin_msa_maxi_s_w, "V4SiV4SiIi", "nc")
  512. BUILTIN(__builtin_msa_maxi_s_d, "V2SLLiV2SLLiIi", "nc")
  513. BUILTIN(__builtin_msa_maxi_u_b, "V16UcV16UcIi", "nc")
  514. BUILTIN(__builtin_msa_maxi_u_h, "V8UsV8UsIi", "nc")
  515. BUILTIN(__builtin_msa_maxi_u_w, "V4UiV4UiIi", "nc")
  516. BUILTIN(__builtin_msa_maxi_u_d, "V2ULLiV2ULLiIi", "nc")
  517. BUILTIN(__builtin_msa_min_a_b, "V16ScV16ScV16Sc", "nc")
  518. BUILTIN(__builtin_msa_min_a_h, "V8SsV8SsV8Ss", "nc")
  519. BUILTIN(__builtin_msa_min_a_w, "V4SiV4SiV4Si", "nc")
  520. BUILTIN(__builtin_msa_min_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
  521. BUILTIN(__builtin_msa_min_s_b, "V16ScV16ScV16Sc", "nc")
  522. BUILTIN(__builtin_msa_min_s_h, "V8SsV8SsV8Ss", "nc")
  523. BUILTIN(__builtin_msa_min_s_w, "V4SiV4SiV4Si", "nc")
  524. BUILTIN(__builtin_msa_min_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  525. BUILTIN(__builtin_msa_min_u_b, "V16UcV16UcV16Uc", "nc")
  526. BUILTIN(__builtin_msa_min_u_h, "V8UsV8UsV8Us", "nc")
  527. BUILTIN(__builtin_msa_min_u_w, "V4UiV4UiV4Ui", "nc")
  528. BUILTIN(__builtin_msa_min_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  529. BUILTIN(__builtin_msa_mini_s_b, "V16ScV16ScIi", "nc")
  530. BUILTIN(__builtin_msa_mini_s_h, "V8SsV8SsIi", "nc")
  531. BUILTIN(__builtin_msa_mini_s_w, "V4SiV4SiIi", "nc")
  532. BUILTIN(__builtin_msa_mini_s_d, "V2SLLiV2SLLiIi", "nc")
  533. BUILTIN(__builtin_msa_mini_u_b, "V16UcV16UcIi", "nc")
  534. BUILTIN(__builtin_msa_mini_u_h, "V8UsV8UsIi", "nc")
  535. BUILTIN(__builtin_msa_mini_u_w, "V4UiV4UiIi", "nc")
  536. BUILTIN(__builtin_msa_mini_u_d, "V2ULLiV2ULLiIi", "nc")
  537. BUILTIN(__builtin_msa_mod_s_b, "V16ScV16ScV16Sc", "nc")
  538. BUILTIN(__builtin_msa_mod_s_h, "V8SsV8SsV8Ss", "nc")
  539. BUILTIN(__builtin_msa_mod_s_w, "V4SiV4SiV4Si", "nc")
  540. BUILTIN(__builtin_msa_mod_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  541. BUILTIN(__builtin_msa_mod_u_b, "V16UcV16UcV16Uc", "nc")
  542. BUILTIN(__builtin_msa_mod_u_h, "V8UsV8UsV8Us", "nc")
  543. BUILTIN(__builtin_msa_mod_u_w, "V4UiV4UiV4Ui", "nc")
  544. BUILTIN(__builtin_msa_mod_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  545. BUILTIN(__builtin_msa_move_v, "V16ScV16Sc", "nc")
  546. BUILTIN(__builtin_msa_msub_q_h, "V8SsV8SsV8SsV8Ss", "nc")
  547. BUILTIN(__builtin_msa_msub_q_w, "V4SiV4SiV4SiV4Si", "nc")
  548. BUILTIN(__builtin_msa_msubr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
  549. BUILTIN(__builtin_msa_msubr_q_w, "V4SiV4SiV4SiV4Si", "nc")
  550. BUILTIN(__builtin_msa_msubv_b, "V16ScV16ScV16ScV16Sc", "nc")
  551. BUILTIN(__builtin_msa_msubv_h, "V8SsV8SsV8SsV8Ss", "nc")
  552. BUILTIN(__builtin_msa_msubv_w, "V4SiV4SiV4SiV4Si", "nc")
  553. BUILTIN(__builtin_msa_msubv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
  554. BUILTIN(__builtin_msa_mul_q_h, "V8SsV8SsV8Ss", "nc")
  555. BUILTIN(__builtin_msa_mul_q_w, "V4SiV4SiV4Si", "nc")
  556. BUILTIN(__builtin_msa_mulr_q_h, "V8SsV8SsV8Ss", "nc")
  557. BUILTIN(__builtin_msa_mulr_q_w, "V4SiV4SiV4Si", "nc")
  558. BUILTIN(__builtin_msa_mulv_b, "V16ScV16ScV16Sc", "nc")
  559. BUILTIN(__builtin_msa_mulv_h, "V8SsV8SsV8Ss", "nc")
  560. BUILTIN(__builtin_msa_mulv_w, "V4SiV4SiV4Si", "nc")
  561. BUILTIN(__builtin_msa_mulv_d, "V2SLLiV2SLLiV2SLLi", "nc")
  562. BUILTIN(__builtin_msa_nloc_b, "V16ScV16Sc", "nc")
  563. BUILTIN(__builtin_msa_nloc_h, "V8SsV8Ss", "nc")
  564. BUILTIN(__builtin_msa_nloc_w, "V4SiV4Si", "nc")
  565. BUILTIN(__builtin_msa_nloc_d, "V2SLLiV2SLLi", "nc")
  566. BUILTIN(__builtin_msa_nlzc_b, "V16ScV16Sc", "nc")
  567. BUILTIN(__builtin_msa_nlzc_h, "V8SsV8Ss", "nc")
  568. BUILTIN(__builtin_msa_nlzc_w, "V4SiV4Si", "nc")
  569. BUILTIN(__builtin_msa_nlzc_d, "V2SLLiV2SLLi", "nc")
  570. BUILTIN(__builtin_msa_nor_v, "V16UcV16UcV16Uc", "nc")
  571. BUILTIN(__builtin_msa_nori_b, "V16UcV16cIUi", "nc")
  572. BUILTIN(__builtin_msa_or_v, "V16UcV16UcV16Uc", "nc")
  573. BUILTIN(__builtin_msa_ori_b, "V16UcV16UcIUi", "nc")
  574. BUILTIN(__builtin_msa_pckev_b, "V16cV16cV16c", "nc")
  575. BUILTIN(__builtin_msa_pckev_h, "V8sV8sV8s", "nc")
  576. BUILTIN(__builtin_msa_pckev_w, "V4iV4iV4i", "nc")
  577. BUILTIN(__builtin_msa_pckev_d, "V2LLiV2LLiV2LLi", "nc")
  578. BUILTIN(__builtin_msa_pckod_b, "V16cV16cV16c", "nc")
  579. BUILTIN(__builtin_msa_pckod_h, "V8sV8sV8s", "nc")
  580. BUILTIN(__builtin_msa_pckod_w, "V4iV4iV4i", "nc")
  581. BUILTIN(__builtin_msa_pckod_d, "V2LLiV2LLiV2LLi", "nc")
  582. BUILTIN(__builtin_msa_pcnt_b, "V16ScV16Sc", "nc")
  583. BUILTIN(__builtin_msa_pcnt_h, "V8SsV8Ss", "nc")
  584. BUILTIN(__builtin_msa_pcnt_w, "V4SiV4Si", "nc")
  585. BUILTIN(__builtin_msa_pcnt_d, "V2SLLiV2SLLi", "nc")
  586. BUILTIN(__builtin_msa_sat_s_b, "V16ScV16ScIUi", "nc")
  587. BUILTIN(__builtin_msa_sat_s_h, "V8SsV8SsIUi", "nc")
  588. BUILTIN(__builtin_msa_sat_s_w, "V4SiV4SiIUi", "nc")
  589. BUILTIN(__builtin_msa_sat_s_d, "V2SLLiV2SLLiIUi", "nc")
  590. BUILTIN(__builtin_msa_sat_u_b, "V16UcV16UcIUi", "nc")
  591. BUILTIN(__builtin_msa_sat_u_h, "V8UsV8UsIUi", "nc")
  592. BUILTIN(__builtin_msa_sat_u_w, "V4UiV4UiIUi", "nc")
  593. BUILTIN(__builtin_msa_sat_u_d, "V2ULLiV2ULLiIUi", "nc")
  594. BUILTIN(__builtin_msa_shf_b, "V16cV16cIUi", "nc")
  595. BUILTIN(__builtin_msa_shf_h, "V8sV8sIUi", "nc")
  596. BUILTIN(__builtin_msa_shf_w, "V4iV4iIUi", "nc")
  597. BUILTIN(__builtin_msa_sld_b, "V16cV16cV16cUi", "nc")
  598. BUILTIN(__builtin_msa_sld_h, "V8sV8sV8sUi", "nc")
  599. BUILTIN(__builtin_msa_sld_w, "V4iV4iV4iUi", "nc")
  600. BUILTIN(__builtin_msa_sld_d, "V2LLiV2LLiV2LLiUi", "nc")
  601. BUILTIN(__builtin_msa_sldi_b, "V16cV16cV16cIUi", "nc")
  602. BUILTIN(__builtin_msa_sldi_h, "V8sV8sV8sIUi", "nc")
  603. BUILTIN(__builtin_msa_sldi_w, "V4iV4iV4iIUi", "nc")
  604. BUILTIN(__builtin_msa_sldi_d, "V2LLiV2LLiV2LLiIUi", "nc")
  605. BUILTIN(__builtin_msa_sll_b, "V16cV16cV16c", "nc")
  606. BUILTIN(__builtin_msa_sll_h, "V8sV8sV8s", "nc")
  607. BUILTIN(__builtin_msa_sll_w, "V4iV4iV4i", "nc")
  608. BUILTIN(__builtin_msa_sll_d, "V2LLiV2LLiV2LLi", "nc")
  609. BUILTIN(__builtin_msa_slli_b, "V16cV16cIUi", "nc")
  610. BUILTIN(__builtin_msa_slli_h, "V8sV8sIUi", "nc")
  611. BUILTIN(__builtin_msa_slli_w, "V4iV4iIUi", "nc")
  612. BUILTIN(__builtin_msa_slli_d, "V2LLiV2LLiIUi", "nc")
  613. BUILTIN(__builtin_msa_splat_b, "V16cV16cUi", "nc")
  614. BUILTIN(__builtin_msa_splat_h, "V8sV8sUi", "nc")
  615. BUILTIN(__builtin_msa_splat_w, "V4iV4iUi", "nc")
  616. BUILTIN(__builtin_msa_splat_d, "V2LLiV2LLiUi", "nc")
  617. BUILTIN(__builtin_msa_splati_b, "V16cV16cIUi", "nc")
  618. BUILTIN(__builtin_msa_splati_h, "V8sV8sIUi", "nc")
  619. BUILTIN(__builtin_msa_splati_w, "V4iV4iIUi", "nc")
  620. BUILTIN(__builtin_msa_splati_d, "V2LLiV2LLiIUi", "nc")
  621. BUILTIN(__builtin_msa_sra_b, "V16cV16cV16c", "nc")
  622. BUILTIN(__builtin_msa_sra_h, "V8sV8sV8s", "nc")
  623. BUILTIN(__builtin_msa_sra_w, "V4iV4iV4i", "nc")
  624. BUILTIN(__builtin_msa_sra_d, "V2LLiV2LLiV2LLi", "nc")
  625. BUILTIN(__builtin_msa_srai_b, "V16cV16cIUi", "nc")
  626. BUILTIN(__builtin_msa_srai_h, "V8sV8sIUi", "nc")
  627. BUILTIN(__builtin_msa_srai_w, "V4iV4iIUi", "nc")
  628. BUILTIN(__builtin_msa_srai_d, "V2LLiV2LLiIUi", "nc")
  629. BUILTIN(__builtin_msa_srar_b, "V16cV16cV16c", "nc")
  630. BUILTIN(__builtin_msa_srar_h, "V8sV8sV8s", "nc")
  631. BUILTIN(__builtin_msa_srar_w, "V4iV4iV4i", "nc")
  632. BUILTIN(__builtin_msa_srar_d, "V2LLiV2LLiV2LLi", "nc")
  633. BUILTIN(__builtin_msa_srari_b, "V16cV16cIUi", "nc")
  634. BUILTIN(__builtin_msa_srari_h, "V8sV8sIUi", "nc")
  635. BUILTIN(__builtin_msa_srari_w, "V4iV4iIUi", "nc")
  636. BUILTIN(__builtin_msa_srari_d, "V2LLiV2LLiIUi", "nc")
  637. BUILTIN(__builtin_msa_srl_b, "V16cV16cV16c", "nc")
  638. BUILTIN(__builtin_msa_srl_h, "V8sV8sV8s", "nc")
  639. BUILTIN(__builtin_msa_srl_w, "V4iV4iV4i", "nc")
  640. BUILTIN(__builtin_msa_srl_d, "V2LLiV2LLiV2LLi", "nc")
  641. BUILTIN(__builtin_msa_srli_b, "V16cV16cIUi", "nc")
  642. BUILTIN(__builtin_msa_srli_h, "V8sV8sIUi", "nc")
  643. BUILTIN(__builtin_msa_srli_w, "V4iV4iIUi", "nc")
  644. BUILTIN(__builtin_msa_srli_d, "V2LLiV2LLiIUi", "nc")
  645. BUILTIN(__builtin_msa_srlr_b, "V16cV16cV16c", "nc")
  646. BUILTIN(__builtin_msa_srlr_h, "V8sV8sV8s", "nc")
  647. BUILTIN(__builtin_msa_srlr_w, "V4iV4iV4i", "nc")
  648. BUILTIN(__builtin_msa_srlr_d, "V2LLiV2LLiV2LLi", "nc")
  649. BUILTIN(__builtin_msa_srlri_b, "V16cV16cIUi", "nc")
  650. BUILTIN(__builtin_msa_srlri_h, "V8sV8sIUi", "nc")
  651. BUILTIN(__builtin_msa_srlri_w, "V4iV4iIUi", "nc")
  652. BUILTIN(__builtin_msa_srlri_d, "V2LLiV2LLiIUi", "nc")
  653. BUILTIN(__builtin_msa_st_b, "vV16Scv*Ii", "nc")
  654. BUILTIN(__builtin_msa_st_h, "vV8Ssv*Ii", "nc")
  655. BUILTIN(__builtin_msa_st_w, "vV4Siv*Ii", "nc")
  656. BUILTIN(__builtin_msa_st_d, "vV2SLLiv*Ii", "nc")
  657. BUILTIN(__builtin_msa_str_d, "vV2SLLiv*Ii", "nc")
  658. BUILTIN(__builtin_msa_str_w, "vV4Siv*Ii", "nc")
  659. BUILTIN(__builtin_msa_subs_s_b, "V16ScV16ScV16Sc", "nc")
  660. BUILTIN(__builtin_msa_subs_s_h, "V8SsV8SsV8Ss", "nc")
  661. BUILTIN(__builtin_msa_subs_s_w, "V4SiV4SiV4Si", "nc")
  662. BUILTIN(__builtin_msa_subs_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
  663. BUILTIN(__builtin_msa_subs_u_b, "V16UcV16UcV16Uc", "nc")
  664. BUILTIN(__builtin_msa_subs_u_h, "V8UsV8UsV8Us", "nc")
  665. BUILTIN(__builtin_msa_subs_u_w, "V4UiV4UiV4Ui", "nc")
  666. BUILTIN(__builtin_msa_subs_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
  667. BUILTIN(__builtin_msa_subsus_u_b, "V16UcV16UcV16Sc", "nc")
  668. BUILTIN(__builtin_msa_subsus_u_h, "V8UsV8UsV8Ss", "nc")
  669. BUILTIN(__builtin_msa_subsus_u_w, "V4UiV4UiV4Si", "nc")
  670. BUILTIN(__builtin_msa_subsus_u_d, "V2ULLiV2ULLiV2SLLi", "nc")
  671. BUILTIN(__builtin_msa_subsuu_s_b, "V16ScV16UcV16Uc", "nc")
  672. BUILTIN(__builtin_msa_subsuu_s_h, "V8SsV8UsV8Us", "nc")
  673. BUILTIN(__builtin_msa_subsuu_s_w, "V4SiV4UiV4Ui", "nc")
  674. BUILTIN(__builtin_msa_subsuu_s_d, "V2SLLiV2ULLiV2ULLi", "nc")
  675. BUILTIN(__builtin_msa_subv_b, "V16cV16cV16c", "nc")
  676. BUILTIN(__builtin_msa_subv_h, "V8sV8sV8s", "nc")
  677. BUILTIN(__builtin_msa_subv_w, "V4iV4iV4i", "nc")
  678. BUILTIN(__builtin_msa_subv_d, "V2LLiV2LLiV2LLi", "nc")
  679. BUILTIN(__builtin_msa_subvi_b, "V16cV16cIUi", "nc")
  680. BUILTIN(__builtin_msa_subvi_h, "V8sV8sIUi", "nc")
  681. BUILTIN(__builtin_msa_subvi_w, "V4iV4iIUi", "nc")
  682. BUILTIN(__builtin_msa_subvi_d, "V2LLiV2LLiIUi", "nc")
  683. BUILTIN(__builtin_msa_vshf_b, "V16cV16cV16cV16c", "nc")
  684. BUILTIN(__builtin_msa_vshf_h, "V8sV8sV8sV8s", "nc")
  685. BUILTIN(__builtin_msa_vshf_w, "V4iV4iV4iV4i", "nc")
  686. BUILTIN(__builtin_msa_vshf_d, "V2LLiV2LLiV2LLiV2LLi", "nc")
  687. BUILTIN(__builtin_msa_xor_v, "V16cV16cV16c", "nc")
  688. BUILTIN(__builtin_msa_xori_b, "V16cV16cIUi", "nc")
  689. #undef BUILTIN